GSoC 2011 : OpenIntents Proposal
April 5, 2011 § Leave a comment
Name: Rachee Singh
Current Occupation: Computer Science Undergraduate (BITS Pilani Goa Campus, India)
Email ID: firstname.lastname@example.org
IRC Handle: rachee
Goal of the Project:
The concept underneath this application resembles the simple mechanism adopted by crying children that quite effectively minimizes the probability of losing family members in crowded malls. The application intends to reduce the possibility of losing a mobile device on account of carelessness and forgetfulness on the part of the user.
OI Safe Patch for Issue #297
I made a tiny patch for issue 297 . The fix works this way:
- When the text (username/password) is copied to the clipboard, it is also copied to a static string variable in Safe.java.
- When the safe is locked, the clipboard is compared to this static variable, and if it is the same as the last stored password, the clipboard is cleared.
Safe.java isn’t terminated until the application terminates, so the static variable we need is retained.
The patch was applied here.
This fixed the issue #297.
This is link to the post on the discussion group.
Experience with Android Development
I have been involved with Android Development for the past 4 months. Although I had been well acquainted with Java for a much longer span, I have worked on the Android platform rigorously in these past 4 months. Here’s a list of android projects that I am working on:
- Route My To-Do
This application is a location based To-Do list (integrated with Google Maps) with the capability to make a route on the Google Maps, displaying the route that you need to take from where you are to start checking tasks off the list!The idea behind this application is that f you are unavailable to perform all the tasks in person, someone else (for instance your driver) could finish the tasks for you.
This application aims at enabling voters to make smarter decisions while choosing amongst candidates contesting for public offices in any organization, a university campus or at a bigger stage. Knowing the candidate’s general image, his own statements on issues of importance would enable a voter to play smart.
BlueLink, the work has begun!
As a result of the intense discussions on the lively discussion group of OpenIntents, BlueLink is not a mere thought on paper! The work has begun; so much so that the application has a face, it hunts for Bluetooth adapters in the vicinity, recognizes its old friends and raises alarms to neighboring application OI Safe.
You can download the android project here.
Here’s the OI Safe patch for integration with BlueLink.
I had suggested a crude form of this project idea on the OpenIntents discussion group weeks before the application process for mentor organizations had begun. The acceptance of this idea by OpenIntents was more than what I could ask for. My eagerness to build this application is evident from the early communication with my prospective mentors. The regular discussions on the group led into the development of a fine roadmap and proposal that deals with every minute detail of each aspect of the application. Through my early start, contributions, past experience with Android programming and the half baked application ‘HelloBluetooth’, I think I have conveyed that I am the most motivated candidate for this project. Given the opportunity, I would carry this project on to a successful conclusion and continue to work for its improvement after the GSoC tenure.
Contribution beyond GSoC
This project involves integration with existing OpenIntents applications, for instance OI File Manager. Since I would be working closely with these applications, it would require me to delve into their source code. This puts me in a better position to work on the issues that the applications face. Apart from providing patches that would integrate BlueLink’s functionality into the existing OI apps, I would like to keep the link between me and the organization intact by making these apps issue-free.
First Phase: May 23 – July 10
Week 1: Device Discovery and Recognition
(This part is almost implemented in the course of the discussions on the group. So I would build upon and improve any existing issues. This would also provide a good span to get ahead of the proposed timeline. )
Week 2: Pairing Devices
- Storing Paired Device data.
- Recognizing devices previously paired with.
Week 3: Synchronizing timer action of paired devices.
- Confirmation sending from paired device.
- Receiving confirmation and starting polling.
- Timer function to turn Bluetooth On/Off.
Week 4: Passive Polling Mechanism
- Configurable polling interval options to user
a) Providing options to the user to choose polling interval.
b)Testing power consumption with varying time intervals.
- Optimum polling interval as default.
Week 5: Settings Activity
- UI for the settings Activity
- Notification Mechanism Options menu
Week 6: Alert Mechanism
- An SMS with GPS coordinates
- Vibration/Audio Alerts.
- A phone call from either device.
Week 7:Documentation and Testing
- Testing and Fixing bugs
My deliverables at this stage will be;
- A complete UI for the application.
- Fully documented and (reasonably) bug free code for the application.
- An application capable of:
- Discovering devices in the vicinity
- Pairing with devices and storing data (MAC address etc) related to the device to recognize it in future.
- Starting the polling process simultaneously on both devices on receipt of confirmations.
- Polling the paired device at regular (configurable) intervals of time.
- Giving user the options of choosing alert mechanisms in case of device theft.
- Providing SMS, audio/vibration, phone call on the other device based notifications.
Second Phase: July 11 – August 15
Week 8: Sending Intents to OI File Manager and other applications
(This is another part of the application that I have started to implement during the discussion on the group. This is with reference to the patch for OI Safe that implements a broadcast receiver and listens for the intent ‘BLUE_LINK_BROKEN’.)
- Setting up Broadcast Receivers in existing OI apps.
- Sending intents from BlueLink.
Week 9: Deletion of Data from OI File Manager (on receiving BLUE_LINK_BROKEN intent)
- Implementing deletion of data (deletion of pictures). (This functionality will be implemented in the Broadcast Receiver of OI File manager)
- Deleting notes from Notepad application with [secure] word in the title.
- Patch for OI File Manager for the inclusion of the aspects mentioned in 1 and 2.
Week 10: Password Protection of data
Week 11: Device Lock down functionality
Week 12: Documentation and Testing (Wrapping up the project)
- Testing and fixing bugs
My deliverables at this stage will be;
- A fully functional application, implementing the desired functionality.
- Procedure to send intents to applications and suitable reactions to the intent BLUE_LINK_BROKEN.
- Patches for existing OI applications, integrating them with BlueLink.
- Fully documented code for the application.
(Week 1 and Week 8 are both buffer weeks to make up for any loss of time during the tenure of the project.