Programming Assignment Week 3:

Track Stephen's Activity

Due Sunday May 29 by 6PM

This is a team assignment

Testing this assignment will require a bit of time. For that reason, please start early.

The purpose of this assignment is to help you explore Android's capabilities for using phone sensing to gather information about the phone state and the user's behavior and context. The more information you can gather using these sensors, the more interesting you will be able to make your final project.

Once again, you will add a new button to your Market app: "Track Stephen." When this button is pressed, it should pop a screen or series of screens with as much information as possible about what Stephen has been up to with his phone since the app was installed, nicely summarized and organized.

This is assignment is open-ended. Your goal is to gather as much information as you can and then organize and present it. Ideas you might explore are the following:

Important: You will need to make sure that your app runs automatically as a service once it is run the first time and that it is zippy when responding to Broadcasts, or it is likely to crash. Also, be aware that when the phone is in a low power state, it behaves differently when it is not (hint: wakelocks).

I will grade this assignment by keeping track of exactly what I do with the phone for 24-48 hours and then looking to see what your application reports it knows about what I did. The more nicely presented summary information, the better.

I will update all the apps on Sunday night. and then see what they have to say about my activity 24 hours later. After the assignment, we will share what worked and didn't. This assignment should help you to prepare you to make a very interesting context-sensitive addictive app for your final project that takes advantage of this information in some way.