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.
Posted by Fabrizio at 07:20  

6 Comments:

Blogger David A. said...  

Being a long-time developer and user of complicated synchronization interfaces (Palm OS via pilot-link), I can understand some of the complexity involved.

However, I can't quite grasp why the plugin (and the resulting Windows/Outlook interface) is so rigidly limited.

For example: In the Blackberry app, I can't tell it to push ALL records from the Blackberry to the Funambol server. HUGE oversight, especially when the initial sync should pull all data first (one-way, client->server sync) and then fall back to a two-way sync for subsequent syncs.

In the Windows/Outlook plugin, it doesn't support multiple calendars (Personal and Work for example), and so you're stuck choosing one or the other.

But not a single company or product, commercial or otherwise has solved this problem yet. It's not complicated to solve, but nobody has set it as a goal. It's a HUGE blocker towards moving to device-independent, always-available PIM data.

Comment Posted at 16:32

Blogger Fabrizio said...  

Hi David,
as far as I know, the cleanup feature in the BB also allows you to do a restore from the device to the server.

WRT multiple calendars, we are working on it with the community. Is not that easy as it seems... And we have always focused more on consumers, rather than enterprises (consumers do not use multiple calendars that much, for now, although I believe it will grow).

Sorry, we are working for you. BTW, if you want to help, you are welcome to participate in the community! This is the beauty of open source: scratch your own itch ;-)

fabrizio

Comment Posted at 18:03

Blogger David A. said...  

While I can sympathize with the compexity (I've been there for the last 10 years with Palm PIM devices on Linux and UNIX platforms), I disagree that "consumers" don't have multiple calendars.

Work
Personal
Events

Three perfect examples of calendars that nearly every "consumer" would be used to using. I don't want my Personal items on my Work calendar, and putting my Work items on my Personal calendar would break sync (i.e. would drag all items from Personal back to Work calendar).

Now magnify this with the fact that some people may use different systems (Google Calendar at home, Outlook at work), and have their own device (Blackberry, iPhone, Palm) and want to keep those items on their device.

The lines between "consumer" and "enterprise" are blurring. In fact, the "enterprise" is LESS complex, because they usually have a single, unified calendaring solution. Outside, there are many more layers.

Personal
Events
Holidays
etc.

I'm happy to try and help, but I have to intentionally stay away from SyncML for liability reasons (I can't contaminate myself with the IP and patents of the underlying SyncML pieces due to my OSS work). Now that Chandler is dead, there really are very few alternatives left.

Comment Posted at 20:31

Blogger Fabrizio said...  

Hi David,
I agree that is the scenario of the future. Today, none of my relatives use an electronic calendar ;-) But they use Facebook, Skype, email, texting and so on. Eventually, calendar will make it into the consumer world. And then multiple calendar (I am still using a mono calendar and I am considered an advanced user).

That said, we are definitely working on it because it is always better to be ahead of the market.

Cheers,

fabrizio

Comment Posted at 08:19

Blogger Andreas Stein said...  

Hi Fabrizio,
I'm an independant consultant, just trying to find a way for RIM, to make the BB interesting for mor than 0,1% of the market. I'm using already - with satisfaction - the Outlookclient (desktop & mobile) from funambol to synchronize with egroupware. The result of using the blackberry-client is the best of all other tested clients, but it's still not realy usable. (no or wrong UTF8 support, wrong contact synchronisation). Is there somebody, i can ask for details ?

Comment Posted at 01:50

Blogger Fabrizio said...  

Hi Andreas,
check our community support at http://forge.funambol.com. I use the BB client every day and I am pretty happy about it, BTW.

fabrizio

Comment Posted at 22:32

Post a Comment

Links to this post:

Create a Link

Back to My Blog