This is an extended sequence of assignments, typically peformed by a group of four students. Each team will conceptualize, design, test, and build a prototype of an interactive application or device. The focus will be on location-aware and context-aware applications. Of particular interest are visually oriented applications that are fun, such as games. Another interesting approach is to integrate context from social networking sites, such as Facebook, Flickr, or Twitter, bringing a sense of Bush trails into your application (ecologylab.xml can help). Yet another approach would be to use combinFormation as a component, using ecologylab.xml and Object-Oriented Distributed Semantic Services to send the program messages. Another relevant software component is Birnholtz's Open Messenger.
Location-aware applications are typically built into mobile devices. These devices can use technologies such as GPS (global positioning system), cell identification, or RFID tracking (higher precision, shorter range) in order to realize where a person is. Location-aware applications use this information to provide services, such as background information about nearby attractions, movie times, or compatible dates.
Context-aware applications are also often built into mobile or wearable devices. These applications model a person's current activity. They form responses based on this model. A typical example of a location aware application is a cellphone that knows about your appointments calendar, and other life events. It can ring or not ring in a manner appropriate to what you're doing. For instance, it would not ring during this class unless someone close to you was about to have a baby, or an operation. A special class of interactive context-aware applications that focus on human attention are called attentive interfaces.
- Concept - innovation, research contribution, how existing materials and new ideas are integrated, and relationship between what you build and your goals and intentions.
- Solid prior work exposition.
- Iterative design process.
- Incorporation of feedback.
- Building something that works.
- Evaluation -- Define scenarios and tasks carefully. Make sure that you can collect meaningful data. Who are the users? What realistic tasks will they perform? This must strongly influence your project definition.
- Presentation
- Writing
Resources: We have two one-pound OQO handhelds, one similar Sony Vaio UX Micro PC, and 3 2.5-pound Dell Mini 9 Netbooks. All of these run Windows XP and Java SE, and have 1G of RAM. They also have a VGA connector, so you can attach an external monitor during development (like running Eclipse). SurfStar 3 GPS units are available for each. Digital compasses may also be available it there is interest.
| due tuesday 11/3 | concept + project proposal |
| due tuesday 11/10 | prior work -> proposal refinement [presentations] |
| due tuesday 11/17 | story boards + lo-fi prototype |
| due tuesday 11/24 | user study 1 |
| due tuesday 12/1 | functional prototype 1 |
| due tuesday 12/8 | user study 2 |
| tuesday 12/15 1-3 pm | final presentation & paper |
Winograd, T., Project, http://www.stanford.edu/class/cs147/2003/projects.html.