GCalendarSync v0.2 Release + Source

What is GCalendarSync? Go to the project page

Download installer cab | source

If you just want to use it on your mobile, hit that binary cab link from pocket IE and it will install for you. No, I didn’t sign my assemblies (i don’t have a real certificate), so be prepared to click through some warnings. You’ll need the .NET 2.0 Compact Framework installed for this app and you can get it from Microsoft here.

I have been using it for a day now with no issues but all the usual disclaimers apply. Use it at your own risk. I’m releasing this under the Creative Commons Attribution-ShareAlike 2.5 License. Share it and Remix it, but let me know what you’re doing with it so we can enjoy it too.

Oops… It just came to my attention that there’s already something out there called GCalSync. Wow it’s a small world. That app is *shiver* in java, so I need a new name for this app! Suggestions please :-)

More detailed release notes after the jump…

Important Note
Make sure your device timezone is set correctly.
When the app launches, the status bar will show your timezone, if it’s not correct go fix it before you sync. Google stores in GMT, and the app has to convert to local time for you. If your timezone isn’t right you’ll get wierd times on all your appointments, then you’ll have to delete them all off your device and re-sync. Not fun. Trust me.

Basic Usage

  1. After you put in your account information and click Pick Calendars, it will connect and attempt to list your available calendars for you
  2. Check off one or more calendars.
  3. Make sure you go to Options->Choose Default. This will allow events created on the mobile device to be exported back to the google calendar.
  4. Click Done and then Yes to do the initial import.
  5. Import will take a little while, depending on how many events you have in the calendar. (All events are imported, this will be more flexible in the future)

Notes
Persistent Storage
All user settings are stored in plaintext in an xml file in the application directory. If you click the “Save Password” checkbox, then your password will also be stored in plaintext. I am minimally concerned about this myself, if that bothers you consider not saving your password, though you will have diminished functionality if you do that. There are a few places where the app uses the stored password instead of the text box value (an oversight on my part, this will be changed in the next release).

Sync Functions
New events created either on the Mobile or Online are synced. Changes made Online to dates and titles will be reflected on the mobile device. Other changes will not be merged. Date/Title changes on the mobile device to events already existing online will be overwritten by the online data. I need to write a better sync/merge function and that will come in the next release.

Authentication Issues
It appears that on occasion there is a random authentication failure to the API. I am guessing this happens if you try to sync too often, but couldn’t find any supporting documentation from google. If anyone wants to track that down, I’d be grateful.

Error Reporting
Errors which occur during runtime are recorded in a file somewhere near \applicationData\GCalSync\GCalSyncErrors.xml – this will help developers, and if you want to report bugs to me, include the stack trace from the error when you do.

Outlook
If you sync using ActiveSync or the Vista Sync Center, events added to your mobile calendar by this application will be merged back into your outlook calendar on the desktop. I don’t use Outlook, so I don’t think it’s a big deal, but it might affect you so you should know about it.

Future Plans
Merge Sync
As mentioned above, this feature is in progress.

Import Date Range Selection
To allow user to specify which events to import. i.e. everything from one week ago through two months in the future. or something.

Deletion Handling
Right now I have no way to detect and mirror event deletions, if you delete something from your mobile calendar, it will be re-imported at the next scheduled time. If you delete something online, it won’t be deleted off the mobile but will be orphaned instead. To handle this will require a more persistent state mechanism so that I know when an online event that used to be there doesn’t show up in the event list anymore.

Public Calendar URL Support
Right now you can import public calendars by just adding them to your Google Calender collection of calendars. Public calendars are also visible via a direct URL and I want to add a function so you can anonymously connect to calendars (even if you don’t have a Google Calendar account at all, you should still be able to import events from the Georgia Tech Basketball 06-07 public calendar for instance)

That’s it for now
If you have suggestions for improvements and features, leave me a comment and I’ll see what I can do. If you take the source and do something cool with it, drop a note so that everyone can check out your take on it.


38 Responses to “GCalendarSync v0.2 Release + Source”

  • Justin Mitchell Says:

    Like the others, I have my timezone set correctly on the device and on google, but the times are 4-5 hours off. I have a Motorola Q9C running WM6.1.

  • Mishmir Says:

    Works great ! Thx !!

  • travis Says:

    I also have the problem regarding Extra settings not being visible/usable.. I am using a samsung i730 with Windows mobile 5.

    Also, regarding:

    QUOTE: “Share it and Remix it, but let me know what you’re doing with it so we can enjoy it too”

    ..Have you considered working with the gmobilesync project? It is a simiilar project that was made open-source

    http://www.codeplex.com/gmobilesync
    http://rareedge.com/gmobilesync/

    [quote]“GMobileSync is officially open-source. You can get involved with the project at CodePlex. I will still be contributing and maintaining releases. (Heck, I still need the program too for my mobile!) If you’re one of the several developers who have contacted me in the last few months offering to help… now is your chance! GMobileSync is entirely written in C# (all managed code) and uses the .NET 2.0 Framework.

    Anyone can join the project at CodePlex to add issues to the Issue Tracker, post items in the Discussion and even download the code. If you want to be an official developer on the project though, let me know so I can promote your CodePlex account to developer.”[/quote]

    They have a lot of the features on your to-do list working, but not some of the features you have already.. I would love to to see a combined, more complete effort! (I do like your GUI better though)

    ..and while I’m ranting on about my wish list, google has also released an api for gmail contacts:

    http://code.google.com/apis/contacts/

    ..would it be too much to hope for integrated sync of contacts also?? :)

  • Tim Says:

    Time zone is set correctly during app startup, but times are displayed incorrectly. Samsung Blackjack running WM6.

  • Chris Says:

    Everything is working good on windows mobile 6, but the time zone is changing the appointments when it is uploaded to google. I have made sure the GMT is set to -7 when I installed the app but it seems that setting did not stay. I tried installing the app twice now.

  • Neo Says:

    [quote post="18"]It has only been tested on 5.0 Smartphone (which is what I have). I don’t know anybody who has the PDA version of Windows Mobile, but I will try to find someone in order to test it.[/quote]

    Oh and Mr. theGooly, I would volunteer my phone and time to help make this work with WM6. If there’s anything I can do to help let me know.

  • Neo Says:

    Ok I have a tmobile wing. I get the 0/0 imported. BUt I have gotten it to work like twice. Here’s what I noticed, my phone is WM 6 pro and a touchscreen. If I go to the program and don’t use the touch screen actually using directions and menu buttons it works IF I do it this way every time… almost.
    1. Open the program
    2. Use the buttons and select Pick Calendar
    3. Use the button and choose Options > Use default
    4. Use the button and choose Options > Refresh list
    5. Scroll down to the calendar (I only have one sorry)
    6. Press the button to select it
    7. Press the button for Done.
    8. CHoose to get settings.

    Works occasionally but doesn’t seem to get everything.

  • Nibiru Says:

    Mayby should help.
    When i was trying to use it, i found that problem with Import/export 0 is that settings of imported calendars wont save. So when you tap to sychronize, you wil get 0/0 becouse you have empty settings (if you again go to the settings they are empty). But, if I tapped on the names of calendars in calendar list (not checkbox) and then tapped od chexbox it saved, and works perfectly (or if I do something in similar magic) . Its weird, but I think that it has something to do with this form. I think in him is something wrong.

  • theGooley Says:

    [quote comment="2781"]Imported 0 and exported 0 events.[/quote]

    Since so many people are reporting the same problem, I will attempt to reproduce this issue this weekend and post my findings and hopefully a fix as soon as I can.

    I only have a Moto Q on WM5, so my troubleshooting is limited (and it worked fine in the emulator) so cross your fingers.

  • Doug Goldring Says:

    I am having the exact same problem on the Mogul. This is the only free solution I have found which will sync multiple calendars so I hope we can get it working.

    Doug

  • Nibiru Says:

    trmentry: Now I`m using Goo Sync, its free and works perfectly. http://www.goosync.com/

  • trmentry Says:

    I can confirm the same issue as Nibiru. I have a Sprint Mogul (HTC PPC6800) running WM6 Pro. I can logon and select my calendars but nothing gets sync’ed. Says same thing:

    Imported 0 and exported 0 events.

    Any help on this would be much appreciated.

  • Nibiru Says:

    Hi,
    I have tried it with WM6. I can log on, pick up calendars, select default and another calendars, but if I select OK, it says: Imported 0 and exported 0 events. What Im doing wrong?
    I would be very happy if it works, Im on Linux and this is only way to synchronise my calendars – with google caendarl and than google calendar automaticaly with linux “outlook” – evolution.

    I cant find error log – i have searched in /, /Storage Cart/, /place where i have it installed/, /Applicaton Data/GcalSync/. Is log somewhere?

  • roostaar Says:

    I am also getting the error, ‘FAILED. Check username and password’

    I am running WM6 on Hermes with CFNET2.0 pre-loaded.

    Help! This app would be great if I can get it running!

  • theGooley Says:

    [quote comment="43"]
    I have the same problem with recurring schedules. I’d be happy even if I get them as individual events rather then recurring ones. But right no they are just skipped.
    [/quote]

    Yeah, I need to get the functionality for recurring appts up but haven’t had much time to work on it lately. Hopefully in a week or two I’ll have a new version out.

  • Ben Dehghan Says:

    Great app!

    I have the same problem with recurring schedules. I’d be happy even if I get them as individual events rather then recurring ones. But right no they are just skipped.

    with that feature, this thing would be a killer app for me. I’d ditch outlook completely :)

  • Dice1976 Says:

    Hello! I love your sync program- and the ability to choose my calendars (of which i have many) is fantastic.

    Although, I can not get any of my recurring (weekly, monthly) appointments to sync. Will there be support for recurring appointments in the future? (how soon?)

    Thanks so much!

  • johan Says:

    Hi!
    I get the initial download to work but is there any “sync now-button” ?
    When i do another initial i get double appointments.
    / johan

  • Ron Says:

    I have a IPAQ hw6915 with windows mobile…..

    Tell me what to do and I will try it. I am using a GPRS connection, activesync or WIFI. All of them fail. As said, I do get the calendar list though.

  • I.N. Says:

    Windows Mobile 5.0 “full edition” (i.e. non-smartphone). I am willing to do some testing on this if you want me to try something for you. Just shoot me an email.

  • Mike Says:

    I’m using Windows Mobile 5.0

  • theGooley Says:

    Those of you who are having trouble syncing, are you using Windows Mobile 5.0? Are you using Smartphone edition or the full edition?

    It has only been tested on 5.0 Smartphone (which is what I have). I don’t know anybody who has the PDA version of Windows Mobile, but I will try to find someone in order to test it.

    My guess is that the PDA version treats the calendar differently somehow, and I will try to debug this in the next day or two.

    Are people using Smartphones having any trouble?

  • Mike Says:

    I’m in the same boat as Ron and I.N. Nothing ever syncs.

  • Ron Says:

    Hi,

    I have the same thing, everything seems to be OK except when syncing it stays at imported 0 and exported 0 events. What can be wrong and how to solve?

  • I.N. Says:

    I have a vx6700 and have the .Net 2.0 with service patch 1 installed without a problem. You definitely need a couple of megs of free space on the 6700 to install however. It does show up in ActiveSync as “Microsoft .NET CF 2.0″.

    On the GCalendarSync side I have an issue. I am able to install and it opens. It does find my calendar, but it doesn’t seem to sync my calendars. I created a test appointment in google calendar and a test appointment on my phone’s calendar (different days/times). However, when I open up GCalendarSync, I select the default profile and then it says “Imported 0 and exported 0 events”. So is there something else I am missing? I have it set to store my password.

  • AJ Says:

    I’ve been trying to install the .net compact framework on my PPC6700 for a few minutes now with no luck. Is anyone else able to install it? If so, how did you get it to show up in ActiveSync? My installer just made the folders on my PC in C:\Program Files\yada yada and I’ve been trying to install all the CAB files within the Windows CE folders with no luck.

  • theGooley Says:

    OK, starting early this morning the authentication failure went 100% of the time, turns out it was a little change in the headers of what Google sends back. The download link has been fixed, and I posted an explanation of the change here

    Joseph – not sure what you’re asking. I haven’t written an ActiveSync installer, so you just need to point your pocket IE browser on the PDA/Phone over to that Binary url (http://files.thegooley.com/gcal/gCalSyncSetup.cab) and it will prompt you to download and install. Make sure you install the .NET Framework first though, as detailed in this post.

  • Joseph Says:

    Isn’t there a program you install and does it automatically?

  • Mike Says:

    I’m in the same situation as Martin.

    Also, one question: I already have calendar items in my mobile from syncing with iCal. If I can get it to sign in and sync, will those things go up to Google and effectively double my appointments? Would it be better if I start the sync with a clean calendar on my Mobile?

  • Martin Says:

    I always get “FAILED. Check username and password.” I checked several times and username and password are right, anything else it could be? I’m trying this on a T-Mobile Dash if it makes a difference.

  • Redmond Gadgets Says:

    Sync Your Google Calendar with Windows Mobile

    Do you use Google Calendar and a Windows Mobile device? Then Christopher Gooley at Delegate Records weblog has written a little application for you

  • Mike Says:

    It runs fine for me on my T-Mobile MDA, but every time I plug in my user name (email) and password it returns a login error. I’m checked my password at least 10 times, but I’ve never gotten it to work.

    Suggestions?

    Also, I’ve been syncing my calendar manually to my Mobile device with the Missing Sync, so there are some appointments on my device right now, when I get it to sync, will those be doubled up on my Google Calendar? Would I be better off starting with a clean mobile calendar when trying this?

  • » Sync Google Calendar With Windows Mobile » InsideGoogle » part of the Blog News Channel Says:

    [...] Christopher Gooley has written a program called GCalendarSync for Windows Mobile 2005 over the .NET 2.0 Compact Framework that allows Google Calendar to be synced with Windows Mobile’s calendar application over any internet connection, including GPRS. That means you get two way (events created on your phone show up in your calendar, event created online show up on your phone) calendar sync without ever having to use a cable. Damn, if only syncing the device with the rest of Windows were that easy! (via Digg) Posted: December 15, 2006 by Nathan Weinberg in: [...]

  • kobayaschi Says:

    Hi !

    I am afraid u had forget to mention this tool works only on Windows Mobile 2005. Am i rigth??

    Thx.

  • theGooley Says:

    Hey adk and musox – you can get the .NET Compact Framework directly from Microsoft here.

    I’ll update the posting to mention this requirement.

  • musox Says:

    Same issue as adk with the Moto Q.

  • adk Says:

    Tried installing your program on my Windows Mobile 5 Smartphone, Samsung Blackjack. When I tried to run it, it said that I do not have the latest Compact.Net frameworkin installed on my device. Any suggestions?

Leave a Reply