With its 1.0 GA announcement this week, Zimbra Desktop is officially launched as an open source, full featured desktop mail client. I’d like to use this occasion to reflect back at an interesting approach that the Zimbra engineering team took in developing this product.
Zimbra Desktop behaves like a classic desktop application. It installs and runs on a user’s computer. Even though it’s designed to aggregate mail, calendar and address book data from many Web services such as Yahoo! Mail and Gmail, it runs and interacts with user independent of any particular Web service. However for anyone who’s curious enough to take a peek under the hood, she will find Web oriented technology at every turn.
Using technology originally designed for the Web in desktop application development is not anything new, let alone unique. Both Microsoft and Adobe have been pushing for their brand of RIA (Rich Internet Application) platforms, namely Sliverlight and AIR, and I have seen quite a few desktop products built on one or the other. Of course Mozilla XUL based desktop applications like Thunderbird and Songbird have been around even longer. However what makes Zimbra Desktop a unique case is the engineering approach. We are developing two products, an enterprise server product and a desktop application, in lockstep in the same code base.
The enterprise server in this case is Zimbra Collaboration Suite Server. It is a carrier grade email collaboration server running at many Fortune 500 companies, universities and large Internet Service Providers. The Zimbra Collaboration Suite (ZCS) has support for many clients, including a state-of-the-art Ajax Web client. So what is the desktop application, Zimbra Desktop? In short, Zimbra Desktop is a special build of ZCS that installs the ZCS Server and the Ajax client on the same user computer, collapsing the client and server tiers into one. In terms of their designated roles, the two products can’t be more different. Using an analogy, if I were to claim that Exchange Server and Outlook client share more than 95% of the code between them, few people would believe me. But the equivalent is true in the case of ZCS and Zimbra Desktop.

We didn’t do this just to be cool. We did it for these benefits:
1) Code reuse – lower development cost
2) Code reuse – lower maintenance cost
3) Code reuse – lower user learning cost
The first two points are self evident. The third point about lower user learning cost is due to the fact that the Zimbra Desktop UI is virtually identical to that of the ZCS Ajax web client, so a user familiar with the ZCS Ajax UI doesn’t have to learn a new UI when running Zimbra Desktop. As a matter of fact many ZCS users are also Zimbra Desktop users, often switching between the two as they move between computers. Moreover, the high level of code overlap between the two products not only makes development cheaper but also brings innovation to market faster, because a new feature added to one is automatically available in the other in most cases.
Here is a component diagram of Zimbra Desktop.

At the core of Zimbra Desktop there lies the “micro edition” of the ZCS Server. The Ajax client talks to the local server in a way not much different from the online Ajax client to a real ZCS server. The most significant addition in Zimbra Desktop is the data synchronization engine, which synchronizes user data in the cloud with data on the local computer disk, making the data accessible even when there’s no network connectivity like during air travel.
Making ZCS Server run on a user computer is easy because a) it’s a Java application that can run on many OS platform, and b) it has enough tuning knobs built-in to be dialed down to support a user of one. The ZCS Web container is Jetty, also a product especially good at scaling up as well as scaling down.
One topic we can’t avoid in any discussion of Zimbra Desktop is its integrated browser, Mozilla Prism. Prism is a simple browser built on XULRunner in the same way as Firefox is a full featured browser built from the same code base. As a solution to render the Zimbra Desktop UI, there’s no more ideal fit than Prism as the ZCS Ajax client runs in Prism out of box, just like in Firefox. In addition, we also rely on Prism’s XPCOM layer and other native bindings for OS integration on Windows, Mac OS and Linux platforms such as Ubuntu, to support features like pop-up notifications and “mailto” link handling. It’s plugin framework allows us to do things like add attachments to emails simply by dragging them from their desktop into the compose area, or upload files to briefcase in the same way. While Prism is a perfect choice for us in developing the hybrid online/offline solutions, I should point out that both Silverlight and AIR can work well for other products. In the case of Zimbra Desktop however, Prism and the underlying XULRunner allow us to best protect our investment in the UI.
Finally, a word on why we still choose to build a desktop application when many are moving in the opposite direction, from desktop to the Web. We believe there’s the need for a mail client to be independent of any Web services and to be under the total control of an end user. While there are now products like Google Gears to allow taking a Web application offline in a generic fashion, in the end a Web application can only offer limited ways for third party customization. Many users spend a good part of their work day with a mail client, so it’s very important to allow the freedom to extend the software to best suit each user’s unique needs to be productive. With Zimbra Desktop, the third party extension mechanism is called Zimlets. This is our standard framework to enable Web service mash-ups that adds additional functionality, like Web conferencing or Twittering, directly into the email application with tight integration. In Zimbra Desktop 1.0, Zimlets can be downloaded and injected by end users; in 1.1, our next major revision, we will provide a more seamless way for end users to explore and manage Zimlets.
JJ Zhuang is lead developer for Zimbra Desktop.
With more than 2.4 million downloads, 7,500 forum posts and two years in the making it’s been a long road to this point… we are now happy to announce the general availability of Zimbra Desktop.
The free Windows, Mac, and Linux download is available now.
Century 21 agents spend many hours a day away from their reliable office network connections. The introduction of Zimbra Desktop allows us to continue reducing our dependence on Microsoft Outlook while retaining the superior Zimbra collaboration platform that we can now use wherever and whenever we need it.
— Marge Patterson, Vice President
CENTURY 21 Realty Group Companies
|
A lot of work and fine tuning has been done to create the best possible companion to the Zimbra AJAX Web experience, throughout that process your feedback has been invaluable!
For those less familiar, Zimbra Desktop is unique because it gives you centralized access to your Zimbra email inbox (or inboxes from virtually any external source)- plus your calendar, contacts, documents, tasks and briefcase- whether you are online or offline. We think it is the most advanced email application available, a hybrid combining the best qualities of traditional mail clients with a modern webmail experience, and the first to elegantly marry local and cloud storage so all communication information is at a user’s fingertips.
Since Zimbra Desktop supports any email account (plus contacts and calendars for Yahoo! and Google) we hope it’s the most convenient way to keep you organized and in touch with coworkers, friends and family. Additionally, with the latest Zimbra technologies, including faster indexed search, conversation views and tagging, you can easily handle large inboxes and quickly find important pictures, documents or messages from people you care about.
With Zimbra Desktop filling a big gap between free email applications with basic functionality and premium applications that may be cost prohibitive, we have seen a steady list of customers embrace the product, including Red Hat, Gyro International and 21st Century Realty Group. Zimbra Desktop gives their employees a better overall experience, provides offline “airplane mode” capabilities, works cross-platform and makes life easier for their IT departments by backing up end-user desktop data in the cloud.
Lee Congdon, Chief Information Officer at Red Hat recently shared his impressions on Zimbra and Zimbra Desktop:
“We recently swapped out our legacy email and calendar systems for Zimbra Collaboration Suite, which has received high marks throughout the company, and with the general availability of Zimbra Desktop, we can now offer all of our employees a sleek solution for both Web-based and desktop communication. We are especially pleased that the Zimbra Collaboration Suite is based on open source technology and that it performs very effectively in our Red Hat Enterprise Linux environment.”
We have always been dedicated to offering our customers freedom of choice to meet your diverse collaboration needs for work, school, or home, and Zimbra Desktop brings your most important communications to you in one place, wherever you are. Zimbra Desktop is free for anyone to use whether you are a Zimbra customer or not. (Zimbra customers have an additional benefit of support from us when using Zimbra Desktop with a Zimbra email account).
Download Zimbra Desktop today and take your email, calendar, and contacts with you on any plane, train, or automobile!
Help us spread the spread the word – put a Zimbra Desktop badge on your website.

The Zimbra Connector for BlackBerry Enterprise Server (ZCB) beta period is now closed; starting today ZCB is generally available (GA)!
Zimbra Network Edition (and trial) customers who have Zimbra Mobile may use ZCB free of charge, and it is fully supported by the Zimbra team.
This version of ZCB focuses on features and functionality requested by our largest BlackBerry constituency – small to medium businesses looking to migrate from their existing collaboration platforms, hence the official name: Zimbra Connector for BlackBerry Enterprise Server Small Business Edition. You may use it with up to 50 devices running on BlackBerry Professional or BlackBerry Enterprise Server (BES) for Exchange.
The addition of ZCB to Zimbra Collaboration Suite is significant because it is the only next-generation, open source email and collaboration platform to offer native integration with BES (and joins existing providers Microsoft, IBM and Novell). Until now, alternative platforms required 3rd party outsourced providers to channel BES, which meant less control and potentially higher costs for organizations.
With ZCB GA plus ZCS 6.0 (coming soon) providing mobile enhancements like Task sync, remote device wipe and many new features for mass-market devices ActiveSync devices, including the iPhone; the Zimbra Mobile family has more well-rounded mobility for a broader range of users and devices than ever before. Providing features key to collaboration: Such as full access to your global directory list, robust searching, support for multi-node ZCS configurations in addition to the native over-the-air synchronization of mail, calendars, and contacts. Moving forward, we will also look to further expand our ZCB offering to support Nginx proxy and larger organizations – one of the fastest growing markets for Zimbra.
We are very proud to have achieved this milestone and want to thank everyone for their testing and support throughout the process!
Network Edition users may register and download the ZCB GA here.
Few things get our community excited like a major release version of the Zimbra Collaboration Suite. Today marks availability of the first GnR preview: ZCS 6.0 Beta 1 Open Source Edition. Admins and developers can find it over on the downloads page, for the less technically inclined we’ll also have a new hosted demo up shortly.
Some feature highlights: 
» A new horizontal ‘three panel’ view with the message on the right.
» There are now tabs for individual messages as well as the compose page.
» Document & Briefcase access from the standard HTML client.
» Share management & discovery UI that lets you see all shares (email, contacts, calendar, tasks, docs, etc) at a glance. Join a distribution list late? Find all existing shares with the group.
» The ability to run existing email filters over the contents of a folder.

» Did you get it? Know instantly, as read receipts have been implemented in the web-client.
» Improved calendar resource auto-accept/decline conflict handling.
» Calendar fisheye view – previously in Zimbra Desktop, now in ZCS.
» Auto-updating RSS feeds & ICS event URLs on a configurable schedule.
» Per-user blacklists & whitelists are exposed in the revamped mail preferences area.
» ‘Published’ Zimlets management for end users in options. (Zimlets themselves can now define a new application or preferences tab.)
» Mobile web-client overhauls: Including a special mini logon page, better appointment creation, and six new variants based on device type and connection speed.

» Auto-complete from shared address books; and recently used contacts are presented first.
» Configurable spell check on every send.
» On-behalf-of aka sendAs option on compose in shared folders/relationship accounts.
» Appointment list view & refined print layouts.
» Full featured detached message view for the advanced AJAX client.
» Attach files during mail compose directly from the briefcase; in the briefcase UI you can now send as attachments or links.
» Pressure-based scrolling of folder and message list (within the same page).
» OpenLDAP now allows for some on-the-fly configuration changes with zmlocalconfig via a cn=config backend instead of slapd.conf text files for preservation across upgrades.
» GALsync accounts via datasource contact folders with sorting, browsing, and enhanced client usability.
» MySQL as the logger DB has been removed, in favor of more zmstat service implementation mixed with SQLite & RRD for the new logger service.
» Role based delegated permissions on every individual feature. Now you can create distribution list managers, while HSP’s can give someone permission to manage multiple domains from one login. (The network edition will include easy admin console configuration; open source edition may contain some code.)
There are just too many enhancements to list here so we could only cover a few; check out the beta on a test server, then let us know what you think below or over in the Community Forums. Release notes are here. (Note: We advise against upgrading if using the Posix/Samba or Disclaimer add-ons, the process will be documented shortly.) This is the first release of several in our testing cycle; general availability of ZCS 6.0 is targeted for the summer.
[Update: Please note the original post date of April 1st --we're just kidding-- enjoy! ]
Zimbra leads the world in open source, next-generation messaging and collaboration software for Linux and Mac OS X servers. In fact, we recently passed the 40 million paid mailbox milestone. As we have grown, the question often asked is: “When will Zimbra extend its platform support to a given operating system?” Given the success of Zimbra Desktop on Linux, Mac, and Windows – we felt that a server version for Windows as was the next logical choice.
Obviously there are several hurdles going from a Linux environment to Windows, all of the third party applications we rely on need to have freely available cross-platform versions. We’ve partnered with OpenLDAP team, who have stepped up to provide an compatibility patch for a Microsoft Active Directory emulation mode. Combined with a new mail transfer agent written from the ground up, we’re pleased to bring you: Zimbra Collaboration Suite for Microsoft Windows Server 2008.
This isn’t the first time we’ve switched a package in favor of our own custom code – in Zimbra Desktop Beta 3 we threw out JavaMail and wrote a brand-new robust IMAP/POP client-engine from scratch. Replacing Postfix has been the major hurdle for a while now; the engineering team knew that it would be a daunting task.
|
I already do a lot of my dev work in Eclipse & IntelliJ on Windows. Previously we put PowerShell wrappers around our command line tools to assist more advanced admins. Now we’ve utilized MSI technology to provide the easiest install of a mail server ever.
— Anand Palaniswamy,
Server Team Lead
|
This extends Zimbra’s reach of services to the most widely deployed operating systems in the world – theoretically any Windows product; though XP, Vista and 7 will not be officially supported on the Network Edition since they don’t have the same long-term backing by Microsoft development teams. Editions tested by our quality assurance group cover the major versions of Windows Server 2008 including Standard, Enterprise, Datacenter, HPC (high-performance computing cluster), Web Server, Small Business, Essential Business, and Foundation Server adaptations; in both x86 & x86_64-bit variants. We hope that the community will step up to cover Itanium based processors.
For the future, the server team is working to integrate Zimbra’s Hierarchical Storage Management (HSM) with Windows Storage Server, for moving messages and attachments from a primary to a secondary volume based on the age of the message; which lets you to store less frequently accessed data on cheaper disks. Of note, the updates to junctions, reparse points, and symbolic links in recent NTFS versions allows us to do single-instance-storage as well.
|
We’re playing with .NET access for our SOAP interfaces in the labs. It’s potential is very impressive.
— Kevin Henrikson,
UI Team Lead
|
The compatibility with Windows will enable a large, new market for our HSP & VAR partners. To quote Jim Morrisroe, VP of the Zimbra Business Unit here at Yahoo: “It is key to delivering on our strategy and commitment to provide the best experience for users and administrators of any messaging platform in the market today. This launch enables us to sell to 2 million new small businesses and enterprises that view Microsoft server technology as integral to their success.”
ZCS version 5.0.15 for Windows platforms is now available on both the Open Source and Network Edition download pages. The Network Edition will be classified as beta until ZCS 6.0 is released – and will then contain the same product support as well as subscriptions to new releases, updates and patches. If you have any questions please contact our Windows sales team.
See the ZimbraWindows directory alternative to ZimbraServer in each branch of our public perforce cache for relevant files and build definitions. Try it out – you can leave us feedback thoughts below or over in the Community Forums.
|