Multi-Purpose Data Displays as Wrist Watch Replacement Peter Hutterer DIPLOMARBEIT eingereicht am Fachhochschul-Diplomstudiengang Medientechnik und -design in Hagenberg im Juli 2004
c Copyright 2004 Peter Hutterer ° Alle Rechte vorbehalten ii
Erklärung Hiermit erkläre ich an Eides statt, dass ich die vorliegende Arbeit selbstständig und ohne fremde Hilfe verfasst, andere als die angegebenen Quellen und Hilfsmittel nicht benutzt und die aus anderen Quellen entnommenen Stellen als solche gekennzeichnet habe. Hagenberg, am 15.
Contents Erklärung iii Kurzfassung vii Abstract viii Acknowledgements ix 1 Introduction and Motivation 1.1 Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2 Scenarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.3 Structure of this thesis . . . . . . . . . . . . . . . . . . . . . . . . 1 1 2 2 2 Related Work 2.1 Commercial Watches . . . . . . . . . . . . . . . . . 2.1.1 Matsucom OnHand PC . . . . . . . . . . . 2.1.2 IBM Linux Wristwatch . . . . . . . .
v CONTENTS . . . . . . 21 22 22 24 25 26 4 The Implementation 4.1 The Java Implementation . . . . . . . . . . . . . . . . . . . . . . 4.1.1 Why Java? . . . . . . . . . . . . . . . . . . . . . . . . . . 4.1.2 The Plugin Framework in Java . . . . . . . . . . . . . . . 4.1.3 The Application Template . . . . . . . . . . . . . . . . . . 4.1.4 The Java PersonalServer . . . . . . . . . . . . . . . . . . . 4.1.5 Problems with Java . . . . . . . . . . . . . . . . . . . . . 4.2 Linux on the iPAQ . . . . . . . . .
vi CONTENTS A CD-ROM Content A.1 Thesis . . . . . . . A.2 Online resources . A.3 Implementation . . A.4 Additional software Bibliography . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Kurzfassung Eine Vielzahl an Projekten beschäftigte sich die letzten Jahre intensiv damit, Armbanduhren um komplexere Funktionen zu erweitern. Das Spektrum der Entwicklungen reicht von speziellen Uhren mit Radioempfang bis hin zum MiniPDA am Handgelenk. Die innovative Neuerung, die im Rahmen dieses Projektes ausgearbeitet wurde, ersetzt eine herkömmliche Armbanduhr durch ein universell anwendbares Datendisplay. Die Uhr ist somit nicht mehr auf proprietäre Funktionalitäten beschränkt.
Abstract In recent years more and more projects have tried to bring complex functionality to the watch, which up until now has mostly been limited to displaying the time. The spectrum now ranges from miniature PDAs on the wrist to watches able to receive FM radio waves. This project is an attempt to replace the wrist watch with an all-purpose data display. By using such a data display the watch is not limited to a certain set of applications as it is the case in most other projects.
Acknowledgements Several people made this project and the thesis possible and I want to thank all of them. First, Michael Haller, my supervisor in Austria, for his support while writing this thesis. Second, Bruce Thomas for giving me the chance to do my internship at the University of Australia and for helping me with this thesis. The time in Australia was the greatest I have had in my life so far.
Chapter 1 Introduction and Motivation Watches have been around us for several centuries. As the amount of personal time gets less every year it is more and more important to have a watch around at all times. In the 19th century the watch moved from the pocket to the wrist, thus being visible at all times [43]. Since World War One this move is sealed and nowadays hardly any other locations are used for carrying a watch.
CHAPTER 1. INTRODUCTION AND MOTIVATION 2 external data display for the PDA. With this close relationship, the manufacturing costs for the watch are lower and development time for applications is shorter. Moreover, instead of being a independent device the watch can be seen as an additional gadget for the PDA. The high computing power and the operating systems of today’s PDAs allow it to bring complex applications to the watch which would not be possible if the watch was driven by a small microcontroller.
Chapter 2 Related Work Several projects have targeted to replace the watch with a multi-functional device. Some research work has been done about the social weight of a watch device in [61]. Additionally, the authors of [47] ask the question what applications an all-purpose watch could be used for. This chapter will give a short overview about some of the watches on the market right now and point out their features.
CHAPTER 2. RELATED WORK 4 Figure 2.1: The Matsucom OnHand PC. Image taken from http://www. matsucomusa.com/Download/Media/onHand.jpg. Copyright by Matsucom, Inc. 2.1.2 IBM Linux Wristwatch IBM tried a different approach with the Linux Wristwatch. The developer team wanted to build a wrist computer with a standard operating system instead of one optimized for embedded devices. Finally, they ended up using Linux with slight software adaptations for the processor.
CHAPTER 2. RELATED WORK 5 Figure 2.2: The IBM LCD Linux Wristwatch (left) and the OLED version (right). Images taken from http://www.research.ibm.com/WearableComputing/ factsheet.html. Copyright by International Business Machines Corporation, Inc. 2.1.4 Fossil WristPDA Quite an old model is Fossil’s Wrist PDA. This small computer is using PalmOS 4.1 and therefore the PIM applications known from Palm PDAs.
CHAPTER 2. RELATED WORK 6 Figure 2.3: Field Technology CxMP Smart Watch. Image taken from http://www.smart-watches.com/images/product/images/ICW001/icw001 pict.gif. Copyright by Field Technology CxMP Ltd. Different to the Timex watch or the Fossil Wrist Net, this watch can not be synchronized with Outlook, the schedules have to be entered with the software in the retail package. Photos or other pictures can be loaded onto the watch and displayed if they are cut down to the right size [40].
7 CHAPTER 2. RELATED WORK Vendor Device Battery life API Range Buttons Other input Price Matsucom OnHand PC 2 days C (proprietary) infrared 4 Joystick ca. USD 200 [17] IBM Linux Wristwatch 2 hours C (Linux) ca. 10 m 4 (touchscreen) n/a n/a Fossil Wrist Net min.
CHAPTER 2. RELATED WORK 2.2.4 8 Connectivity Another problem with the Matsucom OnHand PC is the weak connectivity. To get data onto the watch or vice versa, it needs to be connected via the serial dock or via infrared, which needs a direct line to the receiver. It is not possible to transmit data while the watch is worn normally on the wrist. The Wrist PDA and the Smart Watch only support infrared as well.
Chapter 3 Concepts This chapter gives an overview about the concepts of this project. First, Section 3.1 will explain the basic idea of this thesis, namely to use two different but tightly connected devices. Section 3.2 will discuss possible hardware for the watch. After that, methods how to switch applications on the watch are explained in Section 3.3. Finally, a system to switch the server devices at runtime is described in Section 3.4. 3.
10 CHAPTER 3. CONCEPTS Internet Watch Local computers PersonalServer Input device Household devices Figure 3.1: The separation concept of the PersonalServer. In [62], a concept is described where a mobile screenless device makes use of brainless ubiquitous displays for displaying data. Roughly, the concept of the PersonalServer is quite similar to this one, except that the remote display is carried around all the time.
CHAPTER 3. CONCEPTS 11 Figure 3.2: The default screens of Microsoft PocketPC (left) and PalmSource PalmOS (right). models support wireless technologies such as Bluetooth and WLAN. Currently, there are two main categories, PDAs running PalmSource’s PalmOS and those using Microsoft PocketPC as operating system (see Figure 3.2). A big advantage of PalmOS is the simplicity of its GUI—maybe one reason why it still has the biggest market share of all PDA operating systems [7,18,34].
12 CHAPTER 3. CONCEPTS Applications PersonalServer Plugin API PersonalServer Framework Operating System Hardware Wireless Network Figure 3.3: The PersonalServer system architecture. The application is using the plugin API which is tightly connected with the PersonalServer framework. Accessing hardware is done by the operating system on the device. on an IBM Linux Wristwatch running at 18 MHz this would be completely senseless.
CHAPTER 3. CONCEPTS 13 goal—to replace a normal time-displaying wrist watch with the PersonalServer watch—could not be achieved. If just one application runs on the watch the target group does not have a reason why to use the watch in addition to the iPAQ. By providing applications in great variety the watch’s basic goal—to have all necessary information always visible on the watch—gets closer.
14 CHAPTER 3. CONCEPTS b redraw() b PersonalServer redraw() redraw() redraw() a b c external application Figure 3.4: The PersonalServer framework. Applications (a, b, c) send redraw requests to the framework. Depending on the currently active application the screen is redrawn. External applications can use the framework via wrapper applications. than the java.awt.Graphics class or GTK or Qt functions instead of X.
15 CHAPTER 3. CONCEPTS 3.2 The Hardware of the Watch A short overview is now given about the possible hardware of the watch itself. With the separation into two physical devices—the PersonalServer device and the watch—most of the tasks can be offloaded to the more powerful PersonalServer device, thus allowing to build the watch very simple. This chapter discusses which technologies are suitable for the watch and for what reasons.
CHAPTER 3. CONCEPTS 5.5 cm (c)50x37.5 mm 5.5 cm (b)50x50 mm The quick brown fox jumps over the lazy dog. The quick brown fox jumps over 5.5 cm (a)diameter: 50 mm The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown 5.5 cm (f)30x40 mm The quick brown fox jumps over the lazy dog. 10:52 Jun 09 04 5.5 cm (e)40x30 mm The quick brown fox jumps over the lazy dog. 5.5 cm (d)37.5x50 mm Figure 3.
17 CHAPTER 3. CONCEPTS Resolution 102x64 102x64 102x64 102x64 160x120 160x120 160x120 160x120 320x240 320x240 320x240 320x240 640x480 640x480 640x480 640x480 Color depth 1 8 16 24 1 8 16 24 1 8 16 24 1 8 16 24 bit bit bit bit bit bit bit bit bit bit bit bit bit bit bit bit Data in Bytes 816 6528 13056 19584 2400 19200 38400 57600 9600 76800 153600 230400 38400 307200 614400 921600 Transfer time at 723.2 kBit/s 0.0011 0.0088 0.0176 0.0264 0.0032 0.0259 0.0517 0.0776 0.0129 0.1034 0.2068 0.3102 0.0517 0.
CHAPTER 3. CONCEPTS 18 The following five technologies are common in mobile wireless communication: • Infrared is one of the older standards and well known since mobile phones came up. It supports up to 4 Mbit/s but only 9.6 kB/s are mandatory [38, p 7]. Most phones only support the mandatory 9.6 kB/s, but Table 3.1 shows that this data rate is not enough for transferring images. The biggest drawback however is that an infrared transmission always requires a visible line between sender and receiver.
19 CHAPTER 3.
CHAPTER 3. CONCEPTS 20 to six buttons as well. So the watch should be fitted fine with four or maybe six buttons. Another approach is the so-called jog wheel, as used on i.e. the Sony Ericsson CMD-Z5 mobile phone (see Figure 3.7). A jog wheel is a small wheel, usually used for going through menu options, which works as a button as well. So three different interactions (up, down, press) are packed on closely the same room a button would need.
21 CHAPTER 3. CONCEPTS (a) 4 button device (b) 4 button device with optical mouse (c) 5 button device (d) 2 button device with joystick Figure 3.8: Example sketches of separated input device 3.3 Switching applications on the Watch As mentioned in Section 3.1.3, a framework is provided for the applications to allow easy access to the watch’s hardware. Most applications are just optimized for one task so it has to be expected that more than one application is running on the watch at every time.
CHAPTER 3. CONCEPTS 22 alServer. Doing that means losing some place on the already very small display but it seems inevitable. It is hard to emulate right clicks, which eliminates context menus. The majority of the users are familiar with the concept of a taskbar, which provides fast access to open applications. In this case an implementation in a similar way to the MDI interface of the Norwegian web browser Opera is needed.
23 Importance CHAPTER 3. CONCEPTS Category 1 Category 4 Category 3 Category 2 Time Figure 3.9: Example of how different applications can have different priorities over time. • The second category are applications which provide highly important information but only for a very short time. Email notifiers are in this class of applications. Within five seconds after an email has arrived this information is very valuable, until the next email arrives there is no information worth displaying.
24 CHAPTER 3. CONCEPTS very important to know whether it is 20 or 10 seconds to the end, but it is less important to know whether it is 5:10 minutes or 5:20 minutes to the end. To display the most important application the PersonalServer has to evaluate the amount of information of every running application. The same problem occurs when using an application of the third class.
CHAPTER 3. CONCEPTS 25 different to their setup at home—they would not have control over the applications running on the watch any more. A PDA can be easily ignored, with a watch worn on the wrist this is much harder. Additionally, problems come up if the number of devices or the network itself becomes to big. As mentioned in [64] the more complex the network gets the greater the costs in routing and network overhead. Also, authentication, recommended for a personal device like a watch, gets very complex.
CHAPTER 3. CONCEPTS 26 server is the main system connected to the watch, as Heartbeat is not designed for mobile devices. In the current implementations of the PersonalServer there is no bidirectional connection to the watch, it is therefore impossible for the PersonalServer to find out if it is connected to the watch. This reduces the benefit of the server shifting approach since situations could occur, where the watch does not have a connection to the real server any more.
27 CHAPTER 3. CONCEPTS development more complicated. • The applications are pushed by a synchronization application to provide exportable data. Consequently, the synchronization application sends the data to the second PersonalServer. On the other side this data is received and then presented to the matching application. Figure 3.
Chapter 4 The Implementation The concepts described in Chapter 3 were realized in two different implementations: • The first implementation was fully in Java, using Microsoft PocketPC as operating system on the iPAQ. Problems occurred with this implementation, mainly with the execution speed of Java (see Section 4.1.5), so a second PersonalServer was developed. • The second implementation was in C, using Linux as operating system on the iPAQ.
CHAPTER 4. THE IMPLEMENTATION 29 the future. Furthermore, this allows the transfer of running applications over a network to a different device, as mentioned in Section 3.4.2. Additionally, Java is a high level programming language, resulting in a shorter development time, a big advantage when it comes to prototyping. In fact, this prototype was developed within only a few weeks. 4.1.2 The Plugin Framework in Java A main aspect of the framework is to ease loading new applications at runtime.
CHAPTER 4. THE IMPLEMENTATION 4.1.3 30 The Application Template To allow the PersonalServer to access the applications, a common interface is needed. Therefore, a template is provided to define common properties of all applications. In the Java implementation this is the abstract class Application.
CHAPTER 4. THE IMPLEMENTATION 31 public void activated() {} public void click(int x, int y) {} The methods init() and close() are called as soon as the application starts or finishes and can be used for initializing or closing down network connections or an additional graphical user interface. If an application changes from being a background application to the one shown on the displays the method activated() is invoked to notify the application.
32 CHAPTER 4. THE IMPLEMENTATION 0 0xFF ID 15 16 type 31 value Figure 4.2: Structure of a DDTP packet. The first byte is used as a recognition sequence. The second byte specifies the ID of the input device, byte three the type of action. Byte four defines the value of the certain action. alServer. The first arriving message is used to register the input device on the PersonalServer. Figure 4.2 shows the packet structure of a DDTP packet.
CHAPTER 4. THE IMPLEMENTATION 33 Figure 4.3: Familiar Linux 0.7.2 running on an HP iPAQ 3870. it was noticed that the same problem occurs when no Java program is running on the iPAQ. The startup time of the Internet Explorer for example multiplied up to several seconds when the Bluetooth port was flooded with video data. However, it remained unclear if the reason for this was a hardware error on this specific device or a bad implementation of the PocketPC’s Bluetooth stack. 4.
CHAPTER 4. THE IMPLEMENTATION 34 developers, this is a great benefit, since programs can be tested and debugged on a desktop computer and then compiled and copied to the other platform. The biggest advantage of Linux is the OpenSource concept. Both the Linux kernel and most libraries are published under the terms of the GNU General Public License2 . Therefore, most development tools are free software and so is the compiler as well. For PocketPC, it is harder to find free compiler.
CHAPTER 4. THE IMPLEMENTATION 35 All in all Linux runs well on the iPAQ, though many small problems make the daily use of it difficult. But the number of developers is big enough that it can be expected that those bugs and problems are fixed soon. 4.3 The C Implementation The second implementation was done in the C programming language using the X graphics libraries for the GUI on the PersonalServer device.
CHAPTER 4. THE IMPLEMENTATION 36 plugin system is quite similar to the plugin system used in the mediaplayer XMMS, as it is explained in [30]. 4.3.3 The Application Template To allow the PersonalServer to access properties and methods of an application, the data type application t was defined. typedef struct { char* name; int colormode; appgui_t gui; appmethods_t methods; } application_t; The name character string defines the name of the application.
CHAPTER 4. THE IMPLEMENTATION 37 The other variables can be used by applications which directly access the X library for display functions instead of the wrapper functions of the PersonalServer (explained in Section 4.3.4). They define both the canvas as well as the actual Pixmap where the pixels are stored in the X library. From the view of the PersonalServer, the most important part are the values of the appmethods t struct. This struct defines the functions the application implements.
38 CHAPTER 4. THE IMPLEMENTATION libxps.so .config XPS application_t pserver_t libMyApplication.so Figure 4.4: Simplified diagram of the PersonalServer architecture. and libMyApplication.so are accessing the library libxps.so for redrawing functions. The additional library is necessary to be able to complete the link process after compiling the program. To be able to access properties and methods of each other, both the PersonalServer as well as the application have to exchange structs.
CHAPTER 4. THE IMPLEMENTATION This is a blind text. 39 This is a blind text Figure 4.5: Sample LCD update. If the word “text” changes color, only a part of the screen is redrawn. In this example this part consists of two boxes. main loop() in the PersonalServer program. The reason for this single-threaded approach was to allow the use of different, less powerful devices in the future.
40 CHAPTER 4. THE IMPLEMENTATION 0 0xFF LX ... 15 16 DT DL RX UY 31 DL LY 0 0xFF 15 16 0x80 DL 31 DL ... Figure 4.6: ITP start packet (left) and continuation packet (right). /* binary data 1 bit per pixel */ #define ITP_COLOR_BIN 11 /* binary format, run length encoded */ #define ITP_COLOR_BINRLE 3 /* rgb 16 bit */ #define ITP_COLOR_RGB16 10 /* rgb 16 bit with RLE */ #define ITP_COLOR_RGB16_RLE 9 Figure 4.7: Supported data types on the watch (extract from ITPConstants.h).
CHAPTER 4. THE IMPLEMENTATION 41 Figure 4.8: The task manager showing available applications in the Java (left) and the C Implementation (right). The images below represent the matching counterparts on the watch. Bytes three and four of the ITP packet define the total length of the payload as a 16 bit value, whereas byte three defines the most significant bits (MSB).
42 CHAPTER 4. THE IMPLEMENTATION 0xFF 15 16 0xFF Len sec2 sec3 0 sec4 31 sec1 ... Figure 4.9: Structure of a timer packet. Bytes one and two are a sequence of 0xF F to identify a timer packet. Byte three contains the length of the identifier message (max. 256). Bytes four to seven contain the number of seconds with byte four as most significant value. Bytes eight to the end of the packet contain the identifier string.
CHAPTER 4. THE IMPLEMENTATION 43 Figure 4.10: The timer application showing three different timers The timer application is built to show more countdowns at the same time, sorted by finishing time (see Figure 4.10). However, the application is kept very simple and contains only a few hundred lines of code. The plugin API is a wrap around some of the most used X functions so that both GUI and network initialization are only a few lines of code. 4.5.
CHAPTER 4. THE IMPLEMENTATION 44 Figure 4.11: The PersonalServer (left) and the watch (right) displaying basic song information. the playlist. Each of those is sent as a single UDP packet, thus allowing the plugin to be active even though no PersonalServer application is connected. This is an advantage if the user switches PersonalServers often. Within the plugin information is gathered every second and converted to strings. A UDP connection is used to broadcast this information.
CHAPTER 4. THE IMPLEMENTATION 45 Figure 4.12: RSS reader in the Java implementation with an additional dialog box. A big advantage in RSS’ XML structure is that it is possible to use packand-go XML parsers without the need to implement a parser by hand. This also eases the use of more streams at the same time. Especially free RSS feeds often have a low update rate. However, it is possible to combine more than one feed with different update times to get a better overall update frequency.
CHAPTER 4. THE IMPLEMENTATION 46 Figure 4.13: Defining a priority for an application. 4.5.4 Personal Information Management - Alarm Clock In contrast to the applications mentioned above the Alarm Clock shows that an application does not need a permanent network connection. Instead, the Alarm Clock uses a data file to retrieve the user’s schedule. This data file is a exported file from the popular PIM application KOrganizer. The Alarm Clock uses the priority redraw mentioned in Section 3.3.
CHAPTER 4. THE IMPLEMENTATION 4.5.5 47 Video Streaming - Baby Monitor With the upcoming third generation of mobile phones video telephony was thought as the compelling application. One way of displaying the video stream would be to send it to the LCD of the watch, so that users can use their handset as audio input device and the watch as video output device. Video streaming is useful in other domains as well, such as doorbell cameras or baby monitors to survey a child while it is sleeping in its bed.
Chapter 5 The Prototype This chapter gives an overview about the prototype which was used during the development. This prototype, as shown in Figure 5.1, was manufactured by the Hewlett Packard Research Labs (HPLabs) in California, US. It was tested with the C implementation of the PersonalServer framework as described in Section 4.3. Most of the code running on the watch was developed by John Ankcorn. Figure 5.1: The prototype developed from the HPLabs in California (US).
CHAPTER 5. THE PROTOTYPE 49 Figure 5.2: The watch’s display. color depth of 24 bits per pixel, though in the current implementation only 1 bit black and white and 16 bit RGB are supported. The display is hooked up via two connections, one used as a data line, the other one as control line.
CHAPTER 5. THE PROTOTYPE 50 which has 64 KB ROM for program code and 2 KB RAM for dynamic variables [59]. Additionally, it has two serial UARTs for connecting to the Bluetooth chip and to the LCD. The 16 bit processor is running with 4 MHz, the whole controller only needs 280 µA in active mode, making it optimally fitted for this project. The MSP430 is programmable with C code and a port of gcc for the MSP430 series is available.
51 CHAPTER 5. THE PROTOTYPE 15 16 0 31 0xFF 11 0 10 100 20 data ... 255 50 0 0xFF data 15 16 0x80 0 ... 31 0 255 0xFF data 15 16 0x80 0 31 120 ... Figure 5.3: Example for the ITP packet processing order. The windowing information from the ITP start packet is used to call lcd window(). Then the data is taken and sent to the display. The data of the following packets is displayed subsequently to the last pixel of the previous packet.
CHAPTER 5. THE PROTOTYPE 52 Figure 5.4: A comic strip shown on the display. The LCD’s origin is in the upper right corner which caused the images to be mirrored on the y-axis in the first versions. 5.3 Issues with the Watch Two issues occurred while using the watch in the current configuration, both regarding the microcontroller. Since the prototype is using a power supply unit instead of a battery pack no expectations regarding battery life can be made yet. 5.3.
CHAPTER 5. THE PROTOTYPE 53 overhead which sometimes exceeds 50% of the packet. Although extending the memory would allow bigger buffers and therefore larger packets, the processor speed has to be enhanced too, otherwise it would not be able to process the packets fast enough. More memory would allow other options such as font support. Instead of a huge amount of pixels, only characters and the coordinates have to be transferred. This reduces the amount of data to only a small portion.
Chapter 6 Review and Future Works This chapter now first gives a critical review on the concepts and the actual implementation and then a view in the future what might come next. 6.1 Critical review It is obvious that using a multi-purpose data display instead of a watch has advantages. But there are drawbacks too: In today’s stressed out world displaying data on the users’ wrists can put even more pressure on them.
CHAPTER 6. REVIEW AND FUTURE WORKS 55 PersonalServer’s needs better. A venture which finally failed. The decision to use Linux is hard to judge. While fans of this operating system will welcome this approach, critics might point out that this is a nofuture option since Linux is not the standard on PDAs and currently it does not look as if that would change in the next years.
Appendix A CD-ROM Content File System: ISO 9660 Mode: Single-Session (CD-ROM) A.1 Pfad: Thesis / thesis.dvi . . . . . . . . . thesis.pdf . . . . . . . . thesis.ps . . . . . . . . . A.2 Thesis (DVI file) Thesis (PDF file) Thesis (PostScript file) Online resources Path: /bibliography This folder contains all web resources used for citations in the thesis. All subdirectories represent a group of resources with similar topics.
APPENDIX A. CD-ROM CONTENT OnHand/ . . . . . . . . . OnHandEmulator/ . . . . PersonalServerC/ . . . . PersonalServerJava/ . . . WatchDisplayEmulator/ . XMMSPluginNetdisplay/ watch/ . . . . . . . . . . A.4 Pfad: 57 This directory contains the source code for using the Matsucom OnHand PC as display emulator instead of the watch and a Java UDP to SerialPortPort wrapper. This directory contains the source code for a Java program emulating the Matsucom OnHand PC.
APPENDIX A. CD-ROM CONTENT inq respond.tar.bz2 . . . watch toolchain.tgz . . . 58 StrongARM processor used on HP iPAQs. This file contains the vanilla program provided by John Ankcorn. This program can be used to let the watch respond to Bluetooth inquiries (hcitool inq) and reveal the hardware address of the device. This file contains the complete toolchain for compiling code for the MSP430 used on the watch and John Ankcorns example codes.
Bibliography [1] About the Java Technology. URL, http://java.sun.com/docs/books/ tutorial/getStarted/intro/definition.htm%l, April 2004. Copy on CD. [2] Bluetooth range in relation to different power classes. URL, http://www. palowireless.com/infotooth/knowbase/general/10.asp, March 2004. Copy on CD. [3] Data Link - FAQ. URL, http://www.timex.com/datalink/faq.html, May 2004. Copy on CD. [4] Familiar v0.7.2 installation. URL, http://familiar.handhelds.org/familiar/ releases/v0.7.2/install/, April 2004.
BIBLIOGRAPHY 60 [13] Linux compatibility. URL, http://www.linux.org/docs/beginner/platforms. html, April 2004. Copy on CD. [14] Microsoft launches Smart Personal Object Technology Initiative. URL, http://www.microsoft.com/presspass/features/2002/nov02/11-17SPOT.asp, May 2004. Copy on CD. [15] Microsoft SPOT watches to go on sale in January. URL, http://www. infoworld.com/article/03/12/16/HNmsspot 1.html, May 2004. Copy on CD.
BIBLIOGRAPHY 61 [30] A. Birkett. XMMS plugin tutorial at nobugs.org. URL, http://www.xmms. org/docs/vis-plugin.html, April 2004. Copy on CD. [31] Bluetooth SIG. Specification of the Bluetooth System, 1.1 edition, February 2001. [32] S. Capkun, L. Buttyan, and J.-P. Hubaux. Self-organized public-key management for mobile ad hoc networks. IEEE Transactions on Mobile Computing, 2(1):52 – 65, January - March 2003. [33] DataCompression Reference Center. RLE - Run Length Encoding. URL, http://web.archive.
BIBLIOGRAPHY 62 [46] C. Narayanaswami, N. Kamijoh, M. Raghunath, T. Inoue, T. Cipolla, J. Sanford, and E. Schlig. IBM’s linux watch: The challenge of miniaturization. IEEE Computer, pages 33–41, January 2002. [47] C. Narayanaswami, M. T. Raghunath, and N. Kamijoh. What would you do with a hundred MIPS on your wrist? Technical report, IBM Research Division, Thomas J. Watson Research Center, 2001. [48] C. Narayanswami and M. Raghunath. Application design for a smart watch with a high resolution display.
BIBLIOGRAPHY 63 [62] T. Uemukai, T. Hara, M. Tsukamoto, and S. Nishio. A remote display environment: An integration of mobile and ubiquitous computing environments. In Proceedings of IEEE Wireless Communications and Networking Conference, pages 618–624, Orlando, Florida, USA, March 2002. [63] J. T. Vainio. Bluetooth security. URL, http://www.niksula.cs.hut.fi/ ∼jiitv/ bluesec.html, June 2004. Copy on CD. [64] B. Xu, S. Hischke, and B. Walke. The role of ad hoc networking in future wireless communications.
Messbox zur Druckkontrolle — Druckgre kontrollieren! — Breite = 100 mm Höhe = 50 mm — Diese Seite nach dem Druck entfernen! — 64