Filed Under (AIR, Flex, InfoQ.com, Java, RIA, Technology) by jonr on April-8-2008

I just finished up a post on Flex and the Open Web for InfoQ, summarizing Adobe’s Ryan Stewart’s response to critiques saying that Flex breaks the open web. I understand that Adobe has to do their best to win over the entire software community, but I for one care little about standards. They do have a role in the industry, and I wouldn’t throw them out all together. However, I think any claim that they will lead us to the future is simply wrong. Standards can only capture the lowest common denominator, and rarely if ever lead to innovation. They are the rear view mirror of what has already happened in the industry.

We need to look no further than the JCP for an example of how standards have failed the industry. The JCP sounded amazing on paper, but the reality was countless specifications that didn’t work. Is anyone still using EJB? Of course, but they are using EJB 3.0 – the rewritten specification that captured the innovation that happened outside of the standards process. I cannot think of a truly successful JSR where that isn’t how it came to be…

So, do standards matter when it comes to Flex? I would say yes and no. First off, the Flash Player is a defacto standard and the closest thing the Internet has to a truly ubiquitous runtime on the desktop/browser (Windows, Mac, and Linux). This brings us back to the lowest common denominator. If you are building an application that has to be available on all desktop and mobile platforms, they really should be using standards based technologies to ensure all of your users can access the application on the latest and greatest. On the other hand, if you are building an application for consumption through a traditional browser (or desktop with AIR), then you really should be considering Flex or some other rich client runtime (Silverlight, Java, etc…) – otherwise your users are missing out.

As with all things, it is important to choose the right technologies for what you are building, but don’t be afraid of platforms that go beyond the standards. In contrast to what seems to be the common wisdom, it is unlikely that the platform vendors are trying to screw you by including advanced features that are outside of or beyond the standards – they are probably just trying to give you the features that you need to succeed for your stakeholders.

Share and Enjoy: These icons link to social bookmarking sites where readers can share and discover new web pages.
  • DZone
  • Digg
  • del.icio.us
  • Reddit
  • Facebook
  • LinkedIn

Comments:
Martijn van Beek on April 9th, 2008 at 12:20 am #

Well said. The phrase “standards” should cover your point perfectly. The only thing Flex is not yet “innovating” in is search engines.

But why are you referring to Flex which is (just) a framework and not a technology like Flash is?

Dusty on April 9th, 2008 at 12:27 am #

Quite to the contrary, standards are created to protect innovation. I’m no java programmer, but it seems that the Java world is very different than the web world at large… and probably because JCP has nothing to do with actual standards (I’m talking ISO or ECMA, W3C… the same things Ryan et. al are talking about). When you talk about Java standards, you might as well be talking about Microsoft Word standards.

In the HTML world, if it weren’t for standards, Firefox, Safari and Opera wouldn’t exist, because it would be too difficult to make ANY sort of cross-platform web page. Standards protected the ability for these browsers to innovate, constantly adding new features and improving performance.

The idea that “Standards [...] rarely if ever lead to innovation.” is a ridiculous statement. Without standards such as HTML, CSS, XHTML, XML, etc, there would be no GMail/GMaps, Yahoo Maps, Meebo, or any of the web apps that truly push technology to the limits.

Flex/Flash aren’t popular because they allow more innovation… they’re popular because they remove many of the obstacles that many people get stuck on. The problem with Flex/Flash is the vendor lock-in… We’re at the whim of Adobe and their addition of new features to the Flash Player. Web developers *naturally* and rightfully expect the vendors to attempt to screw them over… look at what MS did as soon as it hit 95% market share with IE… 6 years before they released anything except patches for extreme vulnerabilities.

Sure, Adobe hasn’t done it, and I don’t actually expect them to… but there is NOTHING stopping them, and that is what everyone is afraid of.

JulesLt on April 9th, 2008 at 4:23 pm #

Dusty – I’d have to concur with the original post – GMail and GMaps use standards, but I’d dispute any of them push technology to it’s limits – they push what’s achievable using the standards you’ve listed to the limits – they have to work to the lowest common denominator.

That isn’t to say they aren’t technically impressive, but it’s more a dog walking on two legs, than say the kind of innovation represented by the iPhone.

We’ve basically taken a huge step backwards, technically, because the other benefits, like portability and ease of deployment, have outweighed what was lost. By 2010, we might actually have the concept of a standard validated DATE type field in the browser – something that has been standard in desktop widget sets since the mid-80s.

It’s also worth remembering that even with web apps, innovation has often been delivered from proprietary sources – client-side data update is heavily dependent on the proprietary extensions Microsoft added to IE to support their own Outlook web client, and then adopted by other browsers, while the W3C was still concerned about how it broke standard web behaviour.

HTML 5’s canvas started out as an Apple proprietary extension for Dashboard – and indeed the whole HTML 5 spec has only recently been taken back into the W3C, originally being a vendor led breakaway group, frustrated by lack of progress at the W3C.

And if we go back to the birth of HTML, we can see that it came out of the simultaneous development of the first browser, and THEN came the W3C – i.e. implementation came before standardisation.

I suspect this is a corollary of the lesson all developers are told – only implement required features, rather than coding things that may be used later.

Post a comment
Name: 
Email: 
URL: 
Comments: