JavaScript is a fascinating example of Microsoft successfully getting a giant own goal.
The promise of the web was cross platform applications that required no installation. Microsoft's fear was that cross platform applications would make the operating system irrelevant and reduce Windows lock-in. Both Sun (with Java) and Netscape wanted Microsoft's worst fears to happen.
This was the era of Embrace-Extend-Extinguish. So Microsoft embraced the web and added a variety of extensions that only worked on Internet Explorer and Windows. The browser wars followed, which Microsoft resoundingly won.
Along the way, Microsoft demonstrated the power of their browser by doing everything that they could to encourage people to write web applications that would only run on Internet Explorer. Which, of course, only ran on Windows. One of the things that they did was write web versions of Microsoft applications using various Microsoft extensions.
One of those applications was Microsoft Outlook. Which needed to poll the server and find out if there was new mail. For that purpose they wrote the first version of the XmlHttpRequest object. This was in 1999 and they thought nothing more of it...until gmail and then Google Maps came out in 2004 and demonstrated what could be done with it.
The next thing you know, everyone is talking AJAX. Mozilla makes the web accessible to the world. And then Google decided to throw serious energy into a better JavaScript runtime (aka V8) because they wanted to be able to write more sophisticated applications.
And the result is that Microsoft's nightmare has now been realized. But none of it could have happened without that fateful decision to supply the missing piece for a ton of applications of having an asynchronous way to go back for more data without loading another web page.
> Along the way, Microsoft demonstrated the power of their browser by doing everything that they could to encourage people to write web applications that would only run on Internet Explorer. Which, of course, only ran on Windows. One of the things that they did was write web versions of Microsoft applications using various Microsoft extensions.
IE ran on Mac but, in a super-fun fashion, wasn't exactly the same IE, IIRC.
There was a period, pre-Camino (Mozilla fork before Firebird/Firefox for Mac got good), pre-Safari, where IE was the single best browser for Macs, yet still wasn't as good as IE on PC...
Oh I remember those days and yes IE was the better browser even in the early Safari days. Back in '03 I still had get a VirtualPC instance running for a few websites and let that crawl.
The old MS/Apple relationship is kind of weird almost like the Gates/Jobs relationship. For you young folks it may be hard to believe but Excel started as a Mac App.
Was going to mention this, it was pretty popular for those of us building corp intranet applications at the time. Not a lot of people used it for generally available web application but there where a few. Several of the web chat applications of the time used it extensively.
I've been listening to the podcast 'Cautionary Tales' about the unintended consequences of certain actions. This seems like it would fit well as a great story.
Microsoft did a really great job of making MSIE a platform, too, with active scripting you could write browser programs in REXX or Tcl. It was really wide open.
Ironically, Microsoft is in a position to gain rather than lose from web apps these days. The reason is that many apps are developed for mobile first, and getting them into the Windows app store is hard if developer has to spend a lot of time porting. But if the app is HTML/JS, that's a lot easier.
Conversely, Apple benefits the most from native apps, because their development stack is so different from everything else, and yet they are big enough in mobile that everybody has to target them anyway.
The promise of the web was cross platform applications that required no installation. Microsoft's fear was that cross platform applications would make the operating system irrelevant and reduce Windows lock-in. Both Sun (with Java) and Netscape wanted Microsoft's worst fears to happen.
This was the era of Embrace-Extend-Extinguish. So Microsoft embraced the web and added a variety of extensions that only worked on Internet Explorer and Windows. The browser wars followed, which Microsoft resoundingly won.
Along the way, Microsoft demonstrated the power of their browser by doing everything that they could to encourage people to write web applications that would only run on Internet Explorer. Which, of course, only ran on Windows. One of the things that they did was write web versions of Microsoft applications using various Microsoft extensions.
One of those applications was Microsoft Outlook. Which needed to poll the server and find out if there was new mail. For that purpose they wrote the first version of the XmlHttpRequest object. This was in 1999 and they thought nothing more of it...until gmail and then Google Maps came out in 2004 and demonstrated what could be done with it.
The next thing you know, everyone is talking AJAX. Mozilla makes the web accessible to the world. And then Google decided to throw serious energy into a better JavaScript runtime (aka V8) because they wanted to be able to write more sophisticated applications.
And the result is that Microsoft's nightmare has now been realized. But none of it could have happened without that fateful decision to supply the missing piece for a ton of applications of having an asynchronous way to go back for more data without loading another web page.