Following up on “The Microsoft of the Web”

My post “Adobe wants to be the Microsoft of the Web” attracted enough feedback that I think it’s worth a follow up.

I’m going to begin by trying to clarify two aspects of what I said in the post, and then try to treat blog posts and comments in light of those clarifications.

What do I mean by the Microsoft of the Web?

When I say this, I mean that a single company determines the direction of a technology. Input from other parties might be considered but the company has the final say. I don’t mean this to be a comment on avariciousness of the company, or about the use of monopolistic business practices. It is a statement about having a huge degree of control over an important technology area, not the manner in which control was obtained.

The Flex/Flash stack has many things going for it. Very broad distribution. Users who are somewhat accustomed to upgrading the Flash plugin. Excellent development tools. This gives the stack a powerful position in the market and a good launching point to gain an even stronger position in the new RIA space. There actually is an RIA space, and the problems of incompatible multi-vendor technology in the HTML/CSS/Javascript stack are real and bigger than the problems of plugin version detection and upgrade. OpenLazslo is the only other competitor on my radar, and they have a very good technology, but businesswise they are at a disadvantage when stacked up against Adobe name recognition, tooling, marketing etc. Because the Flex tools story is so compelling to so many developers, they are going to choose Flex. So unless something else happens, when the web is RIAs (which I think is the direction) Flex will be the web, and thus Adobe will be in a Microsoft like dominant position.

What are the properties of a sufficiently open technology?

I don’t think that all software must be free or open source. I don’t begrudge companies who want to charge money for software. I do think that the many properties of the “open source” model result in big benefits to certain classes of technologies, and things like RIA foundations for the web fall into that category. My thinking on this has been shaped by my participation in the Apache Software Foundation, and by books like Democratizing Innovation, The Future of Work, The Success of Open Source, and Benkler’s paper “Coase’s Penguin” (I want to include “The Wealth of Networks” here, but I’m stuck at page 272). In short, Democratizing Innovation is the goal.

  • Interested parties willing to make actual contributions an empowered seat in determining the future of the technology. Let’s break this down. “Interested parties” — anybody who is interested. Corporations or Individuals. “Willing to make actual contributions” – People hanging out throwing rocks but not providing proposals and/or code don’t count. “Empowered seat” – being at the table means having a vote, and not having to pony up money to participate, unlike, say, the W3C. Votes not being overridable at the whim of a single person, unlike, say, JCP 2.6. “determining the future of the technology” – this should be self evident. I am not saying this will be easy. Sun has yet to define the governance model for OpenJDK, and how they handle the governance issue will be of huge importance.
  • Compatibility is important – a significant part of the value (to me) of the Flash/Flex stack is portability/compatibility. It is self defeating to allow compatibility to go out the window. Properly handled, I think that compatibility suites of some kind coupled with trademark usage could go a long way here. Also, distribution of the Flash plugin has a huge impact on compatibility. While people can and do download plugin upgrades, it is also the case that the plugin that gets included in the browsers has a significant advantage, in the same way as the browser that is bundled in the operating system. Adobe already has that relationship with the browser folks. If they were to steward an opened Flash/Flex responsibly, I would think that relationship would be secure.
  • Availability of source code enables parties working on an open technology to collaborate whenever possible, including bugfixes and enhancements. It allows an interested party to show up with a working prototype for a new feature rather than just a paper design, for example. Because of the way that open source and free software have been defined, people think that it’s all about the licensing and availability of source. But all that stuff is just a facilitator for the collaboration. But more on that in a forthcoming post.

Elsewhere in the blogosphere

Ryan Stewart doesn’t want an open source Flash because he is concerned about compatibility. Just because Flash opens up doesn’t not guarantee that it will fragment into a billion versions, or even 5 (existing versions notwithstanding). The value of Flash is in the cross platform compatibility. If people are stupid enough to try gratuitous forking, they are not going to get adopted. This is what Sun has always been afraid of with Java, and I am happy to see that they finally got over it. When the value of your technology is portability/compatibility, the will be very strong pressure to remain compatible. Not only that, there is the distribution issue that I mentioned above.

Andrew Shebanow had several issues:

  • He took issue with the “sensationalistic title” — the title came as a direct quote of something I said in the Twitter backchannel, and I hope the paragraphs above on the meaning of “The Microsoft of the Web” expose more of the reasoning behind the statement.
  • He invokes “the web will route around ‘bad’ players” as an argument for why this will not happen. Perhaps the web will route around. Then again, people could have routed around Windows by buying Macintoshes. It’s a lot harder to route around when your business critical application has already been built.
  • He makes an emotional argument about the ethicality of Adobe, which I wouldn’t presume to dispute. Yet, corporations must answer to their shareholders demands for profits, and I think that the path I outlined about doesn’t require Adobe to be avaricious or have monopolistic tendencies. The only thing stopping it is whether the Flex adoption curve hits an inflection point. Which it hasn’t yet – otherwise I wouldn’t have bothered to post.

Jay Pullor, one of the founders of Pramati, posted about Dekoh, ther Java based RIA technology. I have to confess to a large degree of skepticism regarding Java based RIA technology, mostly due to the Java plugin distribution problem. Yes, I know there is Java Web Start, but my personal experience with Web Start based apps has been hit or miss and disappointing. There’s also the process/governance issues, which his post didn’t address.

The comments

Via the comments I found James Ward’s piece “How I overcame my fear of flash” from a few weeks ago. He basically admits that he is hoping Adobe will do the right thing on the openness front. I’m pointing out that hoping may just be that, due to all the forces in play around the technology and in the market. This is too important to me to leave to hope.

David Temkin from LazsloSystems weighed in on some of my comments about OpenLazslo. He pointed out that:

  • OpenLazslo does have an open public process for defining things like APIs, and that the process is open to non Laszlo contributors
  • Lazslo Systems has hired a community manager to accelerate the development of a community around OpenLazslo
  • He agreed that their community is at a very early stage, which means that there hasn’t been a lot of testing of the public process

(Disclosure: David is an old friend, and I have been a fan of the OpenLazslo technology for some time. I would really like to see them get a chance to compete in the marketplace of ideas for the RIA space.)

John Dowdell and David ? from Adobe also responded in the comments, and I was very pleased that they wanted to engage in conversation around the post. John was trying to suss out what my real requirements were for opennes around the Flash file format. I hope that the second section above provides the insight that he was looking for. (if not, there’s always the comments again). David provided some additional facts about the openness of various parts of Flex and the Flex dev tools. I think his position is that the only part of Flex that isn’t open source is the Flex framework (which sits on top of ECMAScript). The framework ships with source, and apparently, the licensing allows modification and integration. I think that a full story includes both Flash and Flex, since Flash is subsumed into the Flex story. In regard to the Flex framework David said:

Now, all of that said, we haven’t open sourced the Flex framework itself, just the underlying engine it runs on. We haven’t standardized the Flex framework, but we have standardized the language it in (in addition to ECMAScript, we leverage CSS). Given all this, how important is it to you that we open source the framework itself? What would this change for you?

Again, I would point to the second section above, which describes my conception of an appropriately open environment, but which goes beyond some people’s notion’s of open source (although no-one else involved with Apache would be surprised by my list, with the possible exception of the compatibility stuff). What it would change for me is that it would give me the assurance that your “good behavior” regarding Flex wouldn’t suddenly change when there was a management or other change at Adobe. It would demonstrate your trust and regard for a decently sized community of people that feel these issues are important, and who would reward that demonstration of trust with the fruits of their intellects.

There were a few other comments/trackbacks which I plan to address in the comments or in additional posts.

Summation

I see two leading contenders for RIA foundation technologies. OpenLazslo and Flex/Flash/Apollo. OpenLazslo is the underdog, with a really good technology and the basics of a good governance system, but with a fledgling community. Adobe has the advantage as the bigger player, with deeper pockets, more recognition, a better tools story, but no real story on governance/openness. Some components of Flex are source available, but as I mentioned above, source availability is an enabler, not the end goal.

5 Responses to “Following up on “The Microsoft of the Web””


  • I added some comments to Robert Scoble’s blog about this, along the lines that the question of open standards is more important than that of open source.

    I’d also say that there are more than two possible ‘foundations’ for RIA, beyond your shortlist of OpenLazslo and Apollo. That’s a list of products, but I wonder if it might be more useful to look at the approach; if we do, then I would say that a strong contender is to make use of a combination of standards, such as XHTML, XForms, SVG, DOM 2 Events, RDFa, and so on.

    We’re proving that this is possible with Sidewinder, a cross-platform framework that uses these standards to create desktop applications. In my view we already have enough to show that the W3C languages–and XForms in particular–provide sufficient programming power to build useful applications, and render a great deal of script unnecessary. And a useful side-effect of this is that the combined schemas provide your favourite XML editor with all the information it needs to validate your ‘internet applications’.

    Whichever approach any of us favours, we certainly can’t say that this space is going to be boring over the next couple of years. :)

    Regards,

    Mark

    Mark Birbeck, formsPlayer
    http://www.formsPlayer.com | http://internet-apps.blogspot.com

  • Ted, you were completely justified in raising the issue in the way you did. Jeff Shell also posted a good critique of Adobe’s ambitions and their potential outcomes. To me, many of these proprietary technologies (many of which happen to originate from Adobe) are annoying parasites of the Web: people believe them to be part of “the Web experience” and are then dragged through endless upgrades in order to “optimise their experience” (people who claim that opening technologies up is a cause of fragmentation should remember this); most browsers allowed animated GIF suppression years ago, for example, but Flash and its playmates are all-or-nothing things with little browser control over their activities – something which advertisers are all too aware of, as the average advertising-heavy newspaper or media site will demonstrate, often bringing older computers to a halt and/or crashing the browser because of the archaic interfaces adopted by such proprietary software.

    And when will it no longer be appropriate to criticise Adobe’s usage of US legislation to intimidate people? Perhaps Adobe want to be nice to people again – if they want a US corporate role model, they could do worse than to look at Sun (and to consider whether an open Java might now be a more viable “rich content” solution than it was in its closed incarnation).

  • I’ve been following your post’s with great interest, and I often wonder – especially now that I work for them – why being a “Microsoft” is a bad thing (another discussion I think for another day).

    That being said, the history of Flash and its evolution has been somewhat of a funny thing. In that, here’s a product that’s got great depth in terms of seeding but really not being used to its full potential. There is a pletora of features and functionality that goes un-used in Flash Platform today but the basic primatives, such as “Audio, Video and Animation overall” are the prime usage for it.

    In 2002, the RIA dream was painted with broad strokes by Jeremy Allaire. It was a great read, but those of us in the trenches, simply had to roll up their sleeves and begin punching away – part code, part-timeline. It was a lengthy but at times worthwhile process and the result was “fun”. Yet, production teams got bored with the waiting, which in turn ended up in frustration and the whole “bah lets go back to HTML” remarks started to arise.

    Macromedia at the time, identified that if the RIA dream were to be adopted, they’d need to provide a much easier approach to RIA development. Royale (aka FLEX) was born.

    Yet, this for me was the day when the first hints that the Flash Player used to “slap that monkey” or “basic RIA” was suddenly geared towards Enterprise. I mean, the price tag of FLEX 1.0 signaled to the followers of Flash “You have to pay to be in this game buddy” and so – despite my vocal reaction to the price tag – Macromedia continued to play this path and see what the future would hold.

    Sales weren’t good (reported to be 100 units a month world-wide) and those who did buy, never marketed the fact they did.

    FLEX 2.0 is put on the table, now at this point in time is when AJAX was gaining a lot of momentum (which I must admit, suprised most) so did Adobe/Macromedia react and give the SDK away in hope of attracting the AJAX`ers back to the potential of FLEX. The waters were already muddied with the price tag, so the word FREE has cropped and a fair whack of developers/designers jumped in and are paddling around as we speak.

    Here inlies the problem.

    What is the Flash Platform now, is it a multimedia platform enabling the interactive designer whom gave it momentum the ability to conjure more and more sites and games – or – has it become more of an enterprise agent, enabling user experience models to creep into the corporate firewalls.

    I think to be honest, it’s trying to be both but in order to reach full maturity potential, something needs to give. If it’s to compete with products like Windows Forms, Oracle Forms and even HTML Forms it needs to open up more, and so client-side reach is required.

    Apollo is coming up on the horizon, there is a lot of expectation placed up on it and one feature kind of stood out like a red-headed step child – PDF Support/integration.

    Funny, I don’t recall Flash Paper getting that much success when it was on the table – other then via Coldfusion. I also don’t recall seeing a lot of Flex / Flash Designers begging and pleading with Macromedia at the time to embark on a PDF integration roadmap.

    I do recall though, seeing Adobe at last years WebDU, shortly after the merger talking about this “Live Cycle” product to a room full of folks whom never heard of it – most at time’s asking “what the hell does this have to do with the web”.

    I now recall talk about Coldfusion 8 and Live Cycle integration, and specifically with Coldfusion 8 integration with .NET – yet – Adobe Flex Data Services and with Adobe LiveCycle Services on the horizon (FLEX integration) what does that mean?

    I would say this Ted, you’re partially correct in saying Adobe want to be the next Microsoft – in that – they are looking at the Enterprise world with a keen eye and a glimmer of hope. They realistically can’t grow the design market any further then they already have – one could say they own that market.

    They need to expand their portfolio and while its a romantic notion that Flash Platform is just an innocent piece of technology used in innocent ways – it does – however have its own agenda and being locked inside a platform specific player is only helping that notion forward.

    Apollo will be more of an “expansion pack” to the player if you will and it will look at making client-side x-platform specific (yet to see more information around Linux support I guess) but at what limitation and cost does this imply.

    I really see no difference now with regards to Flash and .NET 3.0 – both have similiar breeds, both are I guess platform specific and each have their own unique pro’s and con’s. Flash is a noble cause to generate X-Platform centric ideals, but in reality it also has scale issues around it – even with the advancements of AVM++ it still has performance issues in terms of scaling outward.

    I apologise for the rant but I have to say you’re right in most parts – just look at the upcoming products, focus on the features and at the back of your mind ask the question “how does this product relate back to Adobe Live Cycle”

    I’m not faulting Adobe about it – but – I do kick up a stink or two when they hide behind the “we’re in it for the web guy/gal” approach to things.

    This of course could all be a conspiracy theory ;)

    Scott Barnes
    Developer Evangelist,
    Microsoft.

  • Let’s talk about player compatibility. Gnash, swfdec, and official Flash Player are not compatible with each other (and probably never will be). I think if Adobe opened Flash Player, all the work on cloning it would just go away and people would port the official version to their favorite platform. You’d still have minor problems like Debian Firefox vs. Mozilla Firefox, but overall compatibility would be improved.

    If you look at environments where the official runtime is open source (e.g. Perl, Python, PHP, Ruby), forking isn’t a problem. Forks and weird implementations exist, but people know that they suck and thus avoid them.

Leave a Reply