Chrome experiments: A foundation for future browser apps

The battle for dominance between the major browsers continues on desktop, pad, and mobile platforms and, according to [Net Applications' Net Market Share, as of October all versions of Microsoft's Internet Explorer combined had just over 54% of the desktop market having gained about 2.2% since December, 2011. Firefox, over the same period, lost 1.84% (currently at just under 20%) while the other big contender, Google's Chrome, currently stands at just less than 19% having lost 0.56% in the same 10-month period.

Of course, analyses by other market watchers differ: For example, SitePoint puts the October figures at 40.18% for IE, 26.39% for Firefox, and 25.05% for Chrome.

While these results may vary what they all appear to indicate is that the way the market is roughly divided up is, at least for now, reasonably stable. SitePoint contends "We have reached a point of Web stability. IE10, Chrome, Firefox, Safari and Opera are all capable browsers; there is little to choose between them."

Hmm, I'm not sure I agree with the idea that there is little difference between the browsers. Microsoft's dominance in the browser market is arguably due to its installed base via OS sales as well as the combination of consumer and enterprise familiarity having bred content and not, I would suggest, on much else.

In fact, when it comes to creativity and new ideas about what can be done with browsers that one that has my attention is Google's Chrome.

In fact, if you've not visited Chrome Experiments for while (or ever) you absolutely should do so; you'll find some amazing stuff there. Google explains:

"Chrome Experiments is a showcase for creative web experiments, the vast majority of which are built with the latest open technologies, including HTML5, Canvas, SVG, and WebGL. All of them were made and submitted by talented artists and programmers from around the world."

What is really valuable about these experiments is that they provide some novel and creative ways to do stuff. Consider "Plink by DinahMoe". This deceptively simple browser app uses the W3C's Web Audio API and NODE.js to create a multi-user music generating environment.

The Web Audio API is "a high-level JavaScript API for processing and synthesizing audio in web applications." For a more detailed explanation see the API's Introduction section. You can also try out the Web Audio API Demos which should work in Chrome on OS X, Windows, and Linux as well as Apple's Safari 6 in OS X Mountain Lion and iOS 6.

While basic audio file playback and control are supported, the Web Audio API also has a huge range of sophisticated capabilities such as "Convolution Effects" which is "is the imposition of a spectral or rhythmic structure on a sound" (for example, taking an audio sample and adding echo or reversing the playback are forms of convolution).

While the audio stuff in the Plink experiment is cool all of you networking types will most likely be far more intrigued by the use of NODE.js "a platform built on Chrome's JavaScript runtime for easily building fast, scalable network applications."

The NODE.js site goes on to explain that the subsystem "uses an event-driven, non-blocking I/O model that makes it lightweight and efficient, perfect for data-intensive real-time applications that run across distributed devices."

While there are those who passionately dislike NODE.js (see "Node.js Is Bad Ass Rock Star Tech", it's NSFW for bad words) it is an amazing tool when used in the right contexts (then again, aren't most technologies that way?) and the fact that it's underpinning the Plink demo to provide synchronization of multiple Internet users is pretty impressive. The simplicity of this subsystem is also amazing; here's a very basic but functional Web server written in JavaScript to run under NODE.js:

Installing NODE.js takes just a couple of minutes under Windows or OS X. If you save the above code into a file called example.js then run it using the command line "node example.js" and connect your browser to "http://localhost:1337" you'll be greeted with -- yes, you grokked it -- "Hello World". While that may not seem too impressive the fact that you did it in five lines of JavaScript is pretty amazing.

For a really great introduction to the wonders of NODE.js see the book "Node: Up and Running" by Tom Hughes-Croucher and Mike Wilson (O'Reilly, 2012). This highly readable book takes you from an almost identical "Hello World" example through simple chat servers to advanced topics such as message queuing and connection pooling that allow the use of NODE.js in real enterprise applications.

Anyway, back to Chrome Experiments: Other fascinating projects include "WebCam Mesh +" which creates a rotatble 3D mesh by mapping the pixel brightness of the image from your Webcam to the Z-depth of each pixel; "Storm Tracks WebGL, "an interactive visualization of ... storm tracks" (and which may take a very long time to load); and "Small Arms Imports / Exports" which is visually absolutely gorgeous!

This last example "was produced by Google as part of the 2012 Google Ideas INFO (Illicit Networks, Forces in Opposition) Summit [and] includes annual customs report data providing >1 million data points of individual exports and imports to map the transfer of small arms, light weapons and ammunition across 250 states and territories across the world between 1992 and 2010."

If all of these Chrome Experiments don't give you some great ideas as to how browser-based apps can be created for your enterprise, I don't know what will. As for the other browsers, I'm not seeing anything anywhere near as exciting ... unless you know different.

Gibbs is experimental in Ventura, Calif. Your results to gearhead@gibbs.com and follow him on Twitter and App.net (@quistuipater) and on Facebook (quistuipater).

Copyright 2016 IDG Communications. ABN 14 001 592 650. All rights reserved. Reproduction in whole or in part in any form or medium without express written permission of IDG Communications is prohibited.