In-Depth

Profile: Innovative Information Delivery

Zimbra is looking to build on its reputation of taking Ajax to the limit.

"We pretty much felt that messaging could be done better," said Ross Dargahi, cofounder and vice president of engineering at Zimbra Inc., a three-year-old, open source startup that specializes in client/server technology for what it describes as next-generation, enterprise messaging and collaboration.

"Most of the stuff today is based on 10- to 15-year-old technology, developed at a time where message volume was a lot smaller: You'd maybe get a dozen messages a day and there wasn't really spam. It wasn't a centerpiece of your daily workflow, and given our messaging background, we thought we could do better."

The management team at Zimbra has been heavily ensconced in messaging technology for some time, and with several organizations that have provided innovative technologies in the evolution of messaging and collaboration technologies. In addition to Dargahi, Zimbra was founded in 2003 along with Satish Dharmaraj, cofounder and CEO, and Roland Schemers, cofounder and vice president of technology. Dargahi said that he, Dharmaraj, and Schemers were the founding engineers in a startup called Onebox in early 1999 that provided unified messaging—voicemail, e-mail, and faxes—in one location that could be accessed from the Web or from a telephone. After building it up to 5 million subscribers, the company was acquired by a company called Phone.com, which through a subsequent merger became Openwave Systems.

The engineering trio continued deploying really large-scale messaging systems with ISPs and global carriers at Openwave for a number of years, until they left and started Zimbra. In addition to building out their management team with other technology and business professionals who were employed at Openwave Systems and other companies, they also brought aboard Scott Dietzen, Ph.D., as president and CTO. Dietzen, who has had a long-standing professional relationship with Dharmaraj in the industry, was most recently employed at BEA, where he served as the principal architect of the WebLogic product family's technology strategy. In forming the startup, the primary goal was to make messaging much more compelling for end users and administrators.

Dargahi said that if you look at traditional messaging systems in which you want to be able to do higher-level management or backup archiving, you're forced to purchase a host of supporting systems from third parties that of course drives costs higher. Traditional systems don't provide a seamless interface for the administrator, and Zimbra sought to add value there, and for end users in providing the capabilities to manage large volumes of mail and to work out of their mailboxes, which many people find themselves doing in today's business environments.

Delivery On Demand
Zimbra's flagship product is its Zimbra Collaboration Suite that provides server-side and client-side technology that supports e-mail, contacts databases, and group calendaring. On the client side there is an Ajax-based Web client that gives the Zimbra application the look and feel of a desktop application in its richness, while encapsulating all the benefits of being a Web application. It allows integration with different information sources, and its zero footprint means no plug-ins, making it an easy application for administrators to deploy.

In the Zimbra Collaboration Suite all of the indexing and searching is done on the server side, which according to Dargahi has a number of benefits. One benefit is that mail is indexed as it is delivered, and along with a combination of Lucene and MySQL, Zimbra has built a number of optimization and search algorithms. With the index on the server side and "preindexed" through an inverted-list technology using Lucene, users are able to do rapid searches and information retrieval no matter on which client it's being used, whether at an airport kiosk, a laptop computer, or a mobile device.

"We have a rich query language, and we make mail very searchable," Dargahi said. "Much like Gmail, you can have large volumes of mail, and you can very rapidly search for content, and we even have a graphical tool that allows you to do that."

The idea, Dargahi said, is to give users innovative, compelling features that make collaboration or messaging easier to use and provide seamless integration between calendaring contacts and mail with existing information systems.

"I like to call it information when you need it, just-in-time delivery of information," Dargahi said. For the administrator and on the server side, the technology provides all of the tools and capabilities expected in a modern system, making it easier to administer, making it scalable, and enhancing it with hierarchic storage management, archiving, and back up and restore. "We're basically bringing messaging into the new millennium; we shouldn't be stuck back in the eighties. There's been so much advancement in technologies, so let's leverage that."

On the server side Zimbra has taken best-of-breed open source technologies like Postfix and MySQL and used Java to build a collaboration suite on top of them that provides the unique messaging capabilities that the suite offers. "It's totally open, we provide SOAP APIs, we get all the benefits of Java, we don't have cluster overflow issues from a security perspective, and Java allows us to rapidly develop the systems," Dargahi said.

Despite the many benefits for administrators and end users, the Zimbra Collaboration Suite and other related Zimbra technologies will offer developers a lot of opportunities for customizing Zimbra's system for their organizations. Dargahi said that early on the company realized they would need to develop a toolkit that he said "you can think of as sort of a mini JDK."

"When we started developing this system there really was no Ajax yet, and we sort of toyed with, 'should we do a thick client? Should we do a thin client?' We looked at the browser and really discovered that you can push it a long way," Dargahi said. "As much as Swing provides buttons and tables and layout managers, you need the same kind of thing for building an application on the Web. So as part of developing our systems we built up this toolkit. There's a .Net component, there's an I/O component, there's a UI component, and we felt that this could be useful for other folks who want to develop Ajax applications. At the end of the day, from Zimbra's perspective, we want to see Ajax succeed in a nonproprietary way, so we felt that putting it under the Apache license and making it freely available would benefit everyone."

Browser Magic
Zimbra has made recent announcements that highlight two noteworthy technologies, which will flourish in upcoming product releases. The most recent announcement generating some excitement is Ajax Linking and Embedding (ALE), which essentially does for browser-based applications what Microsoft's Object Linking and Embedding (OLE) does for desktop applications, allowing the user to incorporate, or embed, a component from another application source (for example, an Excel spreadsheet) into a document in the target application (for example, Microsoft Word). Dargahi said ALE lets you do rich text editing by putting a browser to work in design mode, where "it behaves very much like a word processor."

"The nice thing about [ALE] is that it's operating system–agnostic and platform-agnostic, so it's not proprietary," Dargahi said. "We contribute it to open source. [The ALE technology] really shows you how far you can take these applications. We've heard so much about zero footprint clients, and so far, to date, they really haven't delivered. Now with a new generation of clients like Zimbra, we're seeing that you can get compelling applications, thin applications, to the end user that they enjoy using, which we think is exciting."

Another example Dargahi offered is the ability to create an ALE component that implements a drawing tool. "We allow different APIs so folks can extend Zimbra. On the other side of it we're integrating with Zimbra all of our APIs; our Web client essentially uses a bunch of SOAP APIs. It's all open and all documented, so if folks want to integrate external systems with Zimbra that way, they can certainly do that as well. There's a number of different dimensions with which to integrate and extend Zimbra, and I think it's pretty exciting from a developer perspective," he said.

The other recent technology is a framework or mechanism—called Zimlets—that allows developers to integrate the Zimbra Collaboration Suite with different information systems. Dargahi explained a Zimlet as an entity that a developer can create that integrates, for example, with a third-party information system, such as Salesforce.com, in such a way that a user can drag a contact or e-mail message onto the Zimlet that will in turn populate the Salesforce.com account with that information.

"Zimlets essentially provide both a client- and server-side framework for allowing you to do that [integration], which makes the Zimbra application extensible, both on the client and server side," Dargahi said. "I can integrate it with Internet or intranet applications or systems," he said, citing examples like integrating it with maps, with the Zimbra-based calendar, and so on.

Zimbra works closely with the open Ajax initiative. Their toolkit is part of the open Ajax effort and is one of the toolkits that's supported directly in Eclipse.

Though the company is quite young, customers are warming up to Zimbra's offerings. In addition to organizations in the financial industry, Zimbra has also acquired customers that are doing some other innovative projects with the technology. Dargahi said that in the medical imaging space Zimbra has been integrated with radiology data so that physicians can see radiology information. Other customers have integrated Zimbra with flight information to facilitate booking travel.

Visit Zimbra's Web site for more information.

About the Author

Terrence O'Donnell is managing editor of Java Pro.

comments powered by Disqus

Featured

  • Compare New GitHub Copilot Free Plan for Visual Studio/VS Code to Paid Plans

    The free plan restricts the number of completions, chat requests and access to AI models, being suitable for occasional users and small projects.

  • Diving Deep into .NET MAUI

    Ever since someone figured out that fiddling bits results in source code, developers have sought one codebase for all types of apps on all platforms, with Microsoft's latest attempt to further that effort being .NET MAUI.

  • Copilot AI Boosts Abound in New VS Code v1.96

    Microsoft improved on its new "Copilot Edit" functionality in the latest release of Visual Studio Code, v1.96, its open-source based code editor that has become the most popular in the world according to many surveys.

  • AdaBoost Regression Using C#

    Dr. James McCaffrey from Microsoft Research presents a complete end-to-end demonstration of the AdaBoost.R2 algorithm for regression problems (where the goal is to predict a single numeric value). The implementation follows the original source research paper closely, so you can use it as a guide for customization for specific scenarios.

  • Versioning and Documenting ASP.NET Core Services

    Building an API with ASP.NET Core is only half the job. If your API is going to live more than one release cycle, you're going to need to version it. If you have other people building clients for it, you're going to need to document it.

Subscribe on YouTube