MemoClip: A Location based Remembrance Appliance
2th International Symposium on Handheld and Ubiquitous Computing (HUC2000), Bristol, UK, Sept. 25-27, 2000 and Personal Technologies Vol. 4 No. 4 2000, Springer Press, pp. 230-234F.
Abstract. Reminder tools allow users to associate information with time-based alarms. However, in many cases space rather than time may be appropriate to trigger reminders. We present a wearable artifact, the MemoClip (a small clip), that reminds a user of things he should do depending on where he is. A user can associate information to be remembered with a description of a location, download it onto the MemoClip, and then gets notified accordingly when entering the selected location.
Computer-based memory aids help people retrieve information. One example is the remembrance agent  that uses context information available within the system, e.g. words typed into the text processor, to retrieve similar documents. Another example are reminder functions on PDAs (Personal Digital Assistants) or organizers, that enable users to associate alarms with notes or calendar entries; these alarms go off at a specified time to remind their users of things to do. Such time-based reminders are well established, however in daily experience it is often space rather than time that serves people to remind them of tasks. For example, people stick post-its to their bathroom mirror or place things they should take along at the front of the door.
The MemoClip presented in this paper is a small wearable location aware device. It actively reminds a user of tasks depending on his location. To facilitate this, the user can associate task information with place descriptions. When a user enters a place that has been associated with a task, the MemoClip beeps and displays the task information. In this paper we describe design and implementation of the MemoClip and its infrastructure, and discuss underlying concepts.
2 MemoClip: A Remembrance Appliance
The MemoClip application consists of three artifacts. First, the MemoClip itself (Figure 1), a clip equipped with a computer, some sensors, communication capabilities and a LCD display (4x5 cm) that can be attached to a shirt or jacket. Second, LocationBeacons, solar panel powered, connectionless devices that are installed at places of interest. Such a beacon sends a location description of the place he is located. Third, a programming device (here a PC) that is used to program both beacons and MemoClips. The clip looks out for location informations that are sent by beacons.
If the user wants to be reminded, e.g. to take something along when leaving the office, he stores this information on his MemoClip and associates the information with a description of known places using a PC program (Figure 2). Such places are presented as a hierarchically ordered combo-list. For every place, a list of possible relationships is shown also, allowing the user to cope with a larger number of places by following associations between places. After selecting the place, a text describing the task can be entered. Then the MemoClip is placed in front of the PCs infrared adapter and a download process is initiated. The MemoClip stores all event-location pairs in an internal database and is then independent of a communication infrastructure.
The MemoClip is usually stuck onto the user shirt. As the user moves (detected by movement sensors on the clip) the clip constantly sends requests for location information. If a beacon receives these requests, location information was send back to the MemoClip. This location information is then compared to the database of the MemoClip. If the location send by the LocationBeacon matches a location in the database, a "beep" sound reminds the user to look at the clip. The MemoClips LCD displays the record in the database (the task description entered by the user). This information can then be accepted or stored to the hold file by the user with one or two presses on the clip. To run the scenario, LocationBeacons have to be programmed with the location description and then installed at interesting places first (e.g. at the office entrance) by sticking them on the ceiling. The LocationBeacons can then tell devices as the MemoClip in a specific area where they are by sending them the location information.
3 Describing Location
Geographical space is a space whose structure is at a significantly larger scale than the observations available at an instant . A human represents such geographical space in a cognitive map. In contrast to geographic maps these maps are not based on Euclidean geometry. Instead the perception is collage like  with areas of more or less precise descriptions of the spatial layout. Inside this large scale space (e.g. a town), islands of known places exist (e.g. your flat, your office). Similar to  we use a model, that describes places in small-scale (e.g. office) environments with a semantic description while possibly introducing a linkage between places (relationships). These relationships are also semantic descriptions. The places can be described hierarchically; a place (e.g. a bathroom) can be contained in another place (e.g. flat). Other relationships as "right to" are also thinkable to traverse through a net of place descriptions. The system makes a default description of places available to the user. Because perception of space differs only slightly between different people  a well designed place description can be understandable by different users, even from different cultures. However, different humans use different preferred descriptions for places. This is addressed by the system presented here by allowing a user to create a subjective description on the basis of the default description. The user description contains descriptions of places in the users notion and semantic relationship descriptions to link between places. This subjective description can be used, even when the same equipment is shared among people.
The system identifies a location either from the user description database or the default database through a unique ID. The default description and the UID of the location is stored in an "Location Name Service" (LNS) and can be retrieved using the RAUM protocol . The RAUM protocol, which is also used to communicate between all devices described here, allows delivery of messages based on spatial relationships of communicating devices. Positions are described in RAUM as a tree of location descriptions with edges describing the relationship "contains" (Figure 3). In contrast to subjective descriptions, also geometric descriptions can be used at leaf level.
4 MemoClip Implementation
The MemoClip artefact is a clip-like computer device containing an LCD display (128x64 dot resolution), an electronic circuit using a Microchip PIC 16F876 as microprocessor and 2 ball movement sensors. The MemoClip can store up to 8000 characters (approximate 300 tasks) and contains a Hewlett-Packard HSDL1001/7001 combination as communication chips. The MemoClip uses IrDA encoding (physical layer) and the RAUM-protocol for layer 2 communication and above. This protocol is used both for PC-communication and to receive location information from the LocationBeacon. Therefore, the communication interface was mounted on top of the clip, which allows transmitting messages from and to the ceiling. If the user does not move, the board goes into sleep mode to safe energy. Only when a movement was detected the MemoClip sends request packets to the environment and waits for a beacon to answer. Both, the receiving unit of the beacon and the sender of the clip use short asynchronous intervals ensuring exact detection and reduced power consumption for MemoClip and LocationBeacon.
The LocationBeacon is a small device with the ability to broadcast the location information into a specific area, similar to MITs LocustSwarm . The main differences between both are: LocationBeacons send information only when detecting a requesting packet from the MemoClip to safe energy, the LocationBeacon must not be placed near to a light and can also run in darkness, and the beacon uses the IrDA standard to communicate. The LocationBeacon consist mainly of an IrDA chip (PC & clip communication) and a PIC 16LF84 microprocessor. The LocationBeacon receives energy from a solar cell, buffered by two 1F GoldCaps. The energy delivered by the solar cells (in house, no direct light, average) is 225m A at 3.4V. When heavily used (e.g. sending every 20 sec.), the beacon consumes 20m A, which allows to send and recharge batteries during a short day and send through a long night.
We found two main factors that influence the usability of the MemoClip: the way notification information is entered into the system and the way location is described and associated with a users perception of location. Technical conditions also influence usability. For example, to be effective, the system must be robust and fail proof. This refers not only to hardware and software stability, but also to energy management. Furthermore the certainty of location detection may not be under a specific threshold and the installation of the beacons should be convenient and the application "zero-administration". The latter one is provided by the chosen technical solution e.g. maintenance-free power supply via solar panels and by using ad-hoc RAUM communication.
We found that location descriptions are subject to constant change in humans perception. This change must be supported by every location-based system. Another finding is that users would like to use a combined location and timeframe description to trigger events. Both issues will be addressed in the next version of the MemoClip. Further work will also allow reminding users outdoors with the help of GPS. Such GPS based information retrieval has already been explored by Brown . Concerning the MemoClip this will require mapping GPS coordinates to a semantic description of places.