Tuesday, September 19, 2006

GTD: Treo now Syncing OTA with GCal

I had all but given up with the idea of getting my Treo to sync with Google Calendar over the air (OTA) using the Java GCalSync midlet because it just appeared that the IBM Java Environment used on the Treo didn't support it. Then I came across the missing piece of the puzzle. Apparently the PIM access libraries for Java are in a separate directory when you download the Java environment and have to be installed explicitly. After I did this I was able to get GCalSync (a free program) to synchronize my Google Calendar with my Treo without needing any computer in the loop at all. This is a happy thing :-).

The steps, if you want to do this yourself, are:

  1. Download the Websphere Everyplace Java VM from http://www.palm.com/us/support/jvm/download.html and unpack it.
  2. Install the J9JavaVMMidp20.prc and JavaVMCheck_enUS.prc files from the JVM/ARM4T folder onto the Treo
  3. Install the fileconnect.prc, pimop.prc and PIMPrefs.prc files from the JSR75 folder (you can also install localized prcs if needed, but english speakers will not need to)
  4. Install both files from the JSR172 folder
  5. Sync your Treo with the computer, so that the prcs are copied on to it
  6. Reset your Treo, really, seriously, it doesn't make you but I found things work a lot better if you do
  7. Find and start the IBM Java VM from the Treo launcher
  8. Hit the install button
  9. Type in: http://www.gcalsync.com/gcalsync.jar for the URL and hit OK
  10. The gcalsync program will be downloaded and installed
  11. Run it and follow the instructions (see the gcalsync site for help here)
That's it, no great mystery, I just can't believe I missed those extra install folders for so long. I also had to turn off the preference where gcalsync tries to use the google settings for timezone, otherwise the appointments came through at the wrong time, but otherwise everything works fine now.

I hope the same is true for you.

Monday, September 04, 2006

jFlubber Reloaded

What a week - remind me to tell you about it sometime (when I can).

Anyway, one of the really cool things that happened this week was I got an email from Romain Guy, Formerly of Swing Labs fame. He, along with others from Swing Labs (like Josh Marinacci and Richard Bair among others) do several sessions at JavaOne each year where they take an existing rather plain swing app and pimp it up to look spectacular, mainly as a demo of what swing can do (with the right people doing it :-) ).

Well, I was delighted when Romain told me in the email that he had given my jFlubber application an extreme makeover. jFlubber is a simple application that I use literally all the time for podcasting. I slung it together in a few short hours using Matisse, in essence it is a stopwatch with a multiple lap timer, you start the timer, and each time you hit flub it records the exact time. It also spits out an audacity formatted labels file. The upshot is that when recording a podcast, you start the flubber timer with the recording, then whenever someone makes a mistake you hit the button and it records a flub time. At the end of the recording session you save the file out and load it into audacity, and you instantly get a bookmark track of all the mistakes in the podcast recording - very useful and a great timesaver.

Of course, I am not really a GUI guy, so the UI was serviceable (and I even thought it was decent), but it certainly wasn't a looker - until now. The new UI has bitmap textures, anti-aliased fonts, non-rectangular buttons, shadowed timer label and a fantastic custom flub button.

I used the original project as one of my developer.com demo articles for how to use matisse and if you check that out you can see what the original UI looked like - certainly usable but not pretty. The results of what Romain did you can see in the screenshot included with this blog entry - quite striking. I am very proud that one of my apps got a GUI makeover - thanks Romain.

jFlubber is hosted out on google code hosting and soon Romain's changes will be put up there too (once we get all the logistic sorted out like adding Romain to the project membership). In the meantime, you can download the source (and a pre-build jar file which you can run with java -jar jFlubber.jar).