Monday, August 04, 2008

Funambol Community Showcase #5: BlackBerry PIM plug-in

Here you have the fifth community showcase of the series. What I like about this one is that the community contribution does not come from a single individual, but by an entire company. Mailtrust felt they needed to contribute back to the community and empowered Mike Taczak to lead a team that is developing a ton of code in Funambol (Mike even flew to Pavia to work with the core team and eat risotto). The largest contribution from them is the BlackBerry plug-in, which provides PIM sync (contacts, calendar, tasks and notes). Let's hear from Mike.

Overview

At Mailtrust, we've built our synchronization solution based on Funambol software. We've found the flexibility of Funambol software invaluable in offering this service to our customers. After the initial server-side development -- connecting Funambol to our Webmail databases -- we tackled the Outlook plug-in, extending its functionality to meet our needs.

Next on the list was the BlackBerry platform, which is extremely popular for business purposes. We wanted to offer the same functionality on this platform as a user could find on a PC running Outlook.

What's different from Funambol BlackBerry plug-in 3.x?

We liked Funambol's existing BlackBerry plug-in (v3.x), but we wanted to include tasks and notes sync. We also wanted to bring the plug-in up-to-date with the most recent code in the J2ME (JAM) client API. In the process, we chose to remove the email sync functionality and focus on making the PIM sync features as rich and seamless as possible.

Development issues

Developing for the BlackBerry offered some unique challenges. Because the platform itself was so rich to begin with, we faced many issues fully integrating with the device to offer a seamless BlackBerry experience. RIM's API gave us the ability to access all of the user's PIM data on the device, but there are some hidden rules with respect to creating and managing that data.

For example, setting event fields in the wrong order can result in a recurrence being saved incorrectly, and the data being displayed differently in the day view versus the week or month view. All-day events were the biggest challenge, as it seemed that every view chose how to display this information based on different criteria. It was a long process of trial and error to make it appear as correctly as possible in the most views. In the end, however, some data still does not display perfectly in some views, although we have tried very hard to minimize this effect.

Another good example is the way BlackBerry handles event invitations. When an event is created and saved programmatically with attendees, an email is automatically generated and sent to invite those guests to the event. The same is true for deletions generating cancellation emails, and modifications generating update emails. To solve the problem of unwanted (and numerous) event emails, we integrated tightly with the email system to block and delete any email generated due to a sync. Now our users can have all their data on their BlackBerry so they always know what meeting they're walking into, and they will never know that even after an event is saved, the plug-in continues to work to make sure they have the best experience possible.

Future Plans for BlackBerry

Since Funambol decided to adopt the BlackBerry plug-in, we continue to work with them to improve and extend the functionality of it, integrating even more with features specific to the platform. We hope to improve the speed and reliability of the plug-in, and reduce the time spent configuring the plug-in for various carriers. Funambol has plans to integrate the email sync features in their Java email client with the PIM plug-in we've returned to them. We look forward to this integration and the day mobile email is easier for all our users. We've also had requests for additional functionality.

Future Plans for Mailtrust

We have some interesting and exciting projects based on the Funambol framework planned for the future. Currently we're working with them on the iPhone plug-in to sync contacts. We hope to continue to work with them closely on other projects as time goes on.

References

If you want to try the Funambol BlackBerry plug-in, the best way is to sign up to myFUNAMBOL and then download the PIM Sync plug-in.