Dear OpenMoko community,<br><br>I plan on writing and extending OpenMoko apps to take best advantage of GPS data, providing support to all OpenMoko apps via d-bus and providing useful built-in functions in the base Moko apps. My primary objectives are:
<br>1) Write a library or daemon that provides simple geographically related data to Moko apps, such as creation and management of GPS points, distance between the phone and a point, finding the nearest point, generating a list of all points within a certain distance, etc.
<br>2) Write a daemon that reports events based on geographical location or location relative to defined GPS nodes. This allows the phone to automatically perform tasks based on GPS data without each having to poll the GPS module by providing an event-driven geolocation architecture.
<br>3) Write a GPS-smart todo list application that can give reminders based on location, generate a pared-down todo list based on location, and provides an API to other apps for parsing various structures (especially plain text, as might be received in an email or typed with the stylus, and info imported from calendars) into a todo list complete with geographic info.
<br>4) Write GPS intelligence into a profile switching app, allowing automatic reconfiguration of the phone depending on geographical location or location relative to defined GPS points. Useful features include automatically going into drive-mode when driving, silent-mode when inside a theatre or symphony hall, silent mode (or disabled communications mode) when inside a public school, etc.
<br>5) Integrate the above into an auto-task manager that can automatically perform tasks such as &quot;Sync with my latest email and calendar data as I
walk/drive to work&quot; or &quot;Put music player at top of my commonly used
apps list when I get to track practice&quot;. The same task manager can also incorporate data such as current time, number of emails in inbox, which day of the week, etc. The goal of this application is to allow sophisticated control over phone automation for power users and give a number of sane, useful options to basic phone users.
<br><br>Scope of the Summer of Code project: implement 1 and 2 solidly, laying the framework for the next ones; implement 3 4 and 5 as far as time allows, focusing more on function than polish (though with the OpenMoko application framework, polish isn&#39;t exactly hard to come by!)
<br><br>About me: I am 18 years old and a USA resident. I have been tinkering with computers all my life, but only started programming at 11. My name is Ryan and my primary interests are computers, microbiology, and world travel (I&#39;m writing this from Europe). I enjoy long walks on the beach and longer hacking sessions afterwards.
<br><br>My development experience: The languages I am best with are Python, Scheme, and JavaScript. I am willing to (and know that I have to) learn C/C++, and I know a smattering of Perl, PHP, and Java. I have worked with a number of application frameworks including GTK+ and have spent a lot of time using (and being frustrated with) mobile phones. I am comfortable developing on a Linux computer, and use a Linux laptop as my primary development tool. I have written a bunch of programs but I have never contributed to open source projects before. I&#39;m looking forward to the experience! I have used many open-source project management tools but I have never used CVS before. I&#39;m good at picking these things things up and I have strong online communication skills, so I am optimistic that I can learn the ropes quickly.
<br><br>Thanks for reading -- if anybody is interested in mentoring me, please help me get the ball rolling for summer 2007! I&#39;m really excited to watch OpenMoko development unfold and I am itching to be a part of it.
<br><br>Cheers,<br>Ryan aka PirateHead<br>