CSE 118 Project
A principal component of this class is a team project. The purpose of the
project is several-fold:
- To help you and your fellow students better understand the challenges
and opportunities for ubiquitous computing.
- To help you develop your analytical and creative abilities.
- To give you insight into the creative side of the research process.
- To give you an opportunity to express your ideas and aspirations.
- Change the world.
Projects are by their nature positivist. To summon the energy to undertake a
project, you must believe--at least for a while--that it can make a difference
in people's lives. Even if this project itself doesn't succeed, you need
to believe a little that it could be an important stepping stone to success.
The cornerstone of your project will be a research statement,
typically provided in the form of a hypothesis or claim.
For example, ''We hypothesize that ubiquitous instant messaging can
ameliorate modern alienation.'' That's pretty ambitious, but given
such a claim, you could undertake a smaller project that addresses a subclaim.
Your project does not need to be an implementation, but it does need to be
empirical. That is, your project has to directly engage the
phenomena of ubiquitous computing or its current antecedents as a way of
testing your hypothesis. For example, you could investigate current uses
of instant messaging on a university campus as a way of gaining insight
into the potential for ubiquitous instant messaging.
Your project proposal needs to have the following components:
- Motivation: a description of a problem that is of importance to people.
- Claim: a statement of how you believe this problem could be addressed.
- Solution approach: an idea of how to realize or test your hypothesis.
- Plan: a concrete set of steps, preferably with scheduled milestones, for
testing your solution.
- Materials: resources required to complete your project.
- Risks: a list of potential causes of project failure. Not failure of
your hypothesis, but failure to test your hypothesis. In our setting,
most risks involve events that cause delays. In other words, most risks
mutate into schedule risks.
Your project should be informed by the insights of your predecessors.
In particular, you should do background research to construct your
motivation, drawing on previous successes and failures to justify your
motivation and lend credibility to your claim. An excellent starting point
is the papers we've read (or will read) in class, but you'll want to dig
further into the literature than the few papers we've read. Good literature
searching and reading skills will be critical to success. We don't want
to reinvent the wheel...especially a square one! A good way to extend
your literature search is to check the citations in the papers we've read,
as well as papers that cite the papers we've read. To find these, perhaps
use citeseer, for example.
Your motivation and design should also be justified by experience, where
possible. Thus, empirical techniques such as observation of use of
predecessor technologies, low-fidelity prototyping, and deployment of
working prototypes is highly recommended. From these, relevantly
contextualized critiques of prior technologies and your own solutions
should be possible.
Successful projects are obsessed with avoiding and resolving risks. Here are
some things that can go wrong:
- Success of your project depends on circumstances outside your control
(e.g., timely delivery of a piece of hardware).
- You grossly underestimate the time to complete (a stage of) the project.
- You are unfamiliar with key technologies.
- Your team can't agree on details of the project.
- Your team can never find a time to meet.
- The members of the team are too busy with other classes to work on
this one.
- Everyone on the team works separately and then tries to integrate it
all at the end.
- You start the project in week 9.
- Key hardware fails.
A key to success is being able to quickly detect when one of these is
happening. Thus, regular (weekly) milestones with measurable objectives
are a valuable mechanism for bringing problems to light early.
A related key to success is to divide your project into incremental
deliverables, with each deliverable increment being a useful end-result
as well as a suitable basis for further progress. This is an essential
element of feature-oriented software development, but the method can be
extended beyond software. A simple method is to start with your original
idea and then ask, what can we take out? Bit by bit, you can
remove system (project) requirements or features, until all that's left
is the essential core. The deliverable of the essental core should be
well before the final presentation deadline, giving you plenty of room
for error.
Finally, modesty is a good quality. No matter what project you choose, it
will be harder than you anticipated. If it turns out to be easier, you'll
have time to add valuable incremental deliverables, perhaps in the form of
insightful user tests.
The project will culminate in a 5 page paper (ACM format, 10 point font),
and a short project presentation that will highlight the parts of your project
that are hard to present in writing (e.g., a demo). If you build
something, your presentation should include a demo of what you built.
This presentation will be held during the scheduled time for the final,
unless we all agree on a better time in advance.
Required Milestones
Proposal: | Short proposal presentation; turn in supporting research material |
Due: | Tuesday 10/26 |
| |
Web page: | Public site for your project |
Due: | One week after proposal |
| |
Final presentation: | Extended presentation; turn in supporting research material |
Due: | Wednesday Dec. 8, 11:30am - 2:30pm |
For more thoughts on approaching a project, see my
CSE210 project page.
Project Resources
Hardware.
- We have HP Mobile Messenger hw6945 smartphones, which are a
highly-featured computing platform. They are Windows Mobile GSM phones
with 802.11b and bluetooth. With their bluetooth capabilities, you
can add cool gear. The camera also presents interesting
opportunities, especially with a data network plan. And then there's
the microphone, which can pick up sound. The phones have a modest GPS unit
inside, and getting access to the GSM network data can say a lot about
your location. The phones support both stylus and keyboard input.
- I also have access to slightly older HTC Windows Smartphones. These are
smaller, and have excellent implementations.
- I have a few fairly advanced Nokia phones of a couple of different
hardware types. One model, the N900, is a Linux phone. The others
are N95's. Both are fairly easy to program with Python.
- I can get access to TabletPCs, as well as the unusual Anoto digital
pen technology, which lets you write on paper and to capture and send
that writing to a computer as well.
- I might be able to track down a couple of Android phones. By the
way, iPhones are not great ubicomp hardware because they can only run
one process at a time - no background processing of incoming sensor data.
- I am responsible for operating the public displays in the department. They
are driven by high-powered Windows machines.
- If you want to do something fairly custom, the Arduino family of
microcontrollers and peripherals may be the way to go. These are very
easy to assemble and program. As an open-source platform, there are many
manufacturers and options. It can be a little confusing, but also a lot of
fun! There are also derivatives of Arduino, like the Lilypad Arduino. This
is one place to start reading: http://en.wikipedia.org/wiki/Arduino.
- Consider smart home hardware, like you can get affordably at SmartHome. There are surely lots more sensors out there that I don't know about.
- There are also cute "appliances" like the Chumby.
Some of you are probably hatching projects that require some kind of sensor.
You can use your phones or the PDA's to sense a number of things, or a
laptop, perhaps with an add-in card:
- A microphone can sense sound; the IR port can sense...IR.
- A wireless card can sense the presence of other cards, or network
traffic in general.
- A camera provides light and motion sensing.
- Many kinds of sensors can connect to a laptop's PCMCIA, Serial, or USB
ports. A PCMCIA slot can be converted to a CF slot with an adapter.
You may have to search Google in order to find the hardware and driver patches
that you need to get everything to work.
Software. There is lots of software out there for your use. In
general it is hard to use, either because it it is low-level, complex, or
immature. This is the nature of research. The list below will grow over
time, and you may find your own resources. Please let me know if you find
something interesting:
- UW's
Classroom Presenter (UWCP). Classroom Presenter is a classroom
presentation and student interaction application. The professor
can easily and freely write on slides, and students can interact in
the display as well.
- UCSD's Ubiquitous Presenter (UP).
UP is a web-based extension of UWCP that supports student viewing
in class as well as out. A key feature of UP is "student submissions",
which enables students to submit answers to problems imposed by the
instructor. It supports tabletpc, laptop, and phone interaction.
- Place Lab. Place Lab is a
collection of software and data resources for location-aware computing.
Project Ideas (more coming)
You can pursue any project you wish, subject to approval (based on relevance,
feasibility, research focus, etc.). Here are some ideas, if you don't
have your own. You may want to riff on these ideas, riff on the papers
in the readings, or get ideas from someone who might have an interest in
what you build. We're just scratching the surface here:
- Area: Medical devices and applications. Paul Blair
(pblair@ucsd.edu), working for Cal-(IT)2, is doing research in this
area, and could provide ideas and guidance.
- Area: Public displays. How could experience be enhanced by
public displays that aren't just feeding news, sports scores,
and advertising? How could people experience or use something like
ActiveCampus through a public display? See Plasma Poster reading by
Churchill. Could a phone be used to contribute to and manipulate
such a display? Upload and download content? I have some specific
ideas, if you want to brainstorm a little.
- Idea: Affective Media Space. How could you use 'ambient'
video or audio to maintain awareness and relationships amongst people
who are not in the same space? For the use of still images, see
the reading by Liechti and Ichikawa. I have a specific idea for this
project, so come see me if you're interested.