Recently InfoQ sat down with Brad Neuberg, creator of the Dojo Offline Toolkit, to talk about the project. Dojo Offline is a project seeking to be a small, cross-platform, generic download that enables web applications to work offline.
Neuberg announced the start of the project in early January but is moving quickly. The first goal was to create some mock-ups to what offline-enabled applications would look like, including GMail and Blogger. He has now moved on to designing the API. Neuberg talks about the server-side code that will be required to use Dojo Offline:
The server-side will need to be able to send data to the client to be stored for offline use, while also being able to accept a change list from the client during syncing to update its own data. The server must therefore be able to automatically resolve conflicts and do merges of the sent over data if this is needed, and store new, updated, or deleted items. This depends on the application; if it is a simple, single-user application, the server code should be quite simple. If it is a sophisticated multi-user application with many different types of data, the server-side might be a bit larger. The client and server will have a standard way to communicate during syncing which will be defined in the Dojo Offline documentation.
The current plan for Dojo Offline is to make use of the PAC file. Neuberg talks about how they will handle existing PAC files on client machines:
For the first release we will save a URL to an existing PAC file, and then replace it with our own PAC file. During uninstallation, we will then replace our PAC file with the older URL. There are longer term solutions to pre-existing PAC files, but these will not be in release 1.
The conversation moved on to synchronization of data.
Dojo Sync is definitely on the drawing board and is in the design being fleshed out this week. This is needed during the syncing process, and will be defined both by a simple API as well as a standard and simple syncing wire protocol.
Next Neuberg talked about how Dojo Offline will work on corporate desktops where configurations including proxy settings may be locked down.
The installer file on Windows will be an MSI file, which will require that users can change their proxy settings. There is no current plan for a workaround for situations where users can't change their proxy settings.
Neuberg mentioned that after Release 1, there are no firm plans for where the project will go other than to evolve based on the response from users. The Dojo Offline blog has weekly updates on the status of the project.