“Let’s use Microsoft Runtimes!”

Startling to consider, I know, but… isn’t that what “Standardistas” and “Open Web” people are actually saying, when they say “Only HTML/JS/CSS is acceptable”?

Hear me out before judging. I’m pretty surprised at having such a thought myself, so I’m still looking for ways to invalidate it. If you’ve got a good argument, I’d like to hear it. But it’s a simple thought, and so seems strong.

We do know that “Flash subverting The Web” and such are bandied about. The rap is that you “shouldn’t” rely upon the Adobe runtime because it’s “not HTML, CSS and JavaScript“. When asked why, the most common response is something along the lines of “Because Adobe might do something bad someday.” (At this point I want to ask, “What, like they did with PostScript or PDF?” πŸ˜‰

According to the best stats I’ve seen — Google worldwide queries Jan07-Jun08, over a billion browsers — Microsoft Internet Explorer 6 is still used by almost 40% of the people out there. That’s a lot. Beyond that, there’s also about 40% of the world using Microsoft Internet Explorer 7. Another big audience. Beyond that, Firefox? One person out of six… 16%. A meaningful audience, but still, only one person out of every six. Safari has half the remainder, Opera is bigger on mobile, and 1.4% use even rarer browser brands.

Microsoft has overwhelming, crushing marketshare in rendering websites’ HTML. 80% of the time your JavaScript will run in a Microsoft logic engine, against a Microsoft DOM, with Microsoft styling, and it’s 50/50 whether you’ll be running inside IE6 or 7. A TV network is ecstatic to get a 40% marketshare. A political party is completely satisfied with a 51% marketshare. Google dominates search with 60% marketshare.

For running Ajax, Microsoft has an 80% marketshare.

You can’t choose. Your audience makes their own choice. And 80% of the time they choose a Microsoft runtime to render your HTML, CSS, and JS productions. Microsoft runs your code for you.

When you create an HTML page, 80% of people will view it in a Microsoft runtime. A pure “web standards” site from a CSS guru? Four out of every five people will see it rendered by a Microsoft runtime. A JavaScript application which can retrieve text from a server without refreshing the page? Your scripting will overwhelmingly be interpreted by a Microsoft runtime.

Microsoft Internet Explorer 7, getting close to 50%. Microsoft Internet Explorer 6, dropping down towards 30%. Mozilla Firefox, less than 20%. Safari, Opera, Konqueror, and more which must be supported.

But inevitably rendered 80% of the time in a Microsoft runtime.

(I know, I know, there is the promise that the standards process will someday Shame Microsoft Into Doing The Right Thing, and that Firefox must eventually rule the world, and “Better IE than SL!”, but please bear with me, I was born a skeptical fella…. πŸ˜‰

If you’re objecting to Adobe runtimes “because they’re proprietary”, then why would it be preferable to run nearly-all-the-time in Microsoft runtimes instead?

Such a simple question, seems like it should have a simple answer….

19 Responses to “Let’s use Microsoft Runtimes!”

  1. Harry Pfleger says:

    This is by far the best post I have read on blogs.adobe.com. Gratulation!
    Another topic could by: Why is non of the Adobe products SDK supporting managed code (=.Net)?
    I would guess, that also a big nummer of customer run their Adobe products on Microsoft plattforms and that developers would appriciate the support of .NET environments…

  2. Jeff Kruize says:

    As a developer I love adobe/flash/flex, and use them every day. I also disagree with most anti-proprietary web arguments.
    However, i dont think your argument will convince many people because although microsoft runtimes are used in 80% of websites/ajax apps, the web itself is open and can be processed in any other browser. Microsoft does not own the languages used and therefore cannot directly influence people. I think people worry that if flash/flex target *ONLY* an Adobe runtime and can *ONLY* be created by Adobe software, then Adobe will have the influence power people fear.

  3. Jeff Kruize says:

    As a developer I love adobe/flash/flex, and use them every day. I also disagree with most anti-proprietary web arguments.
    However, i dont think your argument will convince many people because although microsoft runtimes are used in 80% of websites/ajax apps, the web itself is open and can be processed in any other browser. Microsoft does not own the languages used and therefore cannot directly influence people. I think people worry that if flash/flex target *ONLY* an Adobe runtime and can *ONLY* be created by Adobe software, then Adobe will have the influence power people fear.

  4. I think the real issue here is that the SWF file format is proprietary and fully under Adobes control. Adobe can (and has, and will) make changes to the SWF format at any time ad libitum without having to ask any standards body, and come out instantly with a renderer that implements the changes (and additions). Adobe has a clear business advantage here. Some people seem to have a problem with that, while other people clearly think that it’s rather benefitial (to speed up innovation and such). Both parties are probably right. I think the issue is not at all what runtime is used to render content, or whether or not the Flash Player should be open sourced and whatnot. If the SWF file format would be under control of some standards body, no user agent manufacturer would have advantages over the other (which is good) but innovation would slow down (which is bad).

  5. Of course there is more that weights into the equation, like politics in standards bodies (some call it “Harmony”) influencing elections or direction of standards, or plain dumb patent issues, or you name it.

  6. Nice article JD! I want to react on the comment Jeff made.
    Microsoft doesn’t own the code, true, but as long al IE doesn’t follow the rules your code is not as it has to be and maybe not compatible with future IE’s because you don’t know how the next IE would react on your code (standards will ensure you that it will). All those if’s in your code isn’t really great for performance also.
    The runtime Adobe gives has always rendered my code correctly, even code written for Flash 6 still runs in Flash 9 correctly.

  7. Kevin N says:

    The negativity you get from the OSS crowd stems more from the fact that they can’t do what they want with your platform because they have to rely on Adobe to produce binaries. It has far less to do with “Because Adobe might do something bad someday.”
    For example, I’d love to get an nVidia Tegra based device one day (I like cool hardware) and run Ubuntu on it or something, but that’s going to be a problem for surfing the web because there’s no guarantee that Flash will run on that (though there would be, and it’d be free for you, if Flash Player was open source).
    In the above scenario, I have complete freedom with regards to AJAX/DHTML/JS/CSS, but not with Flash Player. That’s the concern, not the relative evilness of Adobe (and for the record, I think you guys are most definitely not evil. I’m a big fan of Adobe in general. πŸ™‚ ).
    I really do wonder what the downside of opening up teh source of the Flash platform is. Has there ever been a really public discussion on the ups and downs of opening the source. Surely the fear of forking can’t still be the issue. There are now 2 other implementations of Flash in the works precisely because it is closed and proprietary. Compared that to the merging of the various Java implementations after Java was opened.

  8. Matthew Fabb says:

    Jeff Kruize: “Microsoft does not own the languages used and therefore cannot directly influence people.
    True, Microsoft does not own the languages used in the browser, but with they certainly have a huge influence on the direction of JavaScript. As seen with them killing off the ECMAScript 4 spec and convincing the standards group to accept what was mostly their implementation of ECMAScript, version 3.1. In the meantime the development of JavaScript has now been stalled for several years. ECMAScript 4 was supposed to have been finalized this year. Now 3.1 might be finalized next year (with everyone back on board I imagine the extra input will push it back) with ECMAScript Harmony many years away.
    As a user, the open web means you get choice of a wide range of browsers. As a HTML/CSS/JavaScript web developer, it means your runtime engine is dictated by ANY company who manages to build a web browser that gets enough market share. As much ground has been made my Firefox, I think that likely will always include Microsoft and IE. However, even open browsers such as Firefox and Safari never completely follow standards.
    Also as Martijn points out Macromedia and Adobe has done a great job in not “breaking the web” with the Flash Player. Security is often tighten, but beyond that everything that works in older versions work in newer versions. Currently my own portfolio website, which I haven’t touched in ages is horribly outdated, with a number of broken links, still works fine in Flash Player 10 betas despite being created with Flash 6. Meanwhile previous versions of my websites done in HTML/CSS/JavaScript done many years ago is a complete mess in todays browsers and just about unreadable. I either have redo/fix the code to match today’s browsers or find an old IE 5 or Netscape 4 browser and hope they will install properly on a modern OS. Installing old versions of Flash Player is still easier than installing old browsers.

  9. Scott Barnes says:

    Two things are a fact:

    ActionScript is NOT a standard or is governed by a standards body.
    SWF file format, is NOT a standard or is governed by a standards body.

    Point and case: You’re allowed to use the Open Format specification of SWF as of May 2008, but ONLY if you adhere to the quote “error free in the latest publicly available version of Adobe Flash Player”
    Wikipedia Definition of a propietary technology:

    Proprietary Technology is a process or solution that belongs exclusively to a particular organization, and is meant to be used exclusively for that organization’s benefit.
    Proprietary Technology is to technical solutions what Registered Trademark is to proper names.

    Tell me when Sanity arrives on this conversation and less about shifting the focus as to “Internet Explorer has marketshare, be alarmed therefore we should be allowed to” cheer leading by the author whom has shown nothing but contempt for Microsoft in any post he’s made regarding Microsoft?
    It’s a scare mongering tactic that’s failed imho and he’s playing to your fears vs rationale. You basically got punk’d by jd.

    Scott Barnes
    Rich Platforms Product Manager
    Microsoft.

  10. billy bob says:

    To expand upod Claus Wahlers’ Post above…One difference between Adobe controlling the Flash runtime or passing it on to an open-source standards body is that although Adobe does not publicize it’s roadmap they have over and over agin pointed out that they have an 18-24 month – give or take – turn around time with consistant updates in between. Unlike Apple who tends to wait until 2 million customers are bitching about a problem before they appease the masses – Adobe regualarly has an open dialog with it’s customer base and manages to release fixes in short time. the point is that the open-source community as good as it can be – takes years to decide on a standard for most anything and then after they decide on the standard specs they take several more years to finalize them.
    Case in point. I design websites. I migrated to web-design from a very strong print background. Coming from Print I like to have total control over my layouts. CSS in web design allows for this to some extent. The Version 2.0 standards based spec is currently out and many folks are using the specs in their projects – however it has not been officially finalized and could change. It was announced as a “recommendation” in 1998. In 2005 it was demoted toa “working draft”. Last year it was bumped back to a “recommendation” and is still currently a recommendation.
    The next version CSS 3.0 spec is currently being developed to become a “recommendation”. All current web-browsers only implement a few of the v2.0 specs.
    Many of the Version 3.0 specs allow for more control in the spirit of print design – not entirely – but closer to it than v1.0 or v2.0.
    What is the Standards body [W3C] going to do – wait another 5 or 10 years before they decide to implement the ver2.0 spec? And then we have to wait another 15-20 years for the ver3.0 spec to be finalized?
    Like John Dowdell mentions in the article above – Adobe has a long tack record of stable standards specs for products like PostScript and PDF technology. granted PDF didn’t become open source until recently. But for the past decade the defacto standard for the Print Industry for it’s stability and ease of use has been the PDF format. And I would rather use the previously “proprietary” PDF format any day of the week than to be forced to go back to older pre-press methods to produce magazines or newspapers or other print materials.
    Honestly any faults in the Flash Player/ SWF formatting or standards is not the fault of Adobe. They only recently inherited the technology and format from Macromedia [RIP]. Who knows as move along they may open it just as they did the PDF. Then those who are bitching about the evil proprietary monster – will have nothing to complain about.
    ————-
    My input on the Microsoft aspect of this all is if Β±80% fo the internet users out there are on IE6 or IE7 – why is that not the defacto standard and the W3C should be playing nice with MS?
    Something is wrong with Microsoft if a smaller/ lesser Software company [Adobe] has it’s own content delivery mechanism [Flash] with a market-share that far exceeds it’s own software [IE6/ 7] and somehow cannot play nice with the rest of the world.
    Microsoft is out for total control – plain and simple – they want us all to grab a copy of Office [which is not the most stable software available] – hold hands and sing Kum Ba Yah rewritten with their own proprietary lyrics with no one complaining.

  11. Luke says:

    So what Scott basically is saying; We (Microsoft) can’t create expensive tools we can sell for lots of money that target one of the most popular content viewers on the web and that sh*ts us.

  12. Emmy Huang says:

    Hi Scott,
    Where do you see restrictions on the SWF spec as of May 2008? If it exists somewhere on adobe.com, it is a mistake that should be corrected.
    As part of the Open Screen announcement in May 2008, the SWF 9 file format specification was republished without any licensing/EULA restrictions. What you quoted above was in the old license/EULA — it was intended to ensure that if you were outputting SWF that it worked for playback in the player. The new spec allows you to download and use it to create an application that plays SWFs.
    http://www.adobe.com/devnet/swf/
    thanks,
    Emmy
    Group Product Manager, Adobe Flash Player

  13. John Dowdell says:

    Howdy, everyone, thanks for the thoughts. Just a reminder of the core here…. πŸ˜‰

    If you’re objecting to Adobe runtimes “because they’re proprietary”, then why would it be preferable to run nearly-all-the-time in Microsoft runtimes instead?
    Such a simple question, seems like it should have a simple answer….

    I’m still thinking this through, and would appreciate ideas on how any disdain for Microsoft among some speakers can be reconciled with the same speakers’ acceptance of the IE6/IE7 runtime engines for their work. Still trying to figure it out.
    Glad to see the idea sparked such interest, though. Some of the side-issues:
    .NET creation: It’s been on-and-off at Macromedia and Adobe, among various types of product lines. But people developing into The Microsoft Stack usually like to stay within that stack, so there’s usually been little reward — other work seems to benefit more people more directly. Always an open decision, but case-by-case, version-by-version.
    I agree with Jeff that you can choose a non-Microsoft browser for yourself. But when you’re developing HTML/JS/CSS, then 80% of the potential audience has already chosen IE6 or IE7. Your webpages use Microsoft runtimes.
    Hi Claus! Yes, SWF “governance” currently resides within Adobe, integrating feedback from the larger community. The issues with ECMAScript governance are fresh in current memory. Now that ISO has PDF governance, I think this will be a good additional testcase. Governance by very large groups seems most useful when a technology’s evolution has slowed down from its initial rapid burst.
    I agree with Kevin on the likelihood that “The negativity you get from the OSS crowd stems more from the fact that they can’t do what they want with your platform”, but suspect that, with sufficient training, anything is possible. πŸ˜‰
    But I’m unsure about “because they have to rely on Adobe to produce binaries”, because this hasn’t been true for a decade or more… if they prefer coding to third-party authoring tools, and if they’re not comfortable using the freely downloadable Flex SDK, then they could still use MTASC or Laszlo or whatever to produce SWF….
    Hmm, but if by “binaries” you mean the clientside runtime engine, then most of the localization aspects are now exposed… the Open Screen Project makes it much easier to port the Player and customize it for different environments, even though the central core SWF-eating part is still under Adobe governance. On the other hand, I’d agree that opensource runtime projects like Gnash, Tamarin, even Moonlight have not tended to work as quickly as a committed core group. The response to Open Screen Project would likely shape future decisions.
    Scott wrote, in part, “Proprietary Technology is to technical solutions what Registered Trademark is to proper names. Tell me when Sanity arrives on this conversation….” Well, I saw Claus up above, but… hey! you can’t fool me! πŸ˜‰
    jd/adobe

  14. Ethan Estes says:

    Well, thank god Scott spoke up and like prometheus with fire brought truth down from the gods to us. I feel soooo much safer. With the BS MS pulled with ecmascript, i’m not sure why Scott thinks anyone will listen to him.

  15. Matthew Fabb says:

    Scott, JD’s post is about the argument from the open source crowd that you need to develop with HTML/JavaScript/CSS because they are open standards and you cannot depend on one company. Which as a developer is complete BS, because you are dependent on any company that holds enough browser market share including Microsoft. It doesn’t matter what W3C says the HTML spec or the CSS spec is, or what ECMAScript says how JavaScript should be, what matters is the real implementation in various browsers controlled by various companies and organizations. In the end no browser follows any of the specs completely and they can throw whatever they want into the browser and as a developer you have to make sure your websites renders and works properly.
    This is not a scare mongering tactic, but rationale I’ve seen for years now for using Flash, Silverlight or any other non-open source browser plugins. That you as a developer are now just dependent on one company, instead of being dependent on a variety of companies and organizations.

  16. James Ward says:

    What I find amusing is that most “Open Web” proponents I talk to run proprietary desktop and mobile operating systems, use proprietary email, search, and instant messenger services, and even use proprietary automotive firmware! Β We must all learn that dualistic “either/or” thinking gets us nowhere. Β Until we have all embraced non-dualistic “both/and” thinking in technology, science, and religion – humanity will never be truly OPEN.
    -James

  17. Kevin says:

    re: jd/adobe – By binary, I did mean the Adobe Flash runtime. πŸ™‚
    I see open source as doing two primary things – one it allows a sort of business security, and exit strategy if some disagreement happens between the platform vendor (Adobe, MS, Sun, Red Hat, etc.) and the developer of the software that runs on that platform (Adobe tends to be good here – a prefect fit for an OSS project lead, IMO, track records vary with other groups).
    The other thing OSS does well is to allow smaller groups more freedom to innovate in ways that the primary platform beneficiaries (Adobe presumably in the case of Flash) may not be able to predict. To continue my previous example, maybe that guy that wants to run an OS on cool hardware can find seed money and turn that cool device into a product to sell. It would be beneficial to both him, and to Adobe if that user can get Flash onto his platform – and it may not even cost Adobe anything (in reality that guy’s team would work with Adobe’s team, and might actually increase work to some degree, adding new code to the public repos, etc, but hey πŸ™‚ .
    It’s good to read about the Open Screen Project, but I’m not sure the Gnash and swfdec devs are on that page – I’ve seen some recent posts on the mailing lists that suggest they think it’s still against the EULA to test against swfs generated using Flash CS3 and family. Is that not the case – if that would be ok, you guys might want to let them know (and I could be entirely outside the loop on this πŸ˜‰ ).
    To comment on another thread in these comments, I don’t really see a problem with a single group – even for profit ones like Adobe, MS, or non-profits like Mozilla or Apache, being principally in charge of shaping, driving, and innovating a particular standard or code base. Someone has to do that part, and I think proprietary development groups have traditionally filled that role, and will continue to do so, but hopefully will start to do so in a more transparent way. The process that the webkit team at Apple uses is I think a pretty good modern way to combine the best of proprietary and open source development. Some of the innovation happens in private, and is then moved into open source when it is completed (squirrelfish for example) – and others are submitted as standards (css transitions – Opera did a similar thing with the Widget standard). I don’t see anything wrong with that approach.

  18. Radek Gruchalski says:

    @Kevin N: Adobe isn’t evil? Maybe we should ask the guy who was running flexairapps.com?
    http://john.beynon.org.uk/2008/07/07/freshairappscom-well-done-adobe/
    [jd sez: I think he’s passo-aggresso trying to say “Adobe is evil”, but that’s still discursive regardless.]

  19. webdesign q5 says:

    Very nice article! Really good thinking! I am wondering what the new browsers (IE8 Chrome and FF3) are supporting. 80% is a lot but it’s not 100% πŸ™