Archive for category Mac OS X

JSCalendarSync v0.75 is released

Just a couple of hours before flying to JavaONE 2008, I released the new version of JSCalendarSync.

Progress is doing well since a couple of months as Mark, the guy behind iClock, started to contribute a lot of code and many good ideas, so, once again, many thanks to Mark for taking the time to improve JSCalendarSync.

This new version allows users to synchronize Tasks, a.k.a. ToDo.  It also includes a Preference Pane to set some rarely used, but useful, parameters.  Last but not least it allows user to choose which Sun Calendar to synchronize instead of the default one. 

On the bug fixes side, we should now get rid of the time zone issue for All Day events.  I received positive reports form users in America/New-York, Australia/Sidney and Europe/Belgium time zones.

Please check the complete change log for more details.

You can download JSCalendarSync from the Sourceforge’s repository.  Please, continue to report feedback and issue as it helps to improve the tool.

1 Comment

JSCalendarSync now officially supports Leopard

After weeks of distributing private builds to a selected few, I receive no complaints or problem reports. I therefore decided to release JSCalendarSync v0.40 to the wild.

I am running this build myself since 4 weeks, without problems whatsoever. Most visible change will be support for Mac OS X 10.5 (aka Leopard), others are summarized below :

  • more work on repeating event synchronizations (but still not working yet)
  • more special characters are accepted in passwords
  • Fixed the TZ issue when Sun Calendar returns no TZ (to be tested extensively)
  • All Day events are not duplicated anymore (to be tested extensively)
  • Fixed the crash at startup when iCal was never started before
  • Fixed the "Can not delete event" error

Please backup you calendars before using this tool, as it might delete all your events !

Should you enconter problems, first check my debugging tips, then, if not solved, send me an email with the log file.

Happy Synchronization !

No Comments

JSCalendarSync v0.30 released

After being quite for some long weeks, I spent some time over the week-end to prepare release v0.30 of JSCalendarSync. You can download it now from SourceForge’s repository

We are now several dozen, within and outside Sun, to use JSCalendarSync on a daily basis, with no major problem.

This release introduces some changes and many bug fixes. I would encourage every users to download it to replace the existing version.

I would like to thanks all of you for your testing, suggestions and encouragements, also for your patience when helping me to debug this or that annoying issue.

So, what’s new in v0.30 ?

  • the GUI now provides an option to sync or not the "Description" attribute from events. Many users complained about this attribute being synchronized while they are using it to store conf call access codes or otherwise confidential information. You can now ask JSCalendarSync to not synchronize this attribute.
  • Event cancellation / modification notices are no longer sent by default. This request was very popular and caused many annoyances to all of us. By default, JSCalendarSync now asks Calendar Server to not send an email notice to event attendees when an event is modified / deleted on iCal.
    Should you want to enable this again, you’ll need to open a Terminal application, type "defaults write com.sun.luxembourg.cso.JSCalendarSync notifyAttendees -bool true" and restart JSCalendarSync
  • And… last but not least…, a fellow Sun coworker started to implement support for recurring events. Preliminary code is in the CVS main branch. And we should expect some more announcements in the near future.

What’s fixed in v0.30 ?

  • passwords and all text attributes are now URL-friendly, meaning that you can use special characters (like ?.:&%) in your passwords and event descriptions
  • international character sets (german’s umlauts or french accents for example) are now correctly handled in booth directions
  • many small bug fixes

Users upgrading from a previous version might have a small GUI glitch because of the way Window size and position are remembered from your last run. Should you encounter this small issue, open a Terminal application and type : ‘defaults delete com.sun.luxembourg.cso.JSCalendarSync "NSWindow Frame window"‘, then restart JSCalendarSync.

Finally, I would like to remind some of you that, the first time you run JSCalendarSync, you will be prompted by Mac OS X’s Synchronization Manager to authorize, or not, JSCalendarSync to synchronize with iCal. You must answer "Yes" to this question ! Failure to do so will prevent JSCalendarSync to work properly.

As usual, do not hesitate to report me any issue you might have or improvements you would like to see in future releaseS (yes : recurring events and attendees are high on my priority list 🙂

Happy synchonization !

1 Comment

JSCalendarSync debugging tips

Some of you have had some issues when starting JSCalendarSync. Some of these issues were due to bugs in my code, some other due to some kind of corruption in the local sync database on your mac.

I would like to thank all of you who reported errors and suggested enhancements, all the fixes and some enhancements are already ready in CVS and will be shipped in the next release.

In order to help to debug any issue, I often ask you to turn debugging on, here is a set of instructions to do this.

Turn JSCalendarSync’s debug mode on

  • Ensure the application is not running,
  • Open a Terminal and type
    defaults write com.sun.luxembourg.cso.JSCalendarSync debug -bool true
  • Open the application again and use it normally (i.e. start a sync session – only modified events if possible to limit the amount of data writen in the log file)
  • Be sure to quit JSCalendarSync to flush the log
  • Send me by email the file located at
    Home Folder -> Library -> Logs -> JSCalendarSync.log
    (this file does not contain any sensitive data such as password, but it contains the adress of your calendar server and your username. You might want to strip this information out with a text editor before sending the file)

When the debugging mode is on, an additional menu item named "Debug" will appear at the right of the help menu. This menu contains useful entries like "Delete all events on calendar Server" and "Unregister client". Please be extra cautious when using these. You might loose all your data !

The other common problem reported to me is the error message "Can not start sync session" at application startup time.

How to avoid "Can not start sync session !" at startup ?

For most users, this message indicates a problem in the Sync Service registration database. Please execute the following steps :

  • Ensure the application is not running,
  • Turn debugging mode as per instructions above,
  • Select the "Debug" menu item and then choose "Unregister client",
  • Confirm the operation,
  • Restart the application.

If you are still experiencing the problem, please contact me.

No Comments

JSCalendarSync v0.25 released

I posted the latest release of JSCalendarSync to SourceForge servers during the last week-end. This 0.25 release adds support for the “Location” and “Description” attributes of events.
As usual, feel free to download, and be careful when testing this tool, it might delete all your calendar’s events.

No Comments

JSCalendarSync v0.24 released

This new version should fix the dreadful “Can not start sync session” that some users have reported to appear when first starting the application, making it unusable for them.

Should you have encounter this error with previous versions I encourage you to download and test this new version, and report any problem you might find.

If everything is working correctly for you, there is no need to upgrade, there is no other change made.

Why did I wait 6 months to correct this problem ? Actually, although several users reported this to me, I never managed to identify the problem from the log files I received. And I was not able to reproduce the problem on any machine I have access to (mine, my colleagues or my parents). However, since a couple of days, I have the pleasure to use a brand new Mac Book Pro. Today, I decided to start JSCalendarSync for the first time … and I received the error “Can not start sync session !”. I finally had access to a machine where the problem occurs, great. Debugging it was a matter of one hour only (mostly because I have not been browsing the source code since months), a very small error in the way I used to handle default values for the preferences file.

On the other hand : I have absolutly no clue why this problem appeared for some users only. Let’s hope this is now solved and that all users will be able to test and use JSCalendarSync.


MacBook Pro – First Impression

I recently acquired a MacBook Pro to replace my not-too-old PowerBook G4 12″. I have only one thing to say : waow !

First of all, I have to be used to the size of the beast. The 15″ is much more confortable to work but this confort comes at a price, it takes more space in my bag and on my legs. I wonder how it will fit in an economy-class airplane seat.

The machine is responsive, the backlight keyboard is impressive, the screen very bright. So far, nothing to say about hardware.

As far as software is concerned, Apple succeeded at making the transition to Intel completly transparent to end users. All applications I am using are universal (NeoOffice, Firefox, Thunderbird) or Java based (Netbeans, Creator). The only non universal application I notice so far is the Flash plugin for the browsers. And because plugins can not run under the Rosetta emulator, it requires the full browser to start in Rosetta, which is not handy.

Last word on software : in two days of intensive usage, I got one kernel panic while switching wifi network and one finder crash. Is Mac OS Intel less stable than Mac OS PPC ? In 5 years, I had only one kernel panic with the PPC versions. Let’s see how it will behaves during these next days.

No Comments

Happy Birthday OpenSolaris

This week OpenSolaris celebrates its first birthday.
This article asks the question : “Success or Failure ?”
Have a look at next’s year roadmap.

No Comments

JSCalendarSync v0.2 is available

I posted earlier today the second release of JSCalendarSync.
This new version adds support for secure connections (https) to the Calendar Server, although it does not verify the server certificate yet.
This version also corrects many small and large issues you reported.

Now that I have something more stable (or I hope so 😉 I will add as soon as I can the two show stoppers for most of us : the synchronization of the attendee list and the support for recurring events.

I would like to thanks all of you who have taken the time to download and test v0.1. Please continue do do so with this v0.2 and continue to report all bugs, comments or ideas.

No Comments

Synchronizing the Mac iCal with Sun’s Calendar Server

I am not blogging that much lately, mainly because my days at Sun are well busy taking care of our existing customers and trying to acquire new one.

But this is worth mentioning : I posted on Sourceforge earlier today a Mac application allowing to synchronize the Mac iCal data with our Java System Calendar Server.

There is a vibrant Mac user community @ Sun, all having to deal with the Mac calendaring application on one side, and our Calendar Server (used internally) on the other side. For all these mac users, including myself, very little possibility to synchronize the two worlds, beside a tool that replaces Sun’s calendar events with iCal data, enough for most of us, but not truly a synchronization tool.

Since the release of Mac OS X 1.4 (aka Tiger), Apple published an API allowing to hook into the iSync synchronization framework, allowing third-parties to plug devices, servers or client applications into the synchronization game. The tool I am publishing today uses this API to synchronize any Calendar Server data with the Mac’s sync engine, therefore iCal, your Palm, your mobile etc …

I named the tool JSCalendarSync and I published the source code under the terms of the OSI-approved Common Development and Distribution License

Of course, this is work in progress, with limited testing so far and a set of well-known limitations, mainly the fact that it syncrhonizes only the events start and end time as well as the events description. No recurrence, no attendees, no reminder.

I am publishing this application today for two reasons. First I would like to encourage people to test it and give me feedback, in order to improve what exists today. Secondly, I would like to gather some fellow developers to help me to complete this tool and make it a rock solid synchronization tool for our Calendar Server and the Mac platform.

Happy synchronization !

No Comments