

How Microsoft Lost the API War [2004] - raganwald
http://www.joelonsoftware.com/articles/APIWar.html#repost

======
raganwald
Dupe of <http://news.ycombinator.com/item?id=1438255>, but I think it is worth
another look in light of a few things:

1\. Advances in web application technology like HTML5, Sproutcore, and so
forth.

2\. New "platforms" like smart phones, tablets, and ebook readers where
Microsoft doesn't dominate.

3\. Getting back to point #1, the possibility that nobody uses desktop
applications, where by "nobody," I mean "fewer than 10,000,000 people," to
borrow Joel's phrase.

~~~
protomyth
I think your point #2 is the critical one and it seems to be at odds with the
premise of the article. Microsoft is now trying to keep it's old API intact on
a platform (tablet) that it is not suited for. If Microsoft had really got
behind a new API (even if it was a OS X => iOS :: Windows 7 => ??? situation),
it would have a better chance as opposed to the drumming it has taken.

~~~
dkarl
I don't think it's at odds with the article. Microsoft irritated developers by
pushing wave after wave of new desktop APIs on them for no good reason, and
now that they have a compelling justification (new form factors) to release a
redesigned API they can't afford to risk it because they've worn out the
patience of developers.

~~~
yakisoft
This is so true, the constant churn of frameworks for desktop apps has left me
very skeptical of anything they offer.

------
dkarl
_But there's a price to pay in the smoothness of the user interface. Here are
a few examples of things you can't really do well in a web application:

Create a fast drawing program

Build a real-time spell checker with wavy red underlines

Warn users that they are going to lose their work if they hit the close box of
the browser

Update a small part of the display based on a change that the user makes
without a full roundtrip to the server

Create a fast keyboard-driven interface that doesn't require the mouse

Let people continue working when they are not connected to the Internet

These are not all big issues. Some of them will be solved very soon by witty
Javascript developers._

What's left on this list today?

~~~
steveklabnik
None of them, though 'fast drawing program' is arguable. Especially for 3D.

------
ajg1977
I don't think there really was an API war. What happened to what Joel
considers "Microsoft's crown strategic jewel", the Windows API, was also
largely irrelevant.

Microsoft's real problem was they spent far too long pouring resources into
preparing for an enemy that never really arrived. Imagine instead if they had
spent the last ten years pouring resources into keeping IE, Hotmail, and
internet search, as cutting edge products.

It's kinda mind-blowing to think what the world might look like today if
Microsoft hadn't basically surrendered these markets at the turn of the
century.

~~~
jackfoxy
I like your analysis, but bear in mind Joel wrote this in 2004. MS did waste
time and resource trying to extend Windows to the internet, or somehow wish
away the internet. Exactly in what year did MS realize this? Only interesting
in so far as history is interesting.

------
OllieJones
There's an astonishing amount of really wise and relevant stuff here six years
on. Joel is correct about automatic garbage collection being the big win in
the PERL / Python / PHP / Javascript / Java / Ruby / Scala / C# / VB language
generation. It's still true. C and C++ were always hard to use to develop
solid and secure code, and now there's no reason to.

He's also right about Microsoft's history of radical compatibility, and how it
has faded away.

What about developer tools now? VS2010 for C# and Eclipse for Java are pretty
equivalent IF you pay extra to augment VS with Resharper. ADO.NET and JDBC are
both good now. We have to give MS credit in 2010 for keeping up with open
source.

But Joel is right about the MSDN faction promoting byzantine solutions to
problems.

It will be interesting to see how the HTML5 / Silverlight / Actionscript-Flash
issues play out. It's going to be hard for the market to support more than two
of these.

------
Qz
Six year later, XAML didn't replace the old GUI's and is now on its
deathbed...

~~~
mrkurt
1\. It's not, actually, it's a big part of Silverlight and Windows Phone 7.

2\. MS has this horrible problem of not actually using their own products. No
big apps came out of MS using WPF/XAML, why would anyone else use it?

~~~
angstrom
Which is much the same of what could be said for WinForms, MFC, and soon even
Silverlight will be thrown under the bus or at least bolted on top of HTML5 to
keep it alive.

------
Athtar
Nice read.

