Zimbra users have been asking for how they can take the Zimbra AJAX UI offline. Today at Web 2.0 we demo’d this for the first time.
The design goal is to have the same user experience with Zimbra both online and offline. Technically the Zimbra Offline client is the same AJAX client UI but now connecting to a local sync’d cache of the data and more importantly the ability to search, tag, organize, etc without network access. The two way sync of mail, calendar, contacts, and documents will allow Zimbra user’s to take their collaboration data together with the Zimbra AJAX experience with them on the road or in places without a network connection and when they come back online - all of the changes made while offline (like composing, deleting, moving, creating messages, contacts, events or folders) are sync’d back to the cloud. Just like traditional offline mail clients - messages pending to be sent are stored in an Outbox where you can edit and view them until re-connected. You’ll notice in the screenshots that both POP accounts and RSS feed folders are sync’d when in offline mode just as when online. RSS folders have been part of Zimbra for a while. POP aggregation will be part of our next major release and IMAP will be added shortly after that. Mail identities allows you to respond with the FROM and REPLY-TO addresses that the mail come with - responding to mail POP’d from gmail; Zimbra will automatically set the FROM address to your @gmail.com account. This feature is also useful for people who would like to respond as support@company.com when responding on behalf of a support team mail list for example. Mail identities will also be part of Zimbra’s next major release. Watch this space for more on the architecture of the offline sync cache - meanwhile below are some screenshots. The beta version of the offline client for email and contacts will be available in Q4.







on November 9th, 2006 at 12:32 pm
Web 2.0 Summit Notes, Day 3
Read/WriteWeb’s Web 2.0 Summit coverage sponsored by Yahoo! Today has already had a flurry of announcements and news. Here’s a brief wrap of them: Microsoft Live Labs Photosynth was introduced by Gary Flake at the conference. It’s an impressive 3D…
on November 9th, 2006 at 9:15 pm
Offline AJAX
Offline functionality finally comes to Web-based apps via Zimbra. CEO Satish Dharmaraj just announced at Web 2.0 that Zimbra is developing a technology to take large scale Web -based applications offline and the technology will be incorporated into th…
on November 9th, 2006 at 9:23 pm
links for 2006-11-10
madduck’s droppings : /world/2006.11.09_get-out-while-you-still-can worst. idea. ever. could we put ourselves at a bigger disadvantage with respect to encouraging collaboration? (tags: travel security no fly TSA government pointless) Zimbra - Blog - T…
on November 10th, 2006 at 3:29 am
Hi there; how does this compare to Dojo Storage (http://manual.dojotoolkit.org/storage.html)?
Best,
Brad Neuberg
on November 10th, 2006 at 3:30 am
Some more questions about offline. Does this just work if Zimbra was already open and then lost network access, or does it provide a way to access the Zimbra web app even if you don’t have network access?
Best,
Brad
on November 10th, 2006 at 7:57 am
Hi Brad,
Our current storage implementation is based on Apache Derby (http://db.apache.org/derby/) for structured storage and Apache Lucene (http://lucene.apache.org/java/docs/) for search/indexing. So a bit different approach that what you’ve done with Dojo Storage(very cool stuff BTW!). We needed to be able to sync large sets of data that is found in modern mailboxes; multiple GB’s of mail with specfic access patterns. We also wanted to reuse as much of our current sync code as possible from our core server (Tomcat, MySQL, Lucene). This way our AJAX client UI can still talk SOAP/JSON/XML to the offline sync service. There are almost no changes to the AJAX client code other than just a few tweaks to add Outbox support. The wire API between the online server and offline sync service are identical.
We have the JS code in the offline package so you do not have to first load or cache the JS code in your browser to use the offline client. It can be loaded locally even without network access.
We plan to follow-up with a more detailed technical description of the offline support in a future blog post.
on November 10th, 2006 at 2:18 pm
Zimbra: Derby for Offline Persistence
Anne had exactly the same question that I did when she saw the news that Zimbra had demoed offline access to the application: how did they do it? As I’ve covered before, there are a variety of technologies that lend…
on November 10th, 2006 at 6:20 pm
Ah, so this requires a download component. That was the one open question I had
By the way, I’ve long wanted to add a Java Derby storage provider to Dojo.Storage. Interested?
Nice work, btw.
Best,
Brad
on November 10th, 2006 at 8:38 pm
Yes. Today there is a local install, for the sync service. We are exploring ways to eliminate the download but it would require a bit more re-org of the sync service. One such idea is similar to what the JavaDB demo does with it’s Java Plug-in extension.
http://developers.sun.com/prodtech/javadb/overview/product_tour/readme.jsp#Download
Having a Derby implementation of dojo.storage would be very useful in general. For our application to use such a storage provider we need to carefully control the access API. A get/put API is just the beginning. We really need a search based API and a structured query API.
on November 11th, 2006 at 4:52 am
Taking Zimbra Offline
Zimbra users have been asking for how they can take the Zimbra AJAX UI offline. Today at Web 2.0 Zimbra demo’d this for the first time. Any actions done offline will be stored in the local cache until you are back online. This will work for their…
on November 16th, 2006 at 7:50 am
I havent tried with 4.5beta yet, but is the offline AJAX part of that current release…
on November 17th, 2006 at 3:45 pm
Zimbra uses Derby for offline storage!
I was poking around the blogosphere and discovered serendipitously that the new offline support in Zimbra uses Apache Derby, and was actually inspired by the demonstration Francois did of offline Derby at ApacheCon in 2005. Way cool!
on November 17th, 2006 at 4:28 pm
Why Use Derby For Web Client Storage?
I thought it would be valuable to describe the advantages to using a
relational database, and Java DB in particular, for web client storage,
compared to some of the simpler key/value APIs that are available.
on January 2nd, 2007 at 11:44 pm
Hope you might analyzed sqlite(http://sqlite.org) which is small footprint of db requires less than 2MB. In your type of approach user has to install or you will be installing JVM, i don’t think how many of end-users likes to install JVM in their machine. I definitely hope the interaction between offline client and offline server(i meant the part which takes care of getting input from offline client and stores in offline db) will be based on some small http server running behind, simillar to google desktop search.
What my idea is look at salesforce.com offline edition. They also deals with large set of user data, but they store every thing flat xml files in offline edition. They interact with the xml files using their dll’s, they only drawback is it will work only in IE
on January 3rd, 2007 at 6:01 am
Just curious as to how I can get my hands on this offline client. I read that there is a download available but where? We will be upgrading to v4 this weekend so I am very interested in getting it.
on January 3rd, 2007 at 8:41 am
@sraj - We looked at SQL Lite. Derby fit better for us and the JVM was not a concern since the offline code is already all Java and requires a JVM. We could have used a different file format but IE and Windows only are a non-starter. We want this to be fully cross platform and cross browser just like the current Zimbra web client.
@Thomas - We are working on an installer/pkg for the beta. Don’t have a firm date yet but we’ll have something for you to play with in Q1.
on January 4th, 2007 at 5:06 am
Hi Kevin,
XPI for Firefox2(has support for sqlite) and ActiveX Control can be easily used to provide the offline edition but you need to satisfy two different worlds altogather while managing/writing code would become so cumbersome.
Java is so simple and installing a product is just easy when all the dependencies are bundled. But size is what needs to be taken care of.
sraj: SQLite is a real beauty when it comes to small footprint db’s but with its db-level locks, its really hard to read and write at great speeds simultaneously. I have personally got into hell lot of problems. We used it with C.
I have not explored much of Derby DB which I will be doing shortly.
Its a $5billion game, all the best Zimbra!!
on January 4th, 2007 at 4:39 pm
Cool Thanks…
on January 9th, 2007 at 7:25 pm
Dojo Offline Toolkit
Brad Neuberg released an exciting announcement: Dojo Offline Toolkit, a toolkit for developing AJAX web applications with support for disconnected operations. He’s planning to use a custom web proxy, installed locally, to transparently let the web appl…
on February 14th, 2007 at 12:25 am
Just FYI, I found the cool post here.
http://www.bluishcoder.co.nz/2007/02/offline-zimbra-with-firefox.html
on February 16th, 2007 at 1:50 am
Applicazioni Ajax offline
tutto nasce da una mail di umberto che mi segnala questo articolo in cui si parla del supporto alla modalità offline nelle applicazioni Ajax che sarà offerto da Firefox 3.
Poichè l’argomento mi interessa ho fatto una veloce ricerca, perchè ri…
on March 26th, 2007 at 10:53 am
Zimbra Desktop Launched
Last night we launched Zimbra Desktop. Same AJAX interface you’ve been using on the web you can now take with you on a trip be it plane, train or auto. It’s even nice for those times your trusty network fails…
on May 3rd, 2007 at 2:25 pm
Taking Zimbra Offline using Apache Derby: David Berlind
David Berlind of ZDNet talks about how Zimbra uses Derby to take their office suite offline.
on May 19th, 2007 at 9:24 am
i would love to get this offline client, does it work with IE?
on May 19th, 2007 at 6:02 pm
Yes it will work in IE, Firefox and Safari. You can get it here:
http://www.zimbra.com/desktop
on June 1st, 2007 at 3:53 am
Gear up
Yesterday, while looking over to the Google Gears (GG) stuff, I talked with Celso about this and that I was pretty excited with the possibilities it provides. He was not impressed and later he told us why. I’m going to pick on his arguments for a while…
on September 14th, 2007 at 2:05 am
Thanks, Despite the title of my original post, I think I agree with your post. Of course there are almost no changes to the AJAX client code other than just a few tweaks to add Outbox support. The wire API between the online server and offline sync service are identical.