Several people have inquired as to what SitePen’s motivation is for working on the Dojo Offline Toolkit and in such an open manner. Besides the typical business and social benefits of contributing to open source projects, we have a few other reasons worthy of discussion.
A difficult, if not impossible, problem to solve in isolation
We have already received tremendously valuable feedback from the community, affording us the opportunity to consider and incorporate many possibilities and ideas that we would not have come up with on our own. While this is true of most open source efforts, it is essential for this project in particular, given the large number of factors that must coalesce to ensure the success of the Dojo Offline Toolkit.
Improve many of the world’s web apps
Not every application will benefit from offline support, but even highly network-dependent applications can be useful in some capacity. For example, Google Maps. At first glance, it is not useful without being able to search a map from the network. It would however be useful to retrieve previous driving direction searches. In this mode, it would function in a limited capacity that could still prove useful and efficient when working offline.
The applications that we rely on every day have an increasing reliance on the network. Web-based versions of these applications could still provide full capability locally with Dojo Offline Toolkit support. In my case, these tasks include email, scheduling, bug tracking, wiki, outlining, text editing, blogging, and chat. Currently, with the exception of bug tracking (Trac), wiki (JotSpot), and blogging (WordPress), I still use desktop applications for all of these tasks (Thunderbird, Daylite, OmniOutliner, vim or jEdit, and Adium) because they all support offline access to the most recent copy of my data while I am on yet another flight.
While I cannot receive new email, Thunderbird allows me to read messages, compose email, and delete unneeded messages from 37,000 feet. Daylite allows me to sync to a local copy of my calendar so I can prepare for upcoming meetings.
While JotSpot’s Todo list outlining tool is great, I can’t yet take it with me, so i find myself using OmniOutliner most of the time. For programming, vim and jEdit currently meet my needs when I want raw text editing or a lightweight IDE. Meebo is a great chat service, but Adium allows me to access a transcript of previous chats. With more and more business communication being done over IM, having access to previous chats while working offline is highly valuable.
Make life better for our current and future clients, and their users
Given that we are of course in the business of building web apps for our clients, we’re highly motivated to solve the problem of being able to access data offline, taking data with you, and auto-saving and syncing data back to your server when reconnected. The obvious benefits of web apps (centralized backup, zero-install, always up to date, collaborative, etc.), combined with offline, should further solidify the browser as a platform for building software that people can use more simply and conveniently. In addition to building the underlying platform to support offline mode for our clients’ web apps, we’re investing a lot of time and effort in determining best practices and design patterns for refactoring applications to work without a network connection.
So, what is SitePen’s motivation for working on the Dojo Offline Toolkit? It’s simply the next evolutionary step forward in building great web applications.