by Danny Kirchmeier and Caley Brock
POV: You are a company named Netscape. You have a popular browser called Netscape Navigator. The web development scene is flourishing and people want a way to make pages more dynamic.
POV: You are Microsoft. You are competing with Netscape Navigator for market share with your own browser, Internet Explorer. They own 95% of the market share, but you’re not willing to be beat that easily. You decide to do what it takes to bring dynamic pages to your browser too.
POV: You are Netscape. You want your language seen as the standard, and you’ve been in talks with the standards organization, Ecma International.
June: You get the language formalized, but compromise on the name: ECMAScript 4
POV: You are a programmer. You think ECMAScript sounds like a skin disease.
POV: You are a programmer. Even with a common standard, browser differences make supporting multiple sites difficult.
August: Browser market share reaches a 60/40 (favoring Netscape) ratio. 6
So you take a shortcut: 7
POV: You are Microsoft.
January: IE passes 75% market share and continues to grow with no signs of slowing down.
POV: You are Microsoft.
August: IE passes 86% market share as they release IE6. It continues to grow. 8
You decide to rest on your laurels and slow new feature development.
POV: You are Google. Disappointed with existing but slow web-based email services, you come up with some novel uses to existing APIs that allow you to get new data from a server dynamically, allowing you to make a new, very fast email system.
April: Gmail is released 9
POV: You are Mozilla. Frustrated with the lack of progress made in web standards by Microsoft, you decide to take matters into your own hands.
November: Firefox is Released 10
POV: You are a programmer. You made a webpage and found Firefox much easier to support than Internet Explorer.
October: You tell your friends about it. Firefox grows to 8% market share and continues to grow quickly. 11
POV: You are Google. Gmail is popular and feature complex. The code is becoming unwieldy. Trying to support all of the oddities of IE has become a nightmare. JS Devs are in short supply and your super star engineers are Java Devs who hate JS.
POV: You are Google. Frustrated with IE & Firefox for being quirky and running JS slowly, you decide to take matters into your own hands.
December: You release the Chrome browser, a browser focused on speed and compliance. 13
POV: You are Ryan Dahl. Intrigued by the speed of JS in Chrome and frustrated with limitations of the Apache HTTP Server, you decide to take matters into your own hands.
POV: You are the ECMAScript committee. Frustrated by the discrepancies between JS implementations and inconsistencies in the specification, you decide to take matters into your own hands.
December: You ratify version 5 of the spec. Formally known as ECMAScript 2009, also called ECMAScript 5 or more commonly: ES5. 15
POV: You are Isaac Schlueter. Impressed with node.js, you want to contribute to its popularity and help everyone share code that can be used on this new platform.
January: You release npm, the node package manager. 16
POV: You are Microsoft. Frustrated by the difficulty of developing large apps in JS, you still see potential in the language but think it needs some more structure.
POV: You are Google. Pleased by the increase of JS developers and frustrated by the burden of maintaining GWT, you decide to relocate team members.
June: You announce the transition of GWT to an open-source project and quickly loses popularity. 18
POV: You are the ECMAScript committee. Desiring to continue to improve the language, you study and learn from other languages.
November: The final meeting of the year comes and goes and there are still disagreements on how to implement certain features. 19
POV: You are Sebastian McKenzie. You see the neat features that have been proposed and accepted in ES6 and you want to start using them now.
September: You build a tool called 6to5 that compiles ES6 code into ES5 code. 20
POV: You are Sebastian McKenzie. 6to5 has become very popular, but you realize that not all ES6 features proposed and supported by your tool will end up in the spec.
February: Wanting to future proof the project name, you rename it to Babel. 21
POV: You are the ECMAScript committee. Desiring to continue improving the language, you motion to release the spec and establish a regular release cadence to protect against large changes and long delays.
June: You release the 6th version of the spec. 22 Commonly known as ES6, the committee recommends that it be called ES2015 to match a yearly release cadence. 23
POV: You are here, reading this article.
The committee has continued to release annual releases of their ECMAScript standard. All major browsers have multiple releases per year and incorporate standard features quickly. Node.JS has annual releases and continues to be used successfully to power large websites.