Ryan Stewart has a blog post containing an interview with Alan Lewis
of with EffectiveUI who are the developers of an Apollo app in development for eBay known as the San Dimas project. I saw a demo of this app at FOTB and it looks very impressive.
One particular part grabbed my interest:
“Alan also mentioned that one of the big advantages of the desktop model is improved caching. For instance there is a web service call to go out and grab the entire tree structure of eBay’s categories. In XML format, this is about a 20 meg download. With Apollo, the team can call this once and cache it on the local machine so that the application never has to make the calls to get subcategories. This means fewer calls to the server and better performance.”
The use of caching and local storage is a key area of Apollo that is perhaps the most alien to web application developers. Short of browser cache and cookies we’ve had no form of local storage available. The above quote highlights the performance opportunities available through caching (something I’d not previously considered). Caching information about the site that never (or infrequently) changes could help greatly improve performance and reduce bandwidth.
Also the ability to make use of local file storage is what will really aid disconnected applications. In the instance of San Dimas you might be able to create and manage your eBay items for sale whilst not online then, once you have a web connection, commit them all to eBay. A couple of other examples I can think of off the top of my head:
- Football manager game – manage your team offline (on the bus, plane, train etc). then, once connected commit team for online matches and results downloading.
- Business Applications – managers and staff who are not office based can have access to their business information whilst travelling or making site visits, then download the latest data when web access available.
- Web content writing – Authors of content managed websites, news sites, blogs etc could have the facility to write content in a native application at any time, allowing them to submit their content when connected. Would save having to use word or other text editor to write and save the their content then copy, paste, reformat before posting.
Being able to continue to use a web application when offline should greatly reduce frustration for users. Have you ever spent ages filling in an online form of some sort or spending forever writing a page of content only to find that when you’ve submitted it you’ve lost your web connection and all your hard work gets lost?