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?