A list of ideas I've had for writing applications.
SMSDump displays all of the SMSes sent and received on a device, using the undocumented SMS ContentResolver URI. The undocumented interface needed to be used as the Android team removed the API before the 1.0 release.
It was written as the building block for an app that would sync SMSes to a users gmail account, allowing integration between email, Google talk and SMS chats. Luckly, while I was prototyping my IMAP syncing code in Python, someone else had the same idea and released "android-sms", a sync-SMS-to-gmail app. Even better, the author open sourced it. I've submitted some patches to his project, and hope to continue helping out.
Gate opener is an application for Android. It can be configured to send an arbitrary HTTP command when it encounters a set wifi network.
I intend to use it for logging on to Internode wifi hotspots.
The idea came from the following conversation in #android on freenode:
10:15 rsteckler: how would you open a garage door with an android? Is the
garage door hooked up to the home network or something?
10:16 @SanMehat: yeah
10:16 rsteckler: rad
10:16 @SanMehat: it makes an http:// request once it connects to a specific
wifi network its scanning for
They are referring to android-garage-opener
AGO uses a service and an activity.
The activity will be there to provide an interface for configuring the service, as well as initiating a manual operation (is this the HTTP action? Or scanning? Connecting?).
The service will listen for WifiManager intents. Presume that the user will have saved the target wifi network, therefore it will connect when in range. The server needs to know when the target connection is ready to transmit data, and then send it's HTTP command.
Can the activity save a wifi connection so the user does not need to do so?
Upon successfully sending the command (which implies getting the appropriate ACK) a status icon can be displayed.
There's a bunch of data made available by the phone that might show interesting results when presented appropriately. Posting this data to somewhere online would be the first step.
The most obvious way to present this data is in a graph.
Graph of call time
Contacts could be associated with carriers, showing what carrier is contacted the most often.