Milestones in the history of the modern Web platform
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
LICENSE
README.md

README.md

A brief history of the modern Web Platform

2004-02

  • CSS 2.1 Candidate Recommendation (CR) published; the spec will later go back to normal Working Draft status for a time and then return again to CR in July 2007 before finally being published in June 2011 as a full W3C Recommendation.

  • Safari 1.2 released; notable in that it's the first version of Safari with XMLHttpRequest (XHR) support (following Internet Explorer and Firefox).

  • Flickr launched; making innovative use of XHR and client-side browser technologies to drive its user interface, adding "tagging" features inspired by del.icio.us, and eventually moving to provide APIs to expose Flickr for data using in other sites and Web applications, it will go on to be often cited as a key example of a "Web 2.0" site/service.

  • Gmail launched, in invitation-only beta, and Facebook launched, with membership initially restricted to students of Harvard University.

2004-04

  • Web Applications 1.0 first public draft published by Ian Hickson (the document will eventually form the basis for the HTML5 spec).

    The publication of the Web Applications 1.0 first draft follows a couple of blog postings from Ian Hickson earlier in the year, Ramblings from the North and Void filling: Web Applications Language, in which Hickson writes:

    About 11 months ago, I mentioned that the W3C had so far failed to address a need in the Web community: There is no language for Web applications[...] I've been taking the opportunity to work on a proposal for a Web Applications specification[...] something along the same lines as Web Forms 2, but specifically for client-side application development.

    In the following month, Hickson writes a related Backwards Compatibility blog posting in which is gives some more detail about the rationale behind the Web Applications 1.0 spec:

    Authors still want to write Web applications, and the currently deployed standards are inadequate. Since completely new standards won't cut it [...] this leaves us with the solution we (Opera and Mozilla) have been advocating: updating HTML and the DOM.

2004-06

  • WHATWG launched; announcement:

    The group aims to develop specifications based on HTML and related technologies to ease the deployment of interoperable Web Applications [...] for implementation in mass-market Web browsers, in particular Safari, Mozilla, and Opera; [the group] intends to ensure that all its specifications address backwards compatibility concerns [...] and specify error handling behavior to ensure interoperability even in the face of documents that do not comply to the letter of the specifications.

    The announcement of the launch of the WHATWG follows just after a W3C Workshop on Web Applications and Compound Documents held at Adobe offices in San Jose. For the workshop, Opera and Mozilla jointly submit and present a position paper with a set of proposed Design Principles for Web Application Technologies; but some subsequent blog postings from Brendan Eich, David Baron, and Ian Hickson make it clear that they've come away from the workshop with a realization that their goals with respect to Web applications are not in sync with others in attendance. Brendan Eich:

    The dream of a new web, based on XHTML+SVG+SMIL+XForms, is just that -- a dream. It won't come true no matter how many toy implementations there are[...] The best way to help the Web is to incrementally improve the existing web standards, with compatibility shims provided for IE, so that web content authors can actually deploy new formats interoperably[...] Mozilla is joining with Opera and others to explore the sort of incremental improvements to HTML proposed by us at the workshop.

2004-07 to 2004-12

2005-02

  • Google Maps launched in beta with support across all major browsers (Internet Explorer, Mozilla, Opera, and Safari), following just after the launch, two months earlier, of Google Suggest as a Google "Labs" project.

  • Ajax: A New Approach to Web Applications by Jesse James Garrett; coining the term Ajax to describe XHR-driven modern Web applications, Garrett specifically mentions JSON as a "means of structuring data for interchange" in such applications, and cites Gmail, Google Suggest, Google Maps, and Flickr as examples.

  • Prototype JavaScript Framework created by Sam Stephenson; included with Ruby on Rails, it's one of the first JavaScript libraries to include specific mechanisms for building XHR-driven applications.

2005-03 to 2005-06

  • Cross-document messaging (postMessage) first specified, as part of Web Applications 1.0.

  • CouchDB created by Damien Katz; it's notable in being intended as a "database that completely embraces the web" -- using JSON, JavaScript, and HTTP, and fundamentally designed for serving Web applications. (More specifically, it's schema-less and non-relational, storing data as JSON-formatted semi-structured documents, built on a non-SQL, JavaScript-based query mechanism -- with a MapReduce-driven view model -- and with a RESTful HTTP API for consuming and exposing data in JSON (PUT/POST data as JSON objects, and GET results as JSON objects).

  • Acid2 published by Ian Hickson as a means to test the level of standards conformance in Web browsers.

  • Opera 8 released; notable in that it's the first release version of Opera with (limited) XHR support, which finally makes XHR available across all major browser engines.

  • The Web Platform - Browsers and Applications talk presented by Dean Jackson in the W3C track at WWW2005, with the goals of the "Web Platform" outlined as:

    • To (better) enable the Web as an application platform (on all devices)
    • To help users by requiring support for standards in the browser.
    • To give Web developers a better programming environment (with new interfaces).

    Going forward, the term "the Web Platform" will come into increasing use specifically for describing the standard set of client-side technologies made available in browsers, for building modern Web applications.

  • script.aculo.us created by Thomas Fuchs; built on top of the Prototype JavaScript Framework and included in Ruby on Rails, it's one of the first "Ajax" script libraries to come into wide use.

2005-07 to 2005-11

  • <!DOCTYPE html> (HTML5 doctype) first introduced.

  • Client-side local storage first specified, as part of Web Applications 1.0.

  • del.icio.us begins providing a RESTful HTTP API that makes data available in JSON; within the next three years, Flickr, Yahoo, Google, and most other major providers of Web-based services begin to provide similar HTTP APIs that expose data formatted in JSON.

  • What Is Web 2.0 article by Tim O'Reilly. Subsequent discussions of the term Web 2.0 often cite this article; excerpt:

    It's clear that standards and solutions [...] will enable the next generation of applications. [...] AJAX is also a key component of Web 2.0 applications such as Flickr[...] We're entering an unprecedented period of user interface innovation, as web developers are finally able to build web applications as rich as local PC-based applications.

  • Web API and Web Application Formats Working Groups chartered at the launch of the W3C Rich Web Client Activity.

    The Web API Working Group mission is described as being to "enable improved client-side application development on the Web" and its a scope includes, among other things, documenting the Window and XMLHttpRequest (XHR) interfaces and the setTimeout method, as well as specifying "network communication methods" and a means for "persistent storage on the client" to facilitate "more advanced Web applications, enabling them to store user preferences and possibly work in an offline environment, such as a laptop or mobile phone with intermittent connectivity".

2006-01 to 2006-02

2006-07 to 2006-11

2007-03 to 2007-05

  • Fifth W3C HTML Working Group chartered (though only the second W3C HTML working group to focus on the core HTML language), with a mission to continue the evolution of HTML (including classic HTML and XML syntaxes) and with a statement that this group will maintain and produce incremental revisions to the HTML specification [to produce] a language evolved from HTML4 for describing the semantics of documents and applications on the World Wide Web.

  • video and audio elements added to the HTML spec.

  • Google Gears released; some of its key features, such as its "workerpool" mechanism, eventually become standard parts of the Web platform, and by the end of 2009 its development will end up being permanently halted.

2007-06 to 2007-12

  • iPhone first released; notable among other things in that it doesn't include support for Adobe Flash, it will end up consistently accounting for significantly more mobile Web-browsing traffic than any other mobile device.

  • HTML "offline Web applications" feature introduced (applicationCache interface, aka appCache)

  • CSS Transforms and CSS Transitions (transform-* and transition-* properties) created by the Safari team at Apple.

  • Downloadable-fonts support added to WebKit; (@font-face rule). Eventually, by mid-2009, downloadable fonts will be supported in all major browsers. (Note that Internet Explorer was the first to have downloadable-fonts support, starting with the release of IE4 in 1997 -- and the feature had actually been part of the CSS2.0 Recommendation published in 1998.)

  • Futhark JavaScript engine released in beta as part of Opera 9.5; for a time it will be the fastest JavaScript engine on the market, and help to initiate a JavaScript-engine performance race among browser projects, starting in mid-2008.

  • Android mobile-device platform announced; it is notable for including a mobile browser that uses WebKit as its browser engine; however, it will be nearly a year before any Android devices actually begin to ship.

  • SunSpider JavaScript benchmark introduced by the Safari team at Apple; during the latter half of 2008 and after, it will become widely used by other major browser projects in documenting the relative performance improvements in their JavaScript engines.

2008-01 to 2008-06

2008-07 to 2008-10

  • Web Sockets and Web Workers first specified.

  • Geolocation API ships in Google Gears 0.4, the first implementation of the Geolocation API to be made available.

  • Firefox developer builds begin shipping with TraceMonkey, a JIT-based JavaScript engine (compiling JavaScript to native machine code) that provides greatly improved JavaScript performance.

  • Google Chrome first released, with WebKit as its browser engine, and notable for being the first release version of a browser to ship with a JIT-based JavaScript engine, V8, which provides greatly improved JavaScript performance on par with Mozilla's TraceMonkey (which had been released to developers less that a month earlier).

  • WebKit announces SquirrelFish Extreme, a new JIT-based JavaScript engine with performance on par with V8 and TraceMonkey.

    Over the coming months, the browser projects will all race with each other further to incrementally improve the performance of their JavaScript engines, with the result over the long term being a vast improvement in the overall speed of JavaScript execution across all major browsers -- which among other things ends up enabling browsers to behave performantly with JavaScript-heavy Web application even on mobile devices with relatively limited RAM and CPU resources.

  • First Android device ships: the HTC dream, running Android 1.6; notable in that it's the first non-iPhone smartphone to ship with a WebKit-based browser. Other Android-based mobile devices will begin to ship in 2009, resulting in Android devices accounting for a significant percentage of mobile-browsing traffic by the end of 2010, when Android becomes the most widely used smartphone platform worldwide.

  • Geolocation API ships in Firefox 3.1 beta.

2009-02 to 2009-06

  • CSS Animations created by the Safari team at Apple (@keyframes rule and animation-* properties).

  • Internet Explorer version 8 released; it is the first version of IE to pass Acid2.

  • Node.js first released by Ryan Dahl; it's a software platform notable for being built around the V8 JavaScript engine -- providing a way for developers to do server-side development in JavaScript using a non-threaded, non-blocking "evented I/O"-based, asynchronous callback-driven programming model similar to the client-side event-loop-based programming model provided by Web browsers.

  • Geolocation API support ships in i0S 3.0, making the iPhone the first mobile device with native support for the Geolocation API in its browser. (Support for Android devices will ship a few months later, in Android 2.0).

2009-09

2010-02

2010-04

  • Steve Jobs "Thoughts on Flash"; excerpt:

    [...] the mobile era is about low power devices, touch interfaces and open web standards – all areas where Flash falls short[‥.] Rather than use Flash, Apple has adopted HTML5, CSS and JavaScript – all open standards[...] Perhaps Adobe should focus more on creating great HTML5 tools for the future, and less on criticizing Apple for leaving the past behind.

2011-03

  • Internet Explorer version 9 released, with major improvements in standards support (including support for the Geolocation API, SVG and the HTML canvas and video elements).

  • Video conferencing and peer-to-peer communication section added to the WHATWG HTML spec by Ian Hickson.

    Announced on the WHATWG mailing list, this new section of the HTML spec introduces the getUserMedia method, PeerConnection interface, and MediaStream interface (initially just named Stream). The content of the section will eventually be forked by the W3C WebRTC Working Group to create the WebRTC spec, but even at this point in 2011 when it is first introduced, it already provides for all of the following:

    Getting a multimedia stream (video, audio, or both) from local devices (video cameras, microphones, Web cams) or from prerecorded files provided by the user; Recording such streams locally; Connecting to remote peers using NAT-traversal technologies such as ICE, STUN, and TURN; Sending the locally-produced streams to remote peers and receiving streams from remote peers; Displaying such streams (both the locally-produced ones and the remotely-obtained ones) locally using the video or audio elements; Sending arbitrary data to remote peers.

2011-11

  • Flash Player for mobile devices end-of-lifed by Adobe; the news is widely interpreted as a major shift by Adobe toward HTML5 and away from Flash; excerpt from the announcement:

    HTML5 is now universally supported on major mobile devices, in some cases exclusively. This makes HTML5 the best solution for creating and deploying content in the browser across mobile platforms.

2012-02

  • Adobe reduces Flash roadmap to just two areas: gaming and premium video; the news is widely interpreted as a further focusing by Adobe away from Flash and toward HTML5 and other "modern web technologies":

    With the growth of competition in the browser market, browser vendors are increasingly innovating and providing functionality that makes it possible to deploy rich motion graphics directly via browser technologies, a role once served primarily by Flash Player. Increasingly, rich motion graphics are being deployed directly via the browser using HTML5, CSS3, JavaScript and other modern web technologies. Adobe expects that this trend will continue and accelerate, and Adobe will continue to play an active role in this space.