Next Generation Web Applications

Published 02 March 08 06:34 PM | despos

The Web was first instantiated in the August of 1991 in one of the CERN labs. All of it was in two machines connected to the same network and exchanging HTML documents over the HTTP protocol. The HT in both names is not surprising—it stands for HyperText. And, at the time, the Web was all about hypertext and logical linking of related documents. HTTP was a mere (and simple) transportation protocol designed to be stateless and with no security pattern in it. HTML was designed to be a basic syntax to describe documents with just a bit of formatting, images, and hyperlinks.

Two years later, in the spring of 1993, I was still engaged on a COBOL/CICS/DB2 project, but actively managing to keep my head above water (read, get another job). At the same time, CERN waived any copyrights on the Web thus making it public domain. And the ball started rolling down the slope.

In less than two years, we had browsers and then JavaScript joined the group, then new tags were added to HTML, and CSS made its debut. In 1997, Microsoft came out with something called ActiveX. Horror story. You, the giant, willing to stop us, the people, from freely enjoying the Internet. It was clear already TEN years ago, that the only way to do serious RICH Web programming was extending the browser capabilities. But ActiveX had no security model (was security really a concern TEN years ago?) and no interoperability. And it was rejected.

Then Flash came in with a sandbox, full cross-platform support, and a poor programming model. For years, Flash has been the only tool available to incorporate rich graphics and media on the Web in a cross-platform manner. It was based on a plug-in, but who ever cared about it? J

In 2005, the AJAX revolution begins. Why in 2005? Because it was probably only then that the critical mass of browser adoption triggered the reaction. More than 90% of browsers happened to support the same set of features. And this set of features was powerful enough to build pages capable of bypassing the browser and make their own calls to the server.

So the whole AJAX thing began. And it’s a process whose termination is far from arriving. Not AJAX itself, but the paradigm shift it represents is revolutionizing the Web. As the mankind history demonstrates, a paradigm shift in any context is always a dramatic change. Have you ever heard of industrial revolution? Or perhaps relativity in physics? What happened next? Everything had to be reconsidered and redone.

Just like with AJAX today. Surely emphatic, but true.

What should we rethink, exactly? The browser, the JavaScript language, the HTML markup. More in general, the interaction model and page model.

Uhm. It’s getting tougher and tougher every word I type. Is it realistic to build true AJAX applications using the SAME browser, JavaScript, HTML language invented for the OLD paradigm? It’s like wanting to explain the Einstein’s relativity with the Newton’s law.  Mechanics had to be reconfigured in light of relativity. Likewise, Web application models are to be reconfigured in light of AJAX.

Partial rendering is not the point. Script services are just one minor detail. UI extenders are only whistles and bells.

Browsers and, at least, the page model have to be reconsidered in light of the new AJAX paradigm. How can you describe it? We are transitioning from “I send you a form; you send me a page” to “I send you data; you send me data”.

To implement this new model, we have raw materials (script services, JSON), but we desperately lack technology. Building true AJAX applications is horribly hard. Which is not an excuse not to incorporate at least a bit of partial rendering just in EVERY Web page.

Desperately seeking to replenish creativity. Thoughts?

 

Filed under:

Comments

# Marcus McConnell said on March 2, 2008 01:23 PM:

What's your take on standards for rich UI? AJAX had to be adopted by the major browsers before it really took off. Microsoft started the ball rolling but without other vendor support for a standard it wouldn't be where it is today?

How do you see this fitting with Adobe AIR and Silverlight? I'm not ready for another round of "For best viewing use xyz" on web pages.

I think the next big leap will be a standard for rich partially connected apps that is adopted by browser vendors. Any company with a proprietary standard is going to have a hard time doing that alone.

# James Ashley said on March 2, 2008 01:38 PM:

This is a bit wankish, but ... Thomas Kuhn, in formulating the concept of the "paradigm shift", insisted that these shifts involve abandoning one "model" and adopting another -- for instance switching from a geocentric model of the cosmos to a helio-centric one -- in the process reworking all the social, political, scientific and philosophical implications of the previous model.

So the problem may be in trying to discover the model -- in the big sense of revolutionary scientific models that have far reaching social implications -- on which the Internet is based.  As you point out in this entry, the Internet isn't really about hyperlinking anymore.  It's something else: x.

So here's my suggestion for what the "model" is.  I've always thought that it was the interactive world William Gibson creates in his books, starting with Neuromancer.  All the little improvements we've made to the Internet -- browsers, interactivity, Ajax, protocols, etc. -- are implicitly attempts to realize his vision.

We've been working at it from two different angles: on the one hand, trying to improve the browser experience for general web surfing, and in the process throwing more content out onto the web.  On the other hand, by pushing technology in MMORPGs to create more player contributed content, and to deepen the virtual experience.

In order to get to the world of Neuromancer, the Internet and MMORPGs are going to have to meet in the middle.  It seems to me this is where the Internet is headed, and in fact where we want to eventually arrive.

Successful technologies over the next few years will be the technologies that get us closer to that goal.

... or at least i think this might be the case.

# yaip said on March 2, 2008 06:38 PM:

Silverlight? Not on its own but the combination of AJAX and Silverlight will give the user a much richer experience. While with Silverlight 2.0 (and its tight integration with Visual Studio), the programming will be a breeze.

# SergeyS said on March 2, 2008 09:13 PM:

>Browsers and, at least, the page model

>have to be reconsidered in light of the

>new AJAX paradigm. How can you describe

>it? We are transitioning from “I send

>you a form; you send me a page” to

>“I send you data; you send me data”.

I'd suggest “I send you data; you send me data and (javascript) code”, this makes difference, really.

For example, now it makes sense trying to revive the old good "mdi application" approach over web. This could be one "bootstrap" page hanging on the screen and other pages dynamically constructed in windows opened by javascript.

> To implement this new model, we have

> raw materials (script services, JSON),

> but we desperately lack technology.

That's true, and MVC does not help this. The whole MVC concept is getting a bit outated. A client is not thin, thick or smart now;  rather it could be better described as sort of "blank" mighty client (BMC), capable of performing some Controller's job "on-demand"

> Desperately seeking to replenish

> creativity. Thoughts?

# Daily Bits - March 3, 2008 | Alvin Ashcraft's Daily Geek Bits said on March 3, 2008 09:40 AM:

Pingback from  Daily Bits - March 3, 2008 | Alvin Ashcraft's Daily Geek Bits

# Joe Cady said on March 4, 2008 01:15 PM:

Frogans Technology takes a stab from a different direction. Here we ignore the browser altogether and build all at once an exclusive authoring language (FSDL), a networking language (FNSL) for delivering content by means of an IP-independant frogans address to a browsing media player (Frogans Player - Windows, Mac, Linux). To be available this summer, we're aiming to present the building blocks for highly engaging, secure and simply different Internet use. Sorry, no AJAX. That's a Web thing. But it's compatible with all server applications.

# s9 said on March 4, 2008 01:56 PM:

Basically they webapplications are becoming more and more like desktop application using a client server model to bypass the middle man (in this case the browser).  so why push using browsers as your means to the application ?   shouldnt we just use program loaders (like we are right now) that pull the client server application down to the local machine (in a secure bubble).  

THe whole point of the webapplication earlier was to remove the heavy bandwidth required to distrobute the desktop applications.  but most of the internet users are on broadband now adays.

# Roland said on March 4, 2008 10:56 PM:

And to go further (into 2008 and 2009), now we are starting to see the face of RIA's like Flex / AIR which address the difficulties developers face working with AJAX and the dreaded UI.. but as of now AJAX frameworks like prototype are still dominant and the above mentioned technologies haven't hit us just yet.

# dmitry said on March 5, 2008 08:25 AM:

Great post, as always you are on target.

To answern you though i am one of those people that thinks Silverlight will change everything.

Dmitry - posted from mobile device

# trevor said on March 31, 2008 06:23 PM:

I think that ajax and the lightweight client server micro packet requests are here to stay, they reduce bandwidth and perform much better on scalability rather than downloading an entire client app to run in a virtual server which has to still make requests back and forth, javascript and server side scripting languages are here to stay and will power forward via ruby /jquery/prototype etc, json is the key to the fast transfer as xml is far too bloated as using the browsers in built dom can be costly on time and performance

Leave a Comment

(required) 
(required) 
(optional)
(required)