Google Gears – Building Offline Web Applications

Google has released Google Gears, a new technology that is designed to overcome the single major drawback all web based applications suffer from: they don’t work without an internet connection! Google Gears is an Open Source framework, which is essentially a browser extension that is powered by JavaScript API’s that enable data storage, application caching and multi threading technologies for offline browsing and application use.

I don’t find it at all surprising that Google have invested heavily in trying to find a solution to the problem of we can use online web based applications offline. Although they launched Google Apps last year the take up has been quite slow, I read a few months back that the Commonwealth Bank has suspended a trial of Google Apps which it was thinking of rolling out to its 50,000-strong workforce, and many analysts insist that one of the major reasons for this is that there is no offline availability of these applications. Or as Carl Sjogreen, Google Senior Product Manager, sums the problem up when says:

As more and more people are depending on web applications to manage their lives and get information about what’s going on, it becomes and increasing problem when you can’t access those applications when you’re offline.

Enter Google Gears! this new technology certainly strengthens Google’s  position in going after Microsoft’s lucrative Office franchise, which makes commercial sense, More importantly though the technology actually makes the web and browsers a more attractive platform for building applications that can be used anywhere, anytim regardless of whether you have a connection to the internet or not.

Or as Eric Schmidt, CEO of Google, put it:

With Google Gears, we’re tackling the key limitation of the browser in order to make it a stronger platform for deploying all types of applications and enabling a better user experience

There decision to Open Source Gears is also quite an important one. By making the technology Open Source from a relatively early stage Google are inviting others to help improve the technology and build a community around it, and move towards developing with others an industry standard for these hybrid programmes that work both online and offline.

This is quite an exciting development.

Google Tech Talk: Away with applications: The death of the desktop

The computer desktop metaphor is ubiquitous, but how much work do we get done there? None! … all Time is entirely wasted navigating or shuffling content to the application in which we can finally work. What lessons can we learn from designing interfaces without the desktop and without applications? Is it even possible? And how does this apply to the Web? Currently, Web applications are often more usable than their desktop-based counterparts because each one does one thing and does it well.

Aza Raskin gives this excellent talk which is really about human computer interaction and usability. For those who don’t know Aza is the son of Jeff Raskin the guy who started the Macintosh project at Apple.

Aza’s offers some very useful views on User interface design, he touches on GOMS Models, Cognetics, Habituation in a wonderfully easy to follow manner. In this talk he outlines how we can get rid of the application centric model which comes from the desktop design paradigm in order to free functionality that can be made accessible using a ZUI along with a universal method for accessing functionality.

Applications are like walled cities that hoard their functionality, but we need to give that functionality away so others can use it wherever they are. But to facilitate this Aza argues that we need a universal access interface. Web services give you a separation between the UI and the Data but up until now services are really available to developers, they’re not really intended for end users but can we expose them through CLI’s?. He proposes a synthesis between GUI’s and CLI’s and from what he says they’re having a great success some of the examples he shows are compelling. I for one can see the value of this. In fact we’ve already put it into practise about six months ago.

You see this was something Rob and I thought about when we developed Project Cenote, one of the features of the user interface is that the browser’s URL line is an interface in its own right. For example if you type this into the url line:

http://cenote.talis.com/author/gemmell

And the application will perform a search for all items that were authored by “gemmell”. So if your like me and you just want to get to the content your interested in you can use this as opposed to navigating around the site and entering search terms into a search box. It is basically a Command Line Interface, and I think this is a wonderful way of giving end users access to content without necessarily forcing them to always use a GUI.

I was amused when one Aza paraphrased Asimov’s Three laws of Robotics into Raskins Rules of Interfaces:
1. An interface shall not harm your content or, through inaction, allow your content to come to harm.
2. An interface shall not waste your time or require you to do more work than is strictly necessary.
3. An interface shall not allow itself to get into a state where it cannot manipulate content.

This is a great talk to listen to and full of some very useful tips.

Yod’m 3D – Virtual Desktop manager for windows

Ok, I came across this new virtual desktop manager for windows which has a 3d rotating cube effect much like you get on Mac’s these days, or with Beryl on Linux.

I have to confess it looks really really nice, and is very quick to flick between desktops using CTRL+SHIFT and Left or Right arrow. You can change the transparency of the cube.

The only thing I don’t like about it is that moving items between desktops feels waaaaay more difficult than it should be.

It’s freeware and you can download it from here, if you really like the author accepts donations.