CSE 118 Research Project
A principal component of this class is a team research 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.
- To change the world.
You can pursue any project you wish, subject to approval (based on relevance, feasibility, research focus, etc.). You can come up with an original idea of your own, you can draw on the suggestions below, or you can replicate a published project (or a specific part of one) from the literature. To come up with ideas, you may want to riff on the papers in the readings, get ideas from people doing research that's interesting to you, and discuss ideas with your peers.
The project will culminate in a 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.
Milestones
Week 1 (suggested) Wednesday, 9/28 | Form groups |
Week 3 Wednesday, 10/12 | Motivation and claim (draft) | Turn in written draft |
Week 4 Wednesday, 10/19 | Related work and bibliography (draft) | Turn in written draft |
Week 5 Wednesday, 10/26 | Research questions(s) and solution approach (draft) | Turn in written draft |
Week 6 Wednesday, 11/2 | Proposal | Short presentation [template]; turn in written proposal |
Finals week Tuesday, 12/6 11:30am-2:30pm EBU3b 1202 | Final presentation | Extended presentation[template, rubric, schedule]; turn in peer assessments and any supporting materials |
Proposal
Required compontents
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.
- Related work: a description of prior approaches to addressing this problem (or similar problems) and how your approach is different, novel, and/or better.
- Research question(s): a focused question (or small number of questions) describing the goal(s) of your research. What are you trying to find out?
- Solution approach: a plan for how to realize your proposed solution and test your hypothesis — design, implementation, evaluation, etc. Use your research question(s) to focus your approach.
- Timeline: a concrete set of steps, with scheduled milestones, for
testing your solution.
- Materials: a list of 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.
- Bibliography: a list of references to background material, related work
More details and suggestions
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 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 google scholar, 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.
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.
Project Resources
Hardware.
- We have access to LG Expo smartphones with optional (removable) pico-projector attachments. They are Windows Mobile 6.5 phones with touchscreen, stylus, slide-out QWERTY keyboard, and the ability to use WIFI, bluetooth, GPS, etc.
- We have HP Mobile Messenger hw6945 smartphones, which are a
highly-featured computing platform. They are Windows Mobile 5 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 have access to 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 Anoto digital pen technology, which lets you write on paper and to capture and send that writing to a computer (including to a mobile phone).
- 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 have access to 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 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
Here are some project ideas and contacts. You can either get involved in an existing research project or start a new one. You can work on an idea that you come up with or get suggestions from others.
- Area: Participatory sensing. Bill Griswold (wgg@cs.ucsd.edu), in the CSE department, is doing research in this area and could provide ideas and guidance. See the CitiSense project.
- Area: Energy consumption awareness. How can energy usage be visualized effectively to support users in understanding and reducing their energy consumption? Yuvraj Agarwal (yuvraj@cs.ucsd.edu), in the CSE department, is doing research in this area and could provide ideas and guidance.
- Area: Education. Beth Simon (bsimon@ucsd.edu), in the CSE department, is doing research on supporting learning. See Ubiquitous Presenter.
- Area: Sketch-based communication. How could static (color, line thickness) and dynamic (animation) representations of sketches be used to convey information? How can the ability to share sketches support the activities of different user populations (e.g., children, older adults)? How does sharing paper-based sketches compare with sharing sketches captured with cameraphones or tablets? I have some ideas for how to extend the UbiSketch system (see readings).
- Area: Public and ambient displays. How could experience be enhanced by public displays that aren't just feeding news, sports scores, and advertising? Could a phone be used to contribute to and manipulate such a display? Upload and download content? How could you use 'ambient' video or audio to maintain awareness and relationships amongst people who are not in the same space, or to augment social interaction among people who are in the same space?
- Area: Personal mobile projection. How can a personal mobile projector (such as a projector phone) support ambient awareness, new usage scenarios (nighttime / dark situations), collaboration, gaming, storytelling, and novel kinds of social interactions? See me if you want to bounce ideas around.
- Area: Preventive health. Kevin Patrick, from the UCSD school of medicine and CalIT2, is doing research on social/mobile approaches to support improved health behaviors. See the SMART project.
- Area: Digital pens and paper-based computing. Nadir Weibel (weibel@ucsd.edu), in the Cognitive Science department, is doing research in this area and could provide ideas and guidance.
- Area: Assistive technology. Anne Marie Piper (apiper@ucsd.edu) in the Cognitive Science department, is doing research on supporting people with cognitive impairments and supporting doctor-patient communication.
- 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: Vehicular sensing. Mohan Trivedi (trivedi@ece.ucsd.edu), in the ECE department and CalIT2, is working on projects involving computer vision, robotics and sensors for applications including "smart cars", intelligent transportation systems, "smart rooms", and biometrics.