Initial Release of L-Dopa for Smartphone - 8.12.06
What it is:
A standalone client that can synchronize with a gdata (read: google calendar) feed. I wrote to fulfill my requirements, and now I am releasing it to the community so that they can improve upon it. The goal initially was to use the Gdata APIs and build a quick program. I ran into compatibility issues between the gdata c# api's and the .Net compact framework - so I decided to write it from scratch. In the end, I picked up a decent understanding of XML, http, and the smartphone SDK. I am releasing it under the Apache 2.0 license.
A standalone client that can synchronize with a gdata (read: google calendar) feed. I wrote to fulfill my requirements, and now I am releasing it to the community so that they can improve upon it. The goal initially was to use the Gdata APIs and build a quick program. I ran into compatibility issues between the gdata c# api's and the .Net compact framework - so I decided to write it from scratch. In the end, I picked up a decent understanding of XML, http, and the smartphone SDK. I am releasing it under the Apache 2.0 license.
Device Requirements
Windows Mobile 5.0 Device (built for QVGA) with internet access (tested on T-mobile EDGE and Verizon EVDO)
Application Unlocked (the app is not signed)
.Net Compact Framework 2.0 Link
Windows Mobile 5.0 Device (built for QVGA) with internet access (tested on T-mobile EDGE and Verizon EVDO)
Application Unlocked (the app is not signed)
.Net Compact Framework 2.0 Link
Instructions for Use
Download the executable ldopa.exe and the sample config file (dopa.cfg)
Locate the private full feed address of the calendar feed
Copy both files to the phone
Move the config file to the root folder of the phone
Run ldopa.exe
Cross Fingers
Press 'sync'
The default behavior of the program assumes the feed as the primary source for information.
The sync process first downloads the feed
It then compares it against a synclist storted on the phone
If the appointment exists on the feed and not the phone, it is added to the phone
If the appointment exists on the phone and not on the feed, it is added to the server
If the appointment exists on both, it then performs additional checks:
If subject on the phone is set to "No subject" (this happens if you delete the subject of the event), it deletes the item on both the feed and phone
If the busy status is set to 'tentative', the item is updated on the server from the phone information
Download the executable ldopa.exe and the sample config file (dopa.cfg)
Locate the private full feed address of the calendar feed
Copy both files to the phone
Move the config file to the root folder of the phone
Run ldopa.exe
Cross Fingers
Press 'sync'
The default behavior of the program assumes the feed as the primary source for information.
The sync process first downloads the feed
It then compares it against a synclist storted on the phone
If the appointment exists on the feed and not the phone, it is added to the phone
If the appointment exists on the phone and not on the feed, it is added to the server
If the appointment exists on both, it then performs additional checks:
If subject on the phone is set to "No subject" (this happens if you delete the subject of the event), it deletes the item on both the feed and phone
If the busy status is set to 'tentative', the item is updated on the server from the phone information
Development Requirements
Windows Mobile 5.0 Device (built for QVGA)
Visual Studio 2005
.Net Compact Framework 2.0 SDK Link
Windows Mobile 5.0 SDK Link
Knowledge of the Gdata/Atom API Link
Experience with c#, xml, and mobile devices
Windows Mobile 5.0 Device (built for QVGA)
Visual Studio 2005
.Net Compact Framework 2.0 SDK Link
Windows Mobile 5.0 SDK Link
Knowledge of the Gdata/Atom API Link
Experience with c#, xml, and mobile devices
What is not implemented yet
Multiple calendars
All-day appointments
Recurrence
Reminders
That said - implementing these should not take much longer, as the information is collected, just not used.
Multiple calendars
All-day appointments
Recurrence
Reminders
That said - implementing these should not take much longer, as the information is collected, just not used.
I am looking for developers familiar with sourceforge who would like to take over this project. I am not a CS guy, and I do not have the time to continue development (as much as I'd like to)
Thanks to:
Mike for initial testing
Ryan Block and Engadget for the contests they hold and the Imate Sp5m I won. This project wouldn't exist without them.
Google for the Google Calendar Service and understandable APIs
Sourceforge for hosting and future development
Mike for initial testing
Ryan Block and Engadget for the contests they hold and the Imate Sp5m I won. This project wouldn't exist without them.
Google for the Google Calendar Service and understandable APIs
Sourceforge for hosting and future development
Screenshots
Main Screen
How to update an event online with information from the phone (Set status to tentative)
How to delete an event online with information from the phone (delete subject)
Main Screen
How to update an event online with information from the phone (Set status to tentative)
How to delete an event online with information from the phone (delete subject)