Despite having been around for what seems like ages, Chrome Apps, aka packaged apps, have just been released into the Chrome Webstore. Now the world can start to sample real web apps on the desktop.
It does seem like a very long journey for web apps to make it to the desktop. Arguably the first web apps on the Windows desktop were Windows gadgets, but these have been discontinued for "security" reasons in Windows 8. The real reason is that Microsoft wants you to construct WinRT apps which, of course, don't run on the desktop.
Currently if you want to run a web app on the Windows desktop your choices are to write a Firefox packaged app or a Chrome App - both of which are very little known outside of the circle of developers working on them. In short, they haven't made much of an impact on end users.
Now Google has given Chrome Apps a special place in the Chrome Web Store and made them much easier to find. They can be downloaded, installed on the desktop and launched using a desktop app launcher that is like having an additional Start Menu - of course on Windows 8 it is the only Start Menu. At the moment the app launcher only works under Windows, and Chrome OS of course, but a Linux and OS X version is promised in the near future.
Back in February the app launcher was released to the developer channel. It worked much as it does now, but only the adventurous were expected to try it out. Today the store is open and real users can start to run Chrome Apps.
To give them something to try out there is a collection of free apps including Pixlr Touch Up - a photo editor, Wunderlist - a todo list, and Cracking Sands - a game.
The big advantage of Chrome Apps is that they should work anywhere that the Chrome browser works. They also work offline, but the protection provided by the Chrome sandbox is also a problem that means that you have to struggle to create something that looks like a true desktop app complete with all its privileges.
If you take a look at the extended Chrome App API, you will find that you can access USB, Serial and Bluetooth devices and you can use sockets to perform TCP and UDP communications. You can store data but only in a sandboxed local store. Access to the desktop's file system isn't possible, and this is just one of the features that makes a web app not the equal of a desktop app.
There are some experimental APIs that will let you interact with a bit more of the system than a standard web app, but there are still restrictions to take into acount - no Alert command, no cross platform Ajax without cross-origin permissions, limited downloading of resources etc..
There are two surprising things to note about this new enthusiasm for desktop web apps; with the current security restrictions they are no match for native desktop apps and why has it taken so long to get even this far?
There is also the small matter of compatibility between Chrome Apps and Firefox apps - each browser supports an app framework that doesn't offer much cross platform compatibility, even though both Google and Mozilla claim to be working to standardize things.