<!doctype linuxdoc system>
  <article>

      <title>Wearable-HOWTO.

      <author>Lionel, trollhunter Bouchpan-Lerust-Ju&eacute;ry
 <htmlurl url ="mailto:trollhunter@linuxfr.org" name="&lt;trollhunter@linuxfr.org&gt;">

      <date>v0.0.9 November 2000

      <abstract>
Nomadism is one of the major trends of our society, now most of the people
can work with a laptop computer, but few did the next step: to live,
or if you prefer to wear one computer that is a wearable. 
</abstract>

    <toc>



    <sect>Foreword
      <p>
I am not a guru in wearable computing, simply after some years
using HP95LX and HP200LX palmtop computers more like  wearables than like a PDA ( thanks to DOS
5, the HP200LX even allowed me to do a semester CS project using turbo pascal
while commuting in  
the subway ),  and living with a palm IIIx and a laptop running Linux,
to me the next step is having a wearable running Linux, thus I have
spent more than a year reading various informations on wearable and
taking a little part in the wear-hard mailing list. As more an more
people will be interested in the wearable concept I have decided to 
start this HOWTO in order to help them ( At the time of this writing
I am building my own 
wearable using my laptop ( Toshiba 430CDT ) with a twiddler keyboard, emacspeak, 
and camcorders batteries. )
      <p>
Some people may, at least, be surprised to find the &quot;In the army now&quot;
section so I would like to explain my position: I am trying to write this
HOWTO both as a journalist and a scientist would do: this implies as a 
journalist to
look for information from every source available, and as a scientist
to be neutral: and as the US Army is willing to purchase more than
30.000 units one can hardly overlook this user group.
This document is  intended to be the
starting point of a long term work. If you have any information ( that
can be checked ) that you think is of interest, do not hesitate
contact me. 
      <p>


    <sect>What is a Wearable anyway ? 
      <p>
Well, as it name implies a wearable is a computer you are supposed to
wear, actually very few wearables fill this definition. On a more
practical point of view one can define a wearable as a computer you can
use on the run relying only on its  power supply ( see the power
supply section for more information ). So with such a definition PDAs, 
palmcomputers, customized laptops are wearables too. As Wearable
computing is a new field, there is no standard definition for a
Wearable computer, but you may find Professor Steve Mann's definition very
. To me medical devices such as pacemakers too are Wearable computers
and they don't fit in Professor Steve Mann's 
<url url="http://wearcomp.org/wearcompdef.html" 
	  name="definition"> 
 ( actually Professor Steve Mann is one of the Pionneers in Wearable
 computing ) On the Wearcomp website there is also a  <url
 url="http://wearcomp.org/wearcompfaq.html" 
	  name=" FAQ "> trying to
 define what a Wearable is.  
      <p>
I am not a specialist in wearables, simply I have a very strong
interest in nomadic computing and I studying a lot its implementations
both from a technical point of view and from the way nomadic computing
is going to change our every day life and the way we interacts as we
are getting more and more connected.
      <p>
This text is included in the LINUX DOCUMENTATION PROJECT 
<url url="http://www.linuxdoc.org/HOWTO" name="http://www.linuxdoc.org/HOWTO"> .
      <p>
The latest version of this document is available in HTML format at
<url
	  url="http://infonomade.linuxfr.org/wearable/Wearable-HOWTO.html" 
	  name=" http://infonomade.linuxfr.org/Wearable-HOWTO.html">
or at 
<htmlurl
url="http://www.thewearables.com/mirrors/Wearable-HOWTO/Wearable-HOWTO.html"
name="http://www.thewearables.com/mirrors/Wearable-HOWTO/Wearable-HOWTO.html">

, you can
retrieve 
the postcript format at 

<htmlurl
url="http://www.thewearables.com/mirrors/Wearable-HOWTO/Wearable-HOWTO.ps.gz"
name="http://www.thewearables.com/mirrors/Wearable-HOWTO/Wearable-HOWTO.ps.gz">

      <p>
 If you wish to mirror it or to 
translate it, please contact me.
      <p>
Lionel, Trollhunter Bouchpan-Lerust-Ju&eacute;ry 
<htmlurl url ="mailto:trollhunter@linuxfr.org" name="&lt;trollhunter@linuxfr.org&gt;">
or at <htmlurl url="mailto:boucli27@altavista.net" 
	  name="&lt;boucli27@altavista.net&gt;">


    <sect>Advocacy
      <p>
Some people may want to know why you want to build a wearable or you may have
to sell your idea to the people who are responsible for the purchase.
Here are some ideas you may use.
      <p>
      <sect1>Why ?
	<p>
Because, you want to experiment by yourself, because you think that
Human Computer Interaction is not a matter of designing the n-th
windowmanager, because you feel that enhanced reality is the cutting
edge of your evolution. 
	<p>

      <sect1>The Wearable concept is not a revolution, it is just an evolution.
	<p>
Some people are afraid of revolutionary or so called products, thus
the good news is that the wearable may look like a revolutionary
concept but it is actually just an evolution of the computing hardware.
Let me explain that~: At first there was the Mainframe, then came the
desktop computer enabling people to work in their office, latter the
PC enabled these people to work at home too, as time passed the
portable PC enabled people to work in a Hotel room, or everywhere they 
could find a power plug ( yes an Osborne or an IBM's convertible were
definitively not laptop computers ), at the same time some pocket
computers appeared on the market : Sharp PC1500, Canon X07, Casio
PB100 then the first one weighted less and less, the second one
disappeared but the LCD screen was, with other things their legacy
allowing the laptop to emerge, as the laptop went mainstream, 
its size went smaller allowing people to work in the train, at the
library ..., then palmtop PC's such as the HP95LX and PDA's appeared,
( at this time the most successful is
the PalmPilot family and its clones ) allowing people to work on the
move, so the wearable is just the next step in this move towards
miniaturization. 
( If you want to learn more about Laptops and Linux you should read
the Laptop-HOWTO, the latest version can be found at Werner's Heuser 
<url
	    url="http://www.snafu.de/~wehe/index_li.html"
	    name=" Homepage "> )
      <sect1>The Wearable may give its user an edge.
	<p> 
In today's competitive world it is very important to get an edge over
the other company, thus for example in a plane repair company the
engineers who are using wearables do not waste time in asking for
blueprints but instead have the blueprint and the technical data at
will while performing their job, thus they will be able to repair the
planes faster. You may choose an example in your job.

      <sect1>The Wearable concept: a stealth menace.
	<p>
When they made their first appearance on the market, some products or technologies
were, to say the least, less than perfect. This is a stealth menace,
if you read Clayton Christensen's book "The innovator's dilemma: when
new technologies cause great firms to fail" or Andy's Grove "Only the
paranoid survives" you will see that some corporations that relies on
a product and that have a king of the hill may fall down because they
overlooked a new product/technology that was clumsy at its beginning
and was at first in a market niche, then the contender took over the market.

      <sect1>Wearable computing: an emerging industry.
	<p>
The people who decide to fund your project are not always very found about technical
details, thus you will have to use other arguments, otherwise your pet 
project will be sent to /dev/null.
If one reads again chapter 2 of AP Sloan's book: "My years with
General Motors" it is obvious that the Wearable industry is 
going into the same changes as did the automobile industry in the US
at the turn of the century~: it turned from a Hobby with some small
manufacturers to a mass market Industry. It took nearly 30 years to
the automobile industry to change, but the wearable industry should
have done this changes in less than 5 years, so if they don't invest
on this product others will do. 

    <sect>What CPU ?
      <p>
      <sect1>PDA based Wearables
	<p>
Usually they use non Intel CPU ( except the HP95/100/200LX )
See the PalmPilot : a new breed of wearables section.
	<p>
      <sect1>PC/104 and laptop based Wearables.
	<p>
Theses devices are using usually an Intel or Intel compatible CPU.
Some model even feature a <tt>Cyrix Media GX CPU</tt>.
	<p>
	<sect2>What is PC/104 ?
	  <p>
PC/104 is an industrial standard, for PC based systems
that can be stacked together in order to create an embedded system.
The footprint of theses boards is 4"x4" so as you can see it is a
good base in order to start a wearable project.
	  <p>
	<sect2>What about PC/104-plus ?
	  <p>
It is a PCI addition to the PC/104 standard.
you can read the <url
	      url="http://www.controlled.com/pc104faq"
	      name="PC-104 FAQ">
<sect1>Transmeta's processor the Crusoe.
<p>
It seems that Transmeta hasn't build the fastest chip on the
market but has indeed focused on power saving making its processor and
ideal choice for a wearable project, moreover it seems that
motherboards will be available very soon as Phoenix Bios released
their Bios for this chip.
      <sect1>Misc
	<p>
Last year there were some alpha based Multia sold for around $100,
but it seemed AFAIK that nobody ever managed to build a wearable
around one of theses devices.

    <sect>Power supply
      <p>
There is plenty of choice as long as you use batteries. But be careful 
__NEVER__ use liquid acid filled batteries it is a Health Hazard for
this application.
<p>

Now the four main sources for information on batteries and batteries are:
<itemize>
<item>The <url
	      url="http://www.sanyobatteries.net/NEWprodsIND.html"
	      name="Sanyo batteries"></item>
<item>The camcorders batteries; you may browse
<itemize>
<item>
<url
	      url="http://www.usa.canon.com/camcambin/camcorders/8mm/"
	      name="Canon">
 </item>
<item>
<url
	      url="http://www.hitachi.com/products/consumer/audiovisual/"
	      name="Hitachi">
 </item>
<item> 
<url
	      url="http://www.jvc-victor.co.jp/english/vacc/chart/power.html"
	      name="JVC batteries"> 

 </item>
<item>
<url
	      url="http://www.panasonic.com/host/consumer.html"
	      name="Panasonic">

 </item>
<item>
<url
	      url="http://www.sel.sony.com/SEL/rmeg/batteries/"
	      name="Sony batteries">
</item>
</itemize>
and other manufacturer's websites</item>
<item>The hoby models manufacturers such as
<itemize>
<item>
<url
	      url="http://www2.graupner.com/"
	      name="Graupner">

 </item>
<item>
<url
	      url="http://www.robbe.de/en/index.html"
	      name="Robbe">

 </item>
<item>
<url
	      url="http://www.tamiya.com/english/rc/rcitem/kit/kitb1.htm"
	      name="Tamya">

 </item>


</itemize>
</item>
<item>
<url
	      url="http://www.radioshack.com/"
	      name="Radioshack">
</item>
</itemize>  
    <sect>OS.
      <p>
For the people whose Wearable is based on a PDA, there is little
choice : most of the time they have to do with the PDA's manufacturer
OS, AFAIK Linux on Psion series 5 is not mainstream.
a commercial solution called WindStone primary targeted to palmpilots
with a project to port it to ARM based computers it is made by
 <url url="http://www.oski.co.kr/"
	  name="OSK">, so
 and see. For <url
	  url="http://www.freebsd.org/~imp/pdamips.html"
	  name=" Mips based PDA "> type; some of them seem to be able to 
run <url url="http://www.netbsd.org"
	  name="NetBSD"> ( it is a member of the *BSD family of
	  unices running on a lot of platforms ). 

      <p>
For those using a PC derivative, the choice seems to be between
Microsoft products or Linux, 
Well,  Microsoft products are not exactly the best choice and
DEBIAN/GNU Linux is the winner ( I don't think that for general
purposes one has to use a posix .4 compliant kernel ).
      <p>
There is another contender 
<url url="http://www.qnx.com"
	  name="QNX">, but is more industrial oriented, so for
hobby or research it is not the best choice.
    
    <sect>The Sulawesi project.
      <p>

Sulawesi:  An intelligent user interface system for ubquitous computing.
<sect1>Background
<p>
A few years ago, wearable computers were dedicated systems constructed
by and for a single person. The machine was customised to suit the owners
personal preferences using alternative input/output devices to achieve
different interaction techniques, and until now most of the interfaces
used on these machines have been an amalgamation of existing desktop user
interface systems and novel input/output devices.
<p>The ideal human-computer interface for use in a mobile/ubiquitous environment
would be one which listens for its user, understands what the user has
asked it to do using speech recognition, gestures, machine vision and other
channels of information, carried out the users request automatically, and
presented the results back to the user when it is most appropriate and
in a suitable format. For example; a machine which could monitor the users
respiratory levels, heart rate and movement, the user could ask ``when
I fall asleep could you turn off those &lt;user pointing> lights''. This
type of interaction with a mobile device or an ubiquitous environment,
using spoken sentences and gestures, fall under the category of multi-modal
and intelligent user interfaces; and Sulawesi is a framework which provides
a basic multimodal development system.
<p>
<sect1>The Sulawesi Architecture
<p>
The Sulawesi system that has been designed comprises of three distinct
parts,
<itemize>
<item>
An input stage, which gathers raw data from the various sensors.
</item>
<item>
A core stage, which contains a natural language processing module and service
agents.
</item>
<item>
An output stage, which decides how to render the results from the service
agents.
</item>

</itemize>
Programming API's allow third partys to create new input, service and output
modules and integrate them with Sulawesi.
<sect2>The input stage
<p>
The system gathers real world information through a well defined API. The
current implementation includes a keyboard input, a network input, a speech
recognition input, a video camera input, a G.P.S. input and infra-red input.
The inputs do not do any pre-processing of the data, they only provide
the raw data to the core of the system for interpretation by the services
within.

<sect2>The core stage
<p>
The core of the system contains a basic natural language processor which
performs sentence translations. This converts a sentence into a command
stream from which two pieces of information are extracted, which service
to invoke and how the output should be rendered. A service manager is responsible
for the instantiation and monitoring of the services, it also checkpoints
commands to try and provide some kind of resiliance against system failures.
The services produce, where possible, a modal neutral output which can
be send to the output stage for processing.

<sect2>The output stage
<p>The output stage takes a modal neutral result from a service and makes
a decision on how to render the information. The decision is made based
on two criteria, what the user has asked for, and how the system percieves
the users current context/environment.
<p>If the user has asked to be shown a piece of information, this implies
a visual rendition. If the system detects that the user is moving at speed
(through the input sensors) an assumption can be made that the user attention
might be distracted if a screen with the results in is displayed in front
of them. (imagine what would happen if the user was driving!).. In this
case the system will override the users request and would redirect the
results to a more suitable renderer, such as speech.

<sect1>Sentence translations
<p>
When humans recognise speech they do not understand every word in a sentence,
sometimes words are misheard or a distraction prevents the whole sentence
from being heard. A human can infer what has been said from the other words
around the ones missed in a sentence, this is not always sucessfull but
in most cases it is satisfactory for the understanding of a conversation.
This type of sentence decoding has been called semi-natural language processing
and has been implemented using a few basic rules, the example below explains
how the system converts human understandable sentences into commands that
the system understands :
<itemize>
<item>
<tt>could you show me what the time is</tt>
</item>
<item>
<tt>I would like you to tell me the time</tt>
</item>
</itemize>
It can be argued that in practice these sentences result in similar information
being relayed to a user. The request is for the machines interpretation
of the time to be sent to an appropriate output channel, the result is
the user receiving the knowledge of what the time is. Closer inspection
reveals that almost all the data in the sentences can be thrown away and
the request can still be inferred from the resulting information.

<itemize>
<item>
<tt>show time</tt>
</item>

<item>
<tt>tell time</tt>
</item>
</itemize>
In the example above there has been a reduction to 1/4 and 2/9 of the number
of words (data) in the sentences, while it can be argued that close to
100% of the information content is still intact.
<p>The system implemented allows sentences to be processed and interpreted.
The semi-natural language processing is achieved through a self generated
lookup table of services and a language transformation table.
<p>The service names have to be unique (due to the restrictions on the
file system) and this provides a simple mechanism to match a service such
as ``time'' within a sentence. It is impractical and almost impossible
to hard code all predefined language transformations, and such a system
would not be easily adaptable to diverse situations. The use of lookup
tables provides a small and efficient way in which a user can customise
the system to their own personal preferences without having to re-program
or re-compile the sentence understanding code. The system knows what the
words '<tt>show</tt>' and '<tt>tell</tt>' mean in the sentences by referring
to the lookup table to determine which output renderer the results should
be sent to.
<p>
Example of a lookup file.
<verb>
|tell|speak| 
|read|speak| 
|show|text| 
|display|text| 
|EOF| 
</verb>
The top entry in this lookup table specifies that the first time the
word "say" is encountered in a sentence the results of the service should
be sent to the "speak" output renderer.
<p>The use of lookup tables inherently restricts the use of sentences,
in order to create a sentence which is to be understood the following rule
must be adhered to.
<verb>
<render type> <service name> <service arguments> 
</verb>

<sect1>Summary
<p>
The above system enables a sentence like ``I would like you to turn the
lights on when it gets dark''. The system interprets the sentence as a
request to invoke the `light' service and to render the output using some
kind of light controller device to turn on or off the lights. There are
two points which need to be emphasised here, the first is on the machine
inferring a meaning from a relatively natural sentence rather than the
user having to adapt to the machine and remember complex commands or manipulate
a user interface. The second is on the machine being asked to perform a
certain task when certain conditions are met in the real world, ``when
it gets dark'' requests that when the computers interpretation of the current
lighting conditions cross a certain threshold, it should respond and send
a message to the light controller output.
<p>The Sulawesi system provides the flexability to achieve this type of
interaction but it does not provide the underlying mechanisms for controlling
lighting circuits, that's the part you have to code up ;)..

<p>Online documentation and downloads can be found here:-
<url url="http://wearables.essex.ac.uk/sulawesi/"
 name="http://wearables.essex.ac.uk/sulawesi/">


<sect> <tt>CLI</tt> only
<p>

<sect1> What is <tt>CLI</tt>?
<p>

<tt>CLI</tt> is a shorthand to the Comand Line Interface. When you are
installing Linux on your computer without X, you will work in <tt>CLI</tt>-mode! Perhaps
you will shout "oh... that's horrible", but your computer will shout "yeah... I
have more %CPU and %mem to work and to play!".

<sect1> Why does one talk about <tt>CLI</tt> here?

<p>
Some wearables may have problems with graphics chipsets, disk and memory space and battery-life.  If you work in
text-mode, you will save battery-life and disk usage as well as lot of memory and CPU Cycles. And if you don't
have to install graphic interfaces, you will save a little disk-space
too. Consequently, 
you gain some space for your data. But you
may feel that in text-mode, nothing can be done.  As you will see the same things can 
be done in text-mode and graphic environment. Only things are thought
differently.

<sect1> What can be done in text-mode?
<p>
We have to think with what we have few programs who can
communicate between them by input/output canals. This type of
environment implies that we must use all our fingers to work,  we can even get rid of the mouse.
As in <tt>X</tt>, you have editors (<tt>Vi</tt>, <tt>Emacs</tt>, 
<tt>Jed</tt>...), games ( BTW wearables are 
the game by themselves ), viewers/browsers ( <tt>?less</tt>, <tt>?more</tt>, <tt>lynx</tt>, <tt>links</tt>
...), file
managers ( <tt>mc</tt>...) and more. Also, some people may believe that <tt>CLI</tt> is cool but
it's difficult to learn all configurations and options of all
commands. The learning curve is acutally steeper, but when you have learnt that, you will work
faster and the faster the work is done the better it is with a wearable
. We'll see examples which accelerate our personal work.
<sect1> Bunch of utilities
<p>
<sect2> Shell and script-language

<p>
Bases of <tt>UNIX</tt> are its powerful shells. With shells you can do more
than the poor batch-language of Microsoft.
<tt>UNIX</tt> gives a lot of powerful shells (<tt>tcsh</tt>, <tt>ksh</tt>, <tt>bash</tt>...),
 but I always
work with <tt>sh</tt>. I know it is old and less featured than its big brothers
but it is on every Unices. In <tt>sh</tt>, there are often used
functions/commands (<tt>echo</tt>, <tt>test</tt>). Why do I say that? You can notice
that <tt>GNU</tt> gives a program <tt>echo</tt> and <tt>test</tt> and I say: "if we can eliminate
these programs, we can free disk-space... ok, not too much but about
20k.". And some versions of <tt>sh</tt> are very economical.
The language of shell (script) is like a small programming language:
you can used loops (<tt>for</tt>, <tt>while</tt>), user interactions (<tt>read</tt>), 
I/O (<
>)... To learn scripting, you just have to type: <tt>man sh</tt> (or <tt>tcsh</tt>.... but
more complex...).
Stupid example of a little script:
	<tt>for i in * .[^.]*; do echo $i; done</tt>
(simple <tt>ls</tt>).

<sect2> Must I learn <tt>sed</tt> and <tt>AWK</tt>?

<p>
In the Unix's world, we hear a lot about <tt>AWK</tt> and <tt>sed</tt>. These programs
are generic and can be used for a lot of things. <tt>GNU</tt> gives a bunch of
utilities that can replace <tt>sed</tt> and <tt>AWK</tt> (<tt>dd</tt>, <tt>cut</tt>, <tt>seq</tt>, ...). 
Why <tt>dd</tt> will you ask ?
<p>
<tt>dd</tt> have a little function that is fine: conversion
low/up case. An example:
<p>
There are names in this directory that are in uppercase but you want
to change them to lowercase. With <tt>AWK</tt>, you must type: <tt>for i in *; do
mv "$i" "`echo $i | awk '{print tolower($0)}'`"; done</tt>; with <tt>sed</tt>
you must enumerate all letters; with dd, it's very easy, I think:
<tt>for i in *; do mv "$i" "`echo $i | dd conv=lcase`"; done</tt>
<p>
<tt>cut</tt> is a program to print columns of a text. Also, if you must print
different columns of a line, you can use <tt>cut</tt>. <tt>cut</tt>  performs
better than <tt>AWK</tt> in this case if you want the job to be done fastly and efficiently because
<tt>cut</tt> is dedicated to this work. For the same task, you may use
the shell's internal commands too (you can, if you assign a value to
the <tt>IFS</tt> variable). Here is an example in <tt>AWK</tt>, <tt>cut</tt> and <tt>sh</tt>. We
want only to display a list with <tt>login : identity</tt> fields:
<itemize>
 <item>in AWK:
<verb>
awk -F: '{ print $1" : "$5}' /etc/passwd
</verb>
</item> 
<item>with <tt>cut</tt>:
<verb>
while read line; do echo "`echo $line | cut -d: -f 1` : `echo $line | cut -d: -f 5`"; done < /etc/passwd
</verb>
</item>
<item>
only with sh:
<verb>
IFS=':'; while read a b c d e f; do echo "$a : $e"; done < /etc/passwd; IFS=' '
</verb>
</item>
</itemize>
Generally, you haven't to learn <tt>AWK</tt>. I think that you can always do
things without <tt>AWK</tt>. (OK, sometimes, <tt>AWK</tt> is easier.)
<p>
About <tt>sed</tt>, the drawback is that you must work with temporary
files. If you want to save disk-space and to edit files in
command-line, you can use <tt>ex</tt>, the script version of
<tt>vi</tt>. Also, <tt>sed</tt> can be used but not necessarily.
<sect2> Redundancies in utilities?

<p>
If disk-space is very important, you can delete certain programs which perform task
that can be done by others programs. For example: if you have to
use <tt>dd</tt>, you don't need <tt>cat</tt>, if you have <tt>vi</tt>,
you don't need <tt>ed</tt> (help me to find other examples...).
<p>

<sect1> Aliases or scripts?

<p>
Scripts are more powerful than aliases. But scripts eat disk-space and
are loaded each time they are used. Aliases eat memory-space and if
you are in <tt>CLI</tt>, you have all the memory for you! Aliases are faster
than scripts because they are loaded from memory and not from disk.

Generally, shells offer you another alternative for aliases/scripts:
functions. Functions have power of scripts with the convenience to eat
only memory-space. To learn aliases and functions, you can look at the
manpages.

    <sect>Input
      <p>
      <sect1>Variations around the keyboard
	<p>
	<sect2>Mini keyboards
	  <P>
Usually theses devices are on the wearer's forearm or wrist.
	  <p>
The <url url="http://www.pfuca.com/products/hhkb/hhcindex.html"
	      name="WristPC"> Keyboard  and the 
<url url="http://www.ivpgi.com/1accessory.htm"
	      name="Arm mount micro keyboard"> from the Phoenix Group
Inc. 
are typical from this concept.

	<sect2>One hand keyboard.
	  <p>
IMHO it is the best concept because it doesn't require you to look at
the keyboard while typing is the less intrusive when you
have to deal with other people, and in order to be accepted by other
a Wearable wearer's must have the lowest visual signature.
	  <p>
The archetype of this concept are the <url
	      url="http://www.handykey.com"
	      name="Twiddler and Twiddler2"> and all of their clones.
 <p>
At first using a twiddler may seem to be a little bit confusing. The
very first thing to do is to read the manual ( don't forget to plug
the keyboard or the PS/2 adaptator or your twiddler won't work because
it will get no power supply. ) The reference card may, at first, seem confusing
because when you are working with your twiddler you are behind the
buttons and the reference card show you the buttons from the front
side not from the rear so you will have to switch right and left. When
you have passed theses steps you will quickly learn how to use it and
IMHO it feels very comfortable to use. The way the integrated mouse
operates is very natural too.


    <sect>Audio Output
      <p>
When your system doesn't output too much data, or in order to signal
some special events an audio output can do the job.
Most laptops come with a Sound Blaster compatible sound card and a lot 
of PC-104 cards are sold with such a sound card on board or you should 
buy a sound module. The next step is to redirect your text output to a 
text_to_speak program.
      <P>
As a lot of input is done using emacs, it seems to be a good idea to
use  <url
	  url="http://www.cs.cornell.edu/home/raman/emacspeak/emacspeak.html"
	  name="Emacsspeak">


    <sect>Visual Output
      <p>

      <sect1>Head Down displays.

	<sect2>Wristwatch type
	  <p>
<sect3>Commercial Solutions.
<p>
Some manufacturers ( eg Seiko, Citizen, Casio ) manufactured
Wristwatches that could be linked to a computer, ( I remember that in
1982 Seiko showed a prototype of a wirstwatch TV ( monochrome LCD )).
<p>

<url
	  url="http://www.casio.com"
	  name="Casio "> has a broad set of wristwatches, some of
them could be descibed as Wearables that can display time among other
things, of interest are the
   <itemize>
      <item>The PC Unite that can exchange data with a computer using
an infra red link.</item>
      <item>The ATC1200-1V Forester features an electronic compass.
plus thermometer and barometer. I used to own one of these it is a
great piece of hardware</item>
 <item>The Technowear products have different features including voice
recording, IR remote control, Databank...</item>
<item>The <url
	  url="http://205.158.10.200/gps/top.html"
	  name="GPS ">watch is one of the most intruiging watch I have
ever seen</item>
   </itemize>
<p>
<sect3>The Wristwatchcomputer.
<p>
In 1998 S. Mann displayed a 
<url
	  url="http://www.wearcam.org/wristwatchcomputer/"
	  name="Wristwatch ">videoconferencing computer, it runs
GNU/Linux and uses an XF86 Server, there is a pinhole video camera on
the watch itself. This device is to say the least impressive, some of
the software, is <url
	  url="http://www.wearcam.org/orbits/orbits_v1.08.tar.gz"
	  name="downlable "> and GPLed.

	  <p>
It is also possible to use a 4 lines LCD display connected to the
serial port of your laptop ( numerous paper or online electronics
magazine offer schematics ).

	<sect2>PDA type
	  <p>
PDA's seem to be a cheap and efficient way of sending and displaying
data for a wearable, actually any PDA with a VT100 emulation program
and a serial link can be used effectively as a terminal ( I have
successfully used my HP200LX running 
<url
	      url="http://www.columbia.edu/kermit"
	      name="kermit "> 

 as a terminal for my desktop,
giving me an emergency access to it if the display failed )
<p>

      <sect1>Head UP displays
	<p>
The distinction between obstrusives an non obstrusives ones is not
from the wearer point of view but from the other people, that is is
the display forbid to see the wearer's eyes
	<sect2>Obstrusives displays
	  <p>
	  <sect3>Hacks with LEDs
	    <p>
Some people managed to use blinking LEDs in order to retrieve
information from their device. This is one of the simplest display
one can imagine : a LED or a row of LED blinking.
 
	  <sect3>Sony GLASSTRON
	    <p>
Sony sells a device called the Glasstron; in Paris, France the FNAC
Montparnasse sells the PVD-V30
glasstron 55 at 13999F ( this is about US $2333 ).

<sect3>The M1
<p>
<url
url="http://www.tekgear.ca/displays/m1.html"
name="Tekgear" > manufactures the M1.

	  <sect3>The VRD ( Virtual Retinal Display )
	    <p>
With this device a manufactured by <url
	    url="http://www.mvis.com"
	    name="Microvison">
 a  LASER LED draws the image on the wearer's retina,
the US Navy tested it in the summer 1999, at Hawaii ( see in the army
now ).
	<sect2>Nonobstrusives displays
	  <p>
The 
<url
		url="http://www.microopticalcorp.com"
		name="Microptical ">corporation manufactures two
displays the Integrated Eyeglass display and the ClipOn display. 
    <sect>Comms
      <p>
AFAIK Most of the time it is with a radio link, should it be with a
radio transceiver or via a cell phone.
<p>
It seems that IBM's
<url
url="http://www.research.ibm.com/research/pan.html"
name="Personal Area Network"> or the 
<url
url="http://www.bluetooth.com."
name="Bluetooth"> technology will enable building LANs of Wearables
very easyly. ( actualy IBM is also a member of the Bluetooth SIG ).

    <sect>How can I have my Wearable ?
      <p>
      <sect1>Commercial Solutions.
	<p>
Some companies sells Wearables ready to use out of the Box,
hereafter is a list of them. 

<itemize>
	    <item>
<url
		url="http://www.genesistech2000.com/product.html"
		name="Genesys Technology "> manufactures a Wearable that 
uses a HMD display.
</item>

	    <item>
<url
		url="http://www.handsfreemobile.com"
		name="handsfreemobile "> sells the Mid Riff Brain, it is 
mostly an LCD touchpad based solution and the unit is in a pouch fixed on the waistband.
</item>
	    <item>
<url
		url="http://www.teltronics.com/is/hardware.html "
		name="Teltronics "> sells the Mentis. It is a modular wearable.
</item>

	    <item>
<url
		url="http://www.flexipc.com/ "
		name="Via "> sells the VIA II PC a Wearable that is worn 
on the waistband.
</item>

	    <item>
<url
		url="http://www.xybernaut.com/F00005.htm "
		name="Xybernaut "> sells the Mobile Assistant IV ( MA
IV ) available with RedHat Linux 6.1, Suse Linux ,Windows 9x and Windows NT4

</item>

	  </itemize>
      <sect1>Do it yourself.
	<p>
As wearable computing is in its very early beginning you should make
various experiments and share them with your peers.
Doing this with an open and versatile OS such as Linux should give you 
a lot of fun ( after all, desktop computer is just a plain vanilla
computer), because you play with both the OS and the hardware.
If you are unsure of the technical decisions you are going to make, you
can start with a proven design. On the net you can find the
specifications of some wearable systems thus you will not have to
reinvent the wheel and you will avoid some pitfalls. ( the designs are
sorted by alphabetical order ).

<p>
<itemize>
 <item>
The 
<url
	    url="http://wearables.www.media.mit.edu/projects/wearables"
	    name="Lizzi "> ; it is the MIT's wearable design.
</item>

<item>
In the UK you can find the <url
	    url="http://wearables.essex.ac.uk/spec/wear-spec.html"
	    name="Vase Lab Wearable"> it is from Neil Newman at the University of Essex.
</item>

<item>
In Canada, the <url
	    url="http://www.wearcomp.org/wearhow/"
	    name="Wearcomp "> is a proven design, by Prof. Steve
Mann at the University of Toronto.
</item>

</itemize>
	<p>
    <sect>PalmPilot and its clone  ( IBM, HandSpring, TRG ): a new breed of wearables.
      <p>
<sect1>The palm family.
<p>
The PalmPilot family and its clone is a hit among PDAs, but less known 
is the fact that it is more than a PDA it is one of the first off the shelves wearable.
You can connect it to your cell phone, 
When on the move you may need an input device more convenient than
Graffiti: a keyboard for example, one device exists that allow you to
plug a PS/2 keyboard in your palm:
Happy Hacking cradle Specially for the Palm.
      <p>
<url url="http://www.pfuca.com/products/hhkb/hhcindex.html" 
	  name="PFU">
Happy Hacking sells a PS/2 adapter for the Palm, thus 
one should be able to hook any PS/2 keyboard on this device.
It is battery ( 2 AA ) powered.
      <p>
It seems that someone has managed to get a twiddler keyboard working
with the PalmPilot.
If you want to do land navigation it exists an electronic compass you
can plug into your palm it is called Palm Navigator and it is
manufactured by 
<url
	  url="http://www.precisionnav.com"
	  name="Precision Navigation">
They even sell a weather station.

If you have more money to spend or want more precision you can
purchase a GPS receiver called Earthmate; it is manufactured by 
<url
	  url="http://www.delorme.com"
	  name="Precision Navigation">
Some of you may want a software only solution: this can be done.
If you have some highly specialized needs like commuting without
having the subway map and want a readily made solution you can use a
program like Route Expert, I use it on a daily basis, it works great
with Paris's subway and I will test it with Berlin's subway at the end 
of the year ( of course it exists other programs but this one is the
one I am using ). I guess everyone can find the North using the sun and a
wirtswatch, a PalmPilot can do it with more precision using readymade
programs such as T.J's Sun-Compass ( once again there exists other
programs but this one is the one I am using ).
      <p>
The most important with the PalmPilot for the Linux community is the
fact that there exists two ports of Linux for it ( DragonBall is a
member of the 68000 family after all ). One is GPLed

You can find more information at :
<url
	  url="http://www.uclinux.org"
	  name="uClinux">

the second one is commercial, it is based in Korea.
<url
	  url="http://www.oski.co.kr"
	  name="WindStone">
 it is based on uClinux and it is coming  with its own GUI and
widgets.

Thus with the next generation of Palms, the CPU speed will be twice
today's speed, and with Linux on board we will be able to run a lot of 
software that are hardware independent and have been written for
today's x86 Linux based wearables.  
<p>
<sect1>PDAs runing Linux.
<p>
Samsung displayed a PDA named the<url
	  url="http://www.sem.samsung.co.kr/eng/product/digital/pda/"
	  name="Yopi "> runing Linux.
 It is an ARMLinux based PDA, 32 MB RAM, featuring a voice recorder, mp3
player,IrDa port, compact flash slot, a 4" color TFT and HandWritting
Recognition, plus Serial and USB interface. Word has spread that it
should be sold this summer but unti then wait and see. 
<p>
It exists a <url
	  url="http://www.freebsd.org/~imp/pdamips.html"
	  name=" Mips based PDA info Center"> This site focuses both
	  on NetBSD and LinuxCE on MIPS based PDAs.
<p>
You can find some information on the <url
	  url="http://www.linuxce.org"
	  name=" LinuxCE "> port; and you may wish to read the <url
	  url="http://linuxce.2gn.com/faq"
	  name=" LinuxCE FAQ">
	   With theses PDAs one should be able to consider
	  building a 
	  nice PDA based Wearable. 
<p>
    <sect>How to carry my wearable ?
      <p>
Depending on your wearable's family ( eg Palm, palmtop computer,
laptop based, PC/104 ) there seem to be 3 convenient ways of carrying
it around.
You can carry it on tour wrist, or in a backpack or you can hang it on 
your waistband.
      <p>

   
    <sect>Applications with Wearables.
      <p>
As a rule of thumb the first people who are going
to use extensively the wearables are the people
whose work is a matter of life and death.
      <p>
      <sect1>In the army now.
	<p>
It is very important in an army to have an edge other the enemy,
that is what we have always seen in history, and moreover the army
is known to spend vast amount of money in order to get this edge.
	<p>
Some years ago the infantryman was ordered to carry different  pieces of ordnance that came 
from different sources and were not part of a whole thing, and to try
to do his best with theses ( looks like Frankenstein to me ). With theses 
new projects the infantryman is the centerpiece of a coherent,
complementary weapons and equipment system.
	<p>
<itemize>
            <item>Australian Army.
            <p> 
In Australia there is a program called Land 125 Soldier Combat System
            ( formerly &quot;Wundurra&quot; 
            ( the aboriginal word for Warrior ) ), there is some information
 on 
<url
url="http://www.dsto.defence.gov.au/"
name="DTSO" >'s website; and according to the 
<url 
url="http://www.atse.org.au/"
name="ATSE " >this project should be on phase 2 on year 2000/2001.
	    
According to DTSO the soldiers should have intra-section radios, night
vision and sighting capability and head up display.  
<p>
            </item>
	    <item>French Forces.
	  <p>
In France there is a project called FELIN ( Fantassin &agrave; Equipement et
Liaison Integr&eacute;es ( Foot soldier with integrated equipment and links ) 
) 
	  <p>
in order to enhance the efficiency of the soldier a set of devices had
been developed with very careful limitations : historically the foot
soldier has been a beast of burden, thus the FELIN project wishes 
to limit its load at 25kg. The soldier has got a radio link, a
computer and a camera on his weapon ( allowing him to open fire from
cover ). The display is done  with a monocular HMD.
</item>
	    <item>UK Forces.
	  <p>
The FIST ( Future Integrated Soldier Technology ) project:
Early tests were conducted on Salisbury Plain to determine if the
soldier could access information either 'Head Up' ( in a helmet
display ), 'Head Down' ( on a wrist mounted display ), via a palmtop
computer or if necessary  a map  

lessons learned ( in L'armement issue 67 September 1999 )
<itemize>
		  <item>There is no scope for enhancing soldier performance through the
provision of tactical information unless the soldier can access
information 'on the move'</item>
		  <item>The preference, both by day and night was the helmet display.</item>
		</itemize>
The FIST Digitization Trials will be conducted on Salisbury Plain in
June and November 2000. The June trial addresses information flow, the
November trial will address the benefits of enhanced information to
determine if there is a consequent increase in the 'Tempo of Operation'. 
</item>
	    <item>US Forces
	  <p>
<itemize>
		  <item>The land warrior program
	    <p>
It is a system made of 5 subsystems cooperating together.
<itemize>
			<item>A Pentium Computer/Radio Subsystem (C/RS) made by Motorola
featuring an integrated GPS receiver</item> 
			<item>The Protective Clothing and Individual Equipment Subsystem 
(PCIE) made by Gentex</item>
			<item>The Weapon Subsystem (WS) made 
by Raytheon
</item>
			<item>The Software Subsystem made by Raytheon
</item>
			<item>The Integrated Helmet Assembly Subsystem 
(IHAS) made by Honeywell
</item>
		      </itemize>

The location of each squad member will be available through the IHAS,
as well as digitized maps and tactical information. 
Every soldier will have an integrated GPS as well as video recording capabilities.
Of course the soldier will have night vision capability as well as
deported sighting. Tests should take place during year 2000.
More info on the Land Warrior program at 
 
<url
			url="http://www.sbccom.army.mil/programs/lw/index.htm "
			name="http://www.sbccom.army.mil/programs/lw/index.htm">

( There is even a FAQ and pictures ).
AFAIK this is going to be the biggest test for the wearable concept
because the Army is planning to purchase 34000 units plus spares.
</item>
		  <item>The navy.
	    <p>
During the summer 1999 news poured that the US Navy tested the Virtual Retinal
Display at Hawaii. The explanation is that there doesn't seem to be
enough space in the fighting ships because of the numerous CRT, so it
is conceivable for the crew to wear VRDs 
	    <p>
Needless to say, that some very low profile and highly specialized
units should have adopted the wearable concept but as far as we cannot 
have evidence we can only speculate on that.
 </item>
		</itemize>
	  </itemize>
      <sect1>At the hospital
	<p>
The <url
	    url="http://www.mvis.com"
	    name="Microvison">'s VRD has been
<url
	    url="http://www.mvis.com/2-medi.htm"
	    name="delivered "> to the Wallace Kettering
Neuroscience Institute, Dayton Ohio, for neurosurgery
applications. 
This is not a full featured wearable solution but it is
a big step toward the adoption of wearables in health care activity. 
( on the website you can view a <url
	    url="http://www.mvis.com/dr_pov4jpg.htm"
	    name="simulated image">  ).


      <sect1>With the firefighters
	<p>
Firefighters are using thermal cameras in order to see through the
smoke, in the next years theses devices should be miniaturized and 
with a wearable firefighters should have both hands free and will have 
real time access to data such as the map of the building and numerous
helpful informations.

      <sect1>Wearable for the disabled.
	<p>
One can easily think that a wearable computer can be very helpfull for 
the disabled people, for example for blind people a wearable with a GPS 
receiver, some maps of the surroundings and even more, interacting with 
its surroundings by means of active beacons can be a very good
substitute for a dog, the elements exists for a long time. 

 This should be easily done : the linux comunity has good text to speech
applications, voice recognition is quite ready for this application
, the IrDA or Modem radio drivers are OK, the same applies 
to the GPS programs, we have to develop an electronic blind walking
stick in order to detect the obstacles at a much reater range and
last, but not the least to convince the autorities.

    <sect>A borg's life.
      <p>
This section deals with Human-Human interaction. 
As the wearable is quite new for the layman one has to expect some
strange reactions from the other people.
When I go out and read my PalmPilot's screen while walking or in the
subway people have one of the following reactions :
<itemize>
	  <item>No reaction: because they are in their own world or because they 
don't care.
</item>
	  <item>Curiosity: they come to me and ask me questions like "what it
is", "what are you doing with it" and "how much does it cost ?"
</item>
	  <item>Disdain : they may think I want to draw attention.
</item>
	  <item>Hostility/Fear : "this guy is nut: avoid him".
</item>
	</itemize>
Steve Mann Gave an interview in the New Scientist magazine and as he
was one of the first to test the waters, so he has a long experience in
this field.
The second problem is that the wearable's hardware is quite expensive and some
predators will spot a new device that can be easily stolen and sold
at a good price, or just in order to have one of them. 
As a conclusion you have to be very cautious.

<sect>Nanotechnology: one step beyond.
<p>
At the time of this writting, we are in a transition era: the 
nanotechnology is an emerging science that is going to 
change a lot of things in the computing field.
<p>
For more information on nanotechnology, the 
<htmlurl
url="http://www.nanodot.org"
name="http://www.nanodot.org" > website is a good place 
to start.



    <sect>Sources of Information.
      <p>
      <sect1>Non commercial
	<p>

A good starting point to gather information is to
subscribe to the wear-hard@haven.org mailing list, you have 
to send a message with the word subscribe in the subject to
wear-hard-request@haven.org.<p>
The archive of this mailing list is mirrored at 
  <url
	    url="http://wearables.blu.org"
	    name="Wearable Central">
This site was founded to be an archive center for the mailing list and 
the newsgroup.
It is maintened by R. Paul McCarty.
      <p>
You can also read one of the very good FAQs such as the 
<url
	    url="http://wearcomp.org/wearcompfaq.html"
	    name="wearcompfaq"> or you may go to the 
<url
	    url="http://www.webring.org/cgi-bin/webring?ring=wearit;list"
	    name="wearable webring ">  ( at the time of this writting
	    the webring lists 35 sites ).  
<sect1>Commercial.
	<p>
You can find information on the web sites of the company cited
in the various sections of this document and as stated earlier in this document :
The companies quoted here are just for your information only, I do not 
endorse any of their product, this just in order to help you.

<sect1>Reading.
<p>
Some science fiction books can be a good introduction to Wearable
computing. Among other books one can think of ( alphabetical listing
):
<itemize>
<item>Diamond Age by Neal Stephenson ( a lot of nanotechnology too ).
</item>
<item>Snow Crash by Neal Stephenson
</item>
<item>Virtual Light by Willian Gibson
</item>
</itemize>

    <sect>To do List.
      <p>
This section is about things that have to be done for the next
releases if you wish to contribute it is a good place to look at.
<itemize>
	  
	  <item>Organic Leds are very interesting, I should cover theses too.
</item> 
	  <item>To expand the input/visual output sections.
</item>
	  <item>To expand and reorder the advocacy section.
</item>
	  <item>To have an "in the car" section.
</item>  	  <item>The concept of an UW wearable seems viable lets think about it.
</item>
	  <item>List and describe all projects.
</item>
	  <item>List and describe all products.
</item>
	  <item>To get some sleep ;-).
</item>
	</itemize>

    <sect>Revision History.
      <p>
<itemize>
          <item>v 0.0.9 November 2000, 3rd release
<itemize>
<item>
Fixed: What is a Wearable anyway section: Typo in URLs
</item>
<item>
Expanded: What CPU section.
</item>
<item>
Expanded: Power supply section.
</item>
<item>
Rewritten: OS section.
</item>
<item>Rewritten: Sulawesi section rewritten by The sulawesi project founder Neill Newman.
<url url="mailto:njnewm@essex.ac.uk"
        name="&lt;njnewm@essex.ac.uk&gt;"> 
</item>
<item>Added: <tt>CLI</tt> only section written by Manu Coutris. 
<url url ="mailto:coutris@ie2.u-psud.fr"
	      name="&lt;coutris@ie2.u-psud.fr&gt;">

</item>
<item>Added: One step beyond section.</item>
</itemize>
</item>
          <item>v 0.0.7 March 2000, second release.</item>


	  <item>v 0.0.5 December 1999, first release.</item>
	  <item>v 0.0.1 November 1999, first draft.</item>

	</itemize>
    <sect>Thanks and Credits.

      <p>
<itemize>

<item>I would like to thank among other people: 
<itemize>
	  <item>
Werner Heuser <url url ="mailto:wehe@snafu.de"
	      name="&lt;wehe@snafu.de&gt;">
for the work he has done maintaining his <url
	      url="http://www.snafu.de/~wehe/index_li.html"
	      name="Laptop-HOWTO"> 
 </item>
	  <item>
The people of the Wearable mailing list which proved to be very
informative and open minded.
</item>
	  <item>
My friend Manu Coutris for his never ending patience and kindness.  
</item>
          <item>
&quot;Old Crocodile&quot; Virgile for his wyse and smart advices.
</item> 
	  <item>
The people of the Wearable community whose discussion and web sites
strengthen my confidence in the wearable concept.
</item>
<item>
Professor Steve Mann for his patience and for beeing one of the
pionners in the Wearable Computing field. I also wish to thank him for
the wearcompdef, wearcompfaq and wristwatch wearable links.
</item>
	</itemize>
</item>

<item>
The The Sulawesi project.

section is written by Neill Newman
<url url="mailto:njnewm@essex.ac.uk"
        name="&lt;njnewm@essex.ac.uk&gt;"> 

</item>
<item>
The <tt>CLI</tt> only.

 section is written by Manu Coutris
<url url ="mailto:coutris@ie2.u-psud.fr"
	      name="&lt;coutris@ie2.u-psud.fr&gt;">

</item>
</itemize>

    <sect>Copyright, Disclaimer and Trademarks
      <p>

Copyright &copy; 1999-2000 by Lionel, trollhunter Bouchpan-Lerust-Ju&eacute;ry.
 This document may be distributed under the terms set forth in the 
GNU Free Documentation Licence 
<url 
	  url="http://www.gnu.org/copyleft/fdl.txt" 
	  name="http://www.gnu.org/copyleft/fdl.txt"> .

  This documentation is distributed in the hope that it will be useful, but without any warranty. The information in this document is correct to the best of my knowledge, but there's a always a chance I've made some mistakes, so don't follow everything too blindly, especially if it seems wrong. Nothing here should have a detrimental effect on your computer, but just in case I take no responsibility for any damages ocurred 
from the use of the information contained herein.
      <p>
In this document you will encounter some commercial products and
brands. Theses products are cited for information purpose, it is not
an endorsement from the author. The trademarks belong to their respective 
owners.

Permission is granted to copy, distribute and/or modify this document
      under the terms of the GNU Free Documentation License, Version 1.1
      or any later version published by the Free Software Foundation;
      with the Invariant Sections being : 
&quot;Foreword&quot;, 
&quot;What is a Wearable anyway ?&quot;, 
&quot;Advocacy&quot;, 
&quot;What CPU ?&quot;, 
&quot;Power supply&quot;, 
&quot;Os.&quot;, 
&quot;The Sulawesi project.&quot;, 
&quot;CLI only.&quot;, 
&quot;Input&quot;, 
&quot;Audio Output&quot;, 
&quot;Visual Output&quot;, 
&quot;Comms.&quot;, 
&quot;How can I have my Wearable ?&quot;, 
&quot;PalmPilot and its clone  ( IBM, HandSpring, TRG ): a new breed
of wearables.&quot;, 
&quot;How to carry my wearable ?&quot;, 
&quot;Applications with Wearables.&quot;, 
&quot;A borg's life.&quot;, 
&quot;Nanotechnology: one step beyond.&quot,
&quot;Sources of Information.&quot;, 
&quot;To do List.&quot;, 
&quot;Revision History.&quot;, 
&quot;Thanks and Credits.&quot;, 

  , with the
      Front-Cover Texts being &quot;title&quot; and &quot;abstract&quot;
, and with no Back-Cover Texts .


  </article>
