The author is a Forbes contributor. The opinions expressed are those of the writer.

Loading ...

Loading ...

This story appears in the {{article.article.magazine.pretty_date}} issue of {{article.article.magazine.pubName}}. Subscribe

Through the history of digital content there has been a tension between the power of the open web and the desire for creative representation. As the web struggled its way through the rudiments of typography, CD-ROM games like Myst promised more immersive experiences. The introduction of more robust control of styles and JavaScript increased the expressive capabilities of web pages, but designers who needed absolute control of appearance and runtime chose Flash. In the present era of mobile devices the same scenario has been played out between HTML5 and native apps like iOS and Android.

What is great about the web is that you can traverse information in any way you want. It is free and open and extensible in ways that are only limited by a developer's imagination and their skill at using HTML5 and JavaScript. But this idealized architectural fact of the open web has been obscured by the inconvenient truth that web browsers are considerably slower than the speed of those imaginations. And mobile devices have made the situation even more acute because browsers on phones have a hard time keeping up with the obsessive busyness of our hands.

Facebook famously bet the farm on HTML5 for its mobile app only to throw it under the bus two years later claiming it "just wasn't there" and shifting its energy into native iOS and Android development. Not everyone was convinced by this explanation. App development software maker Sencha, equally famously proved the counter example with its Fastbook demo, written in HTML5 and JavaScript. As impressive as this demo was (and as embarrassing for Facebook) it did not prove the general case. All that, is seems, is about to change.

Tomorrow, at the HTML5 Developer's Conference in San Francisco, Steve Newcomb, founder and CEO of Famo.us, will present a demo of the company's HTML5 development platform that incorporates a fully featured physics engine into its revolutionary surface rendering engine. And all of it is pure HTML5 and JavaScript. No plugins. No third-party libraries. Just unbreakable 60 frames per second animation of hundreds of 3D surfaces with physics. And Famo.us allows an app to do all of these things with the content itself. In developer-speak, these are manipulations of objects in the DOM (document object model), the core method of representing content on the web.

In a preliminary version of the demo, Famo.us physics engineer David Valdman showed me a representation of collections of balls with some basic physics attached to them. They drop, they float, they bounce and they bounce harder. Your fingers can attract or repel the balls. The different physics parameters can be adjusted in real time with a set of sliders. Even cooler is that fact that all of these properties can be applied to a scene as complex as the galaxy image above with physical properties that can be manipulated by touch on a standard issue iPad or any fairly modern mobile device.

Sounds like the stuff of game developers, right? What relevance could this have to the more utilitarian world of mobile apps and web pages? Short answer, it could change everything about how we represent these things on screens. First, let me reiterate a point I made in my first article about Famo.us, 2D is really just a special case of 3D—the frontal perspective. Second, consider the recent post where I discussed the "new physics of information" in relation to Om Malik's "Data Darwinism" idea. Famo.us will let data itself to be visually and tactilely expressive. Developers will be able to translate some of the metadata attributes of individual pieces of content on the screen into physical properties that affect how the surfaces on which that content is represented move or react to touch.

To understand the full, geeky significance of these two facts, let's look at how images are represented on screens. We know that HD video operates at 60 frames per second. Just as 2D is a special case of 3D, a still image—a web page for example—is also just a special case of video movement—still motion. So far from movement on the screen being something that requires special programming, Famo.us looks at movement as the default.

When you are operating in the 60 frames per second universe, you have precisely 16.666 milliseconds per frame to work with. So here is the big secret about Famo.us: like game developers they work specifically within the limitations of that time frame. At present, there are not any other JavaScript frameworks that do that reliably. Reliability, it turns out, is a key factor. Many screen rendering methods can allow smooth movement of considerable complexity up to a point. But what happens is that as the gestures pile up, or more and more objects are being manipulated simultaneously, the rendering engines choke and the smoothness of the movement pauses or breaks altogether.

This is one of the most important ways that mobile has changed our whole relationship to screens. We are intimate with our mobile screens and we expect them to be responsive. This has been one of Apple's big advantages over Android. Historically, iOS has delivered a reliably responsive experience more of the time than Android, and this perception by consumers has persisted even as Android has improved.

Smooth movement and believable physics make what happens on our screens feel real to us, and it doesn't take much to break that illusion. This is why Newcomb and his co-founder Mark Lu worked so hard for two years to rebuild their JavasScript stack from the ground up. Lu is a JavaScript genius with a highly original mind. He explained to me that his central realization was that he had to control the relationships between the different layers of the application stack in order to make sure that it could reliably deliver smooth movement. In the rendering of screen representation there are things that can cause the data to reflow, events to be interrupted or memory to be reloaded at inopportune times, and these are the variables that Famo.us has managed to control.

What this all means in practical terms is that Newcomb and Lu have managed to limit the time required to render thousands of 3D surfaces to only a fraction of those 16.666 milliseconds, giving them the room to fill in the balance with believable physics (and who knows what else, eventually.) And physics equations themselves are incredibly efficient descriptions of movement. Unlike traditional animation in which everything must be specified, a physics movement has a starting point and some initial attributes and the rest, including the end point, just happens. And not only does this take less code and less processing time, it also feels more natural because we recognize physics intuitively as the way that things in the world "just work."

Let's go back to Facebook as an example. The recent Facebook native iPhone app has a central Newsfeed that scrolls infinitely and deep "off canvas" menus that you can swipe in from either side. The same design pattern in Famo.us could treat those side menus as a set of planes that could be manipulated in interesting ways and reduce the need for scrolling. And the Newsfeed itself could communicate information implicitly and intuitively about the differences, for instance, in popularity between Timeline updates. A piece of content that received a lot of Likes could cause the scrolling motion to slow down as it approached, tipping the user off that this might be something to pay more attention to. And, on top of that, each individual Newsfeed item could contain their own infinitely side-scrollable elements, or have the history of the persons updates in a stack behind the current post.

And when you think about how something like Facebook could be represented on a variety of screens it becomes clear that we have different metabolism for dimensionality on different size screens. And we have more patience for dimensionally in the transitions between pieces of content than for the viewing of individual pieces of content themselves. These contrasts between the dimensional and the flat, between the fast movement and the still, will be the elements of the new design patterns that will arise in response to the capabilities that Famo.us provides.

Consider the example above where a standard image carousel is customized through a series of sliders. It will take a JavaScript engineer to set up new properties, but once these attributes are in place, a designer can manipulate the physics to create a distinctive movement profile. In the near future, this will be standard work for a web designer to endow sites and apps with unique movement repertoires. And these capabilities will not only be available for apps running on devices, but for the embedded operating systems of those devices as well.

The combination of giving developers full control over dimensionality and the quality of movement of objects within that space will open up galaxies of new possibilities. Even before we have mastered naturalistic space and physics, developers will surely push the limits of contradictory spaces and strange physics. And unlike contemporary native apps and previous advances in immersive representations of digital content, Famo.us is giving developers all of this control over the actual content itself, over the DOM. So everything on a Famo.us page is searchable, indexable and live-swappable from API feeds.

Now imagine that 3D solar system moving in all of its orbits, and realize that each of those planets are also pieces of information searchable by Google. This lengthy index listing of planetary information might not look like much visually, but it means that these kind of pictures are now worth not just a thousand words, but potentially a million.

I cannot overstate the significance for web and app development of the innovations that Newcomb and Lu and their growing (and impressive) team are about to unleash. "HTML5 is the only technology that can run on all screens," says Famo.us President and COO, Param Singh. He should know. Singh is a veteran of not only the Flash platform, but also Apple's Quicktime and most recently Oracle's Java. This is an inescapable fact that all hardware makers will embrace sooner or later. Famo.us will give designers and developers the tools to do any crazy thing they dream up in smooth movement on any device with actual live content. This is no longer "Hello World," this is "Hello Universe!"