Posts Tagged‘web standards’

Windows 8: The Death of the Silverlight Ecosystem?

It’s only been just over a week since Microsoft demoed their latest iteration of the Windows platform but in that short amount of time it’s already managed to stir up quite a bit of discussion from friends and foes alike. The foes were quick to call out the new OS’s tablet envy, conveniently forgetting Microsoft’s rhetoric that the next version of Windows after 7 was going to have a much more web centric focus, with the possibility of it being entirely cloud based. More interesting however is the discussion arising from long term developers on the Microsoft platform, and it’s not the kind of adulation and praise you’d normally expect.

During the D9 conference Microsoft said that the new tile mode in Windows 8 was based around HTML5 and Javascript applications. Whilst they did mention that all current apps built on the .NET platform should run as intended when running in the familiar desktop mode they made no mention of whether or not the .NET and Silverlight platforms could be used to create applications in the new style of interface. With Microsoft traditionally being quite favorable to developers the notion of having to re-skill to HTML5 and Javascript (not to mention reworking existing codebases) came as quite a shock to a lot of developers and their reaction was akin to an open revolt on the forums.

Rampant speculation soon followed and wasn’t helped by the fact that Microsoft has asked everyone to remain calm until their BUILD developer conference in September. It’s not the first time this sort of thing has happened either, a similar level of hubbub was roused when Microsoft was coy about Silverlight’s future when talking about Internet Explorer 9 and it’s dedication to web standards. They soon came out saying that they still saw a future in Silverlight, especially for the Windows Phone 7 platform, but many of them were left unconvinced. It’s then quite likely that this second round of doubt that Microsoft has cast over their third party developer’s futures was the straw that broke the camel’s back and all the blame is being leveled squarely at Microsoft.

For what it’s worth I feel their concerns are valid if the reaction to them is somewhat overblown. Microsoft has a long history of eating its own dog food and many of their client facing applications are built upon the technologies that so many are worried are going to disappear in the near future. The best example of this is their Windows Azure management console which is built entirely on Silverlight. Couple that with the fact that Microsoft has many partners with a very heavy investment in the platform and I find it hard to jump on the “Silverlight is dead” bandwagon, but that doesn’t necessarily mean Microsoft is committed to bringing Silverlight into the Windows 8 tablet world.

Sure it would be great to be able to create Silverlight applications on the new Windows 8 tile system and Microsoft would be leveraging off a lot of preexisting talent to help drive adoption of the platform. However it would also hinder Microsoft’s adoption of web standards, as many developers would favor using proprietary Microsoft technologies instead of attempting to reskill. They’d then be the slave of two masters: on the one hand the Silverlight crowd demanding ever more features and tools that are constrained to that platform and on the other the web standards crowd that has been Microsoft’s bug bear ever since alternative browsers started to gain real market traction. It’s not like Microsoft doesn’t have the resources to deal with this though, but I can understand their motivations should they want to eschew Silverlight in favour of a more standard environment.

So is this the end of the line for the Silverlight ecosystem and the developers who built their skills around it? Hard to say, with Microsoft being mum on it for the next few months we’ll just have to play it by ear until we get more information from them. In all honesty even if they do end up dropping Silverlight for HTML5 and Javascript I’d expect that the next release of Visual Studio would bring enough tools and resources with it to make the transition much easier than everyone is making it out to be. Hell if Adobe can build a Flash to HTML5 converter then it’s quite possible for Microsoft to do the same for Silverlight, even if that’s just a band-aid solution to satisfy developers who refuse to reskill.

 

Adobe’s Wallaby: And You Thought HTML5 Would Save You.

Adobe and Apple haven’t been the best of friends for a while now. Whilst many of their products are still considered some of the most top of the line applications available on the OS X platform Apple couldn’t be more hostile to their most popular product: Flash. Now this isn’t without good reason as Flash has a terrible tendency to be abused by sloppy developers (most of the time ad networks) who can even bring a full blown desktop PC to its knees. Keeping Flash out of their handhelds meant fewer headaches for them and forced the hand of many companies to rethink their use of Flash, lest they draw the ire of the iOS browsing crowd.

Whilst there was a good few months of to and fro between these two companies last year it all subsided once Apple capitulated to the developer community that raised concerns over Apple’s wide reaching policy on cross platform libraries. This seemingly opened up the door that Apple had shut in Adobe’s face, enabling them to create a product that could convert Flash files into a more iOS friendly format. A couple days ago they announced the first iteration of the product, called Wallaby:

Welcome to the Wallaby Technology Preview. Wallaby is an application to convert Adobe Flash Professional CS5 files (.FLA) to HTML5. Wallaby has a very simple UI which accepts as input a FLA file and exports HTML and support files to a user-selected folder. There is also an option to launch the default application assigned for the .html extension.

The announcement has, of course, caused quite a stir in the tech community. Most of them focus on the fact that Wallaby was designed with only one purpose in mind: to get Flash banner ads working on iOS devices. As such Wallaby is pretty limited in the functionality it provides, being unable to convert things like ActionScript which enable things like Flash based games. Of course this also raises the issue that Flash is most often abused by advertising agencies with poorly coded banner ads being one of the main culprits. Whether or not badly coded ads in Flash translate into bad (or worse) ads in HTML5 remains to be seen, but I can’t see how they could get any better.

Realistically the issues that many people associated with Flash aren’t really caused by it. More it is those who use the platform that are to blame for the troubles that many people encounter with it. This is why I didn’t understand Apple’s position on Flash in the first place. Sure there are many banner ads out there that can make your web experience a browsing hell but banning one technology simply drives those same people to look for other platforms, it won’t magically make them better developers overnight. Wallaby is a great example of this as those same people that created poor performing Flash ads can now do the same in HTML5. In the end Apple is merely delaying the time in which it takes for the same problems that plagued Flash to come to their iOS platform. Google I feel has is on the right track to solving this problem, tightly integrating Flash into their products so they can tune it properly.

It does show that Adobe doesn’t believe the future is still with their Flash platform and the gears are in motion to transition to the new world of HTML5. There’s a reason why Flash has been such an integral part of the web for so long and it’s simply because Flash gave the best tools for non-technical users to create rich content for the web. Whilst they’ve come rather late to the mobile boat they are one of the few companies that has the momentum and devoted user base to make the switch successfully. I’m sure many people will see this as them “capitulating” to Apple’s demands but in reality its anything but and I’m sure they’ll eventually dominate the HTML5 space just as they’ve done in the past with Flash.

 

HTML5, Video and The War For Web Standards.

Whenever I find myself in the depths of coding for a mobile handset or browser HTML5 always seems to be the panacea to all my problems. Its promises of cross platform compatibility and ability to leverage the vast amount of work already done with Javascript has seen me lose several weeks of productivity in the hopes of forgoing much more work later on.  It always ends the same way with me getting some rudimentary functionality working before trying it in a different browser and seeing all my work fall in a screaming heap, forcing me to do the work I had so aptly delayed. The source of this problem is that whilst HTML5 may one day be the norm for how web pages are done on the Internet it is still a work in progress and the implementation of the standards vary from browser to browser.

This lack of standard implementation across the browser market is just another form of a format war. Whilst they might all appear to be collaborating on the future of the web realistically they’re all fighting for their version of the web to become the standard. No longer is a company able to release a product like IE6 onto the market that plays fast and loose with the standards in favour of delivering more functionality as that will more than likely end up being ignored by the web development community. Now the war is mostly being raged through standards committees, but that doesn’t mean the same old strong arming tactics aren’t being used.

Last week Google announced that it would no longer be supporting the H.264 codec for the HTML5 <video> tag. The post triggered wide spread discussion about the future of the HTML5 standard and Google felt the need to clarify its position:

Why is Google supporting WebM for the HTML tag?

This week’s announcement was solely related to the HTML tag, which is part of the emerging set of standards commonly referred to as “HTML5.” We believe there is great promise in the tag and want to see it succeed. As it stands, the organizations involved in defining the HTML video standard are at an impasse. There is no agreement on which video codec should be the baseline standard. Firefox and Opera support the open WebM and Ogg Theora codecs and will not support H.264 due to its licensing requirements; Safari and IE9 support H.264. With this status quo, all publishers and developers using the tag will be forced to support multiple formats.

On the surface it would appear that Google is attempting to use its share of the browser market to put some pressure on the HTML5 standards committee to make WebM or Theora the default codec for <video> tag. For the most part that’s true and should they get their way Google will have control over yet another aspect of the web (in contrast to now when they’re just the dominating player thanks to YouTube). However whilst such a move might at first appear to only benefit Google, Mozilla and Opera I believe that a push away from H.264 is beneficial for everyone on the web, except for Microsoft and Apple.

You see whilst there’s no official agreement on what the default codec should be for HTML5 there are in fact 2 groups within the standards committee that agree wholeheartedly on which one should be the standard. Google, Mozilla and Opera all believe that WebM or Ogg Theora (or both!) should be the default standard whilst Apple and Microsoft both want H.264. The reason behind that is quite obvious when you look at the patent body responsible for licensing the H.264 technology, the MPEG-LA. Both Apple and Microsoft are have patents in the MPEG-LA patent pool meaning they have a vested interest in making it the default standard. This is the main reason why having H.264 as the default is bad Internet users and web standards as it would force anyone who develops HTML5 products using video to license the H.264 codec, something which could be quite devastating to early stage start ups. Additionally it encumbers what should be a completely open and free standard with licensing requirements, something that hasn’t been present in any web standard to date.

Whilst the decision doesn’ affect me directly, no matter which way it goes, I can’t support something that has the potential to stifle innovation like a licensing requirement does. Google throwing its weight behind its own and other open codecs has highlighted the issue succinctly and hopefully this will lead to more productive discussion around which (if any) codec will become the standard for HTML5. We’re still a long way from having a fully formalised version of HTMl5 that anyone can implement but it’s good to see some movement on this front, even if it’s just one web giant poking the trolls.

Web Standards: They All Have Their Agenda.

It really should come as no surprise that anything a large corporation does is usually done in their best interests. By definition their existence is centered around increasing profit for their respective shareholders within the bounds of the law and operating outside that definition will in turn make your company not long for this world. Still we manage to suspend disbelief for certain companies which have qualities we aspire to but make no mistake they are in the end driven primarily by motives of profit. Nearly all other secondary activities are conducted to further their primary directive, even if on the surface they don’t appear that way.

Take for instance the current web standards warthat’s brewing between Apple and Adobe. Whilst both companies would have you believe that their stance is the only answer to the problem the fundamental issue that they face is not one of ubiquitous web standards, more it is about control over the future of the Internet and who will be the dominant player. I’m on record as stating that Adobe will win out thanks to its current market penetration and support from many big players. It’s no secret that Google is more on Adobe’s side in this war than Apples, as a recent post from one of their (well their subsidiary) employee states:

There’s been a lot of discussion lately about whether or not the HTML5 <video> tag is going to replace Flash Player for video distribution on the web. We’ve been excited about the HTML5 effort and <video> tag for quite a while now, and most YouTube videos can now be played via our HTML5 player. This work has shown us that, while the <video> tag is a big step forward for open standards, the Adobe Flash Platform will continue to play a critical role in video distribution.
It’s important to understand what a site like YouTube needs from the browser in order to provide a good experience for viewers as well as content creators. We need to do more than just point the browser at a video file like the image tag does – there’s a lot more to it than just retrieving and displaying a video. The <video> tag certainly addresses the basic requirements and is making good progress on meeting others, but the <video> tag does not currently meet all the needs of a site like YouTube:
All of the points Harding make add quite a lot of fuel to the fire in the whole web standards debate. He’s quite right that the current version of HTML5 does not (and most like can not) provide the features required by sites like YouTube. As such there will always be a need for plugins that fill the functionality gap between the web standards and what is technically possible. The more rich the standards are the less requirement there is for plugins but as it stands right now the features provided by third party plugins are almost a necessity for a lot of sites on the Internet and it will be a long time before the standards catch up.
However if you read on you’ll see that YouTube’s apprehension to switch over to a full HTML5 based site is fueled not only by lack of features but also because their bread and butter, videos, still lacks agreement on some core components. One of those is the codec that will be used as the standard for all content used with the <video> tag. Usually you would go with the most popular codecs out of the lot which is currently H.264. The problem with that codec is that, while it is currently royalty free, it is encumbered by a number of patents held by a consortium of companies. This poses a problem for browser developers as it means eventually they will have to pay fees to implement the video part of the web standard, which doesn’t really fit with overall vision of the HTML5 standard. Google of course has their own open codec VP8 which they’ve garnered support for which brings us full circle back to my original point: they’re only developing it to further their bottom line.
Ultimately it will be the market that decides the winner out of all this. Web standards will always lag behind what Internet enabled devices are capable of and that will mean there will have to be third party plugins to bridge the gap. Whether that gap is bridged by Adobe, Apple or some other company remains to be seen but so far the market still seems to side with Adobe as the vast majority of sites (including this one) make use of Flash in one way or another. Many sites will still go to the effort to make their content more accessible to mobile devices (like this one!) but in the end we’d still have to do that even if Apple ends up losing the war on Flash.
I guess what I’m trying to say is: if a company tells you they’re doing something that seems to be for your benefit ask yourself what they have to gain from doing it. In the end you’ll notice that they will be benefiting from it far more than you ever could.

The Web Standards War: Apple vs Adobe.

I talk a lot about the Internet on this blog but I’d hardly call myself an expert when it comes to actually building something on it. Back when I was first learning to develop applications I was never actually introduced to the world of web programming and the small bits I learnt on networking were no where near sufficient to prepare me for developing any kind of web service. Still after being out of university for 2 years I found myself administering many web sites and then took it upon myself to learn the ins and outs of developing for the web. It’s been a bit of a roller coaster ride since then having to switch my mindset from designing and building applications that will only run on a client to making something for the world wide web. This is when I was introduced to the lovely world of web standards.

You see for a long time Internet Explorer was the king of the web browser world. Thanks to Microsoft’s mentality of embrace, extend, extinguish they initially focused on becoming the dominant force in the web browser market. They had stiff competition from the people at Netscape for quite a long time and were forced to be innovators to compete. It worked quite well with them debuting Internet Explorer 6 back in late 2001 which, at the time, was quite a revolutionary piece of software. Granted most of the market adoption was driven by the browser being install by default with any Windows installation but with such strong competition they were forced to develop something better in order to become the de facto standard of the web.

With the war won in 2003 with AOL shutting down Netscape Microsoft was free to rest on its laurels, and boy did it ever. The next 7 years saw little innovation from Microsoft and with IE6 having widespread adoption most web sites were designed to support them first and alternative browsers later. Whilst at its initial release IE6 was considered somewhat of a technical marvel it was, for the most part, not compliant with most web standards. With Mozilla rising from the ashes of the Netscape fire the need to comply with a widely agreed standard became a talking point amongst web developers, although it was largely ignored by the Internet community at large. Fast forward to 2008 and we have the search giant Google weighing in to the browser marketing, trumpeting standards compliance coupled with a well known and trusted brand name. Such was the beginning of the end of Internet’s Explorer’s dominance over the web browser market, and the rise of widely accepted web standards.

Unfortunately though web standards are a slow moving beast. IE6 was revolutionary because it provided functionality that you didn’t find within the web standards and it enabled many developers to create things that they would have otherwise not been able to. This gave rise to many of the browser plugins that we’re familiar with such as Flash, Java and more recently things like Silverlight and WebUnity. Such additions to web browsers allows them to unlock functionality typically reserved for desktop applications and grants them the portability of the world wide web. Such plugins have been the focus of intense debate recently, and none more so than Adobe’s flash.

I blogged last year about the apparent curiosity of the iPhone’s immunity to flash. Back then the control over the platform was easily justified by the commentary and speculation that was common knowledge amongst the tech crowd. Most understood that enabling Flash on Apple’s devices had the potential to both corrupt the user experience (a sin Apple would never commit) and strike a devastating blow to the cash cow that is the App store. Still whenever an Apple device is advertised as lacking the capability it’s probably the first thing the critics will trot out and it’s a valid criticism as much of the web makes use of this technology (this blog included). Still the argument for using web standards rather than propeitary plugins make sense to, although with Android getting full Flash support in 2010 it would seem like Apple is in a minority here.

That’s not to say Adobe hasn’t tried to play ball with Apple. Their current flagship product, Adobe Creative Suite 5, was touted to have the ability to generate an iPhone application from any Flash program that you created with it. Honestly I thought that was a pretty sweet deal for both Adobe and Apple. Adobe got to get its content on another platform (thereby caving into Apple) and Apple would see a flood of applications on the App store and with it a whole swath of revenue. Sure many applications would need to be rewritten for the touch interface but for all intents and purposes you could have Flash on the iPhone.

Apple, not willing to give any ground on this matter, fired the first salvo in what’s turned into a very public debate. Just over a month ago they changed their developer license agreement to rule out the use of any cross-platform frameworks. Whilst this initially looked like it would kill off a good chunk of the developers (especially those who used WebUnity to do games on the iPhone) it turns out that it was directly aimed at disabling CS5′s ability to export Flash to an iPhone app. This has then sparked comments from both sides with fingers being pointed at all sorts of things, but the main one is web standards.

Both Apple and Adobe claim that they’re supporting the open web with varying levels of truth to them. Flash is somewhat open and Apple has developed a widely adopted browser framework called WebKit which powers both their Safari browser and even Google’s Chrome. However these are small parts of much larger companies where everything else is completely proprietary, so this is really a case of the pot calling the kettle black so to speak.

So why is this such a big issue? Well as it turns out you don’t really have to dig too deep to find the answer: money and power. Just like the hay days of IE6 and Microsoft’s market domination of the web Adobe and Apple are fighting over what the next dominate technology of the web will be. Adobe is well placed to become that standard as Google has backed them on both their Android and Chrome platforms (Flash is now native in Chrome) and over 90% of Internet capable devices can display Flash to their users. Apple on the other hand has dominated the mobile market and is seeking to push the boundaries further with products like the iPad. Their reluctance to play nice has resulted in a fist fight of epic proportions, and it’s one that’s going to play out over the next few years.

Personally though I think Apple’s pick the wrong bear to poke with their anti-Flash stick. Whilst Adobe is a bit of a light weight when compared to Apple (they have about a quarter of the employees, to give you an idea) they’ve got the support of a large install base plus many large players who use their technology exclusively. Whilst many of the functions provided by Flash are usurped by HTML5 they’ve made a point that if they can’t get Flash on the iPhone, they’ll just make the best damned tools for HTML5 and dominate there again. That might sound like chest beating from them but when your flagship product is the de facto standard for artists to create in a technical field you know they’ve got some market pull behind them. If they were to port the artist friendly interface they developed for flash to HTML5 I’m sure Apple would have to rethink it’s whole position with Adobe very quickly, lest they alienate those who’ve been dedicated to the Mac name for a long time.

Apple’s idea of using their Cocoa framework as the new standard for the open web is a noble but flawed notion. Whilst the focus on the end user experience means that any application written on this framework will be at least usable and mildly intelligible it’s application to the wider Internet doesn’t seem feasible. Sure Cocoa has helped bring the mobile Internet experience out of the dark ages but its application past that is limited, especially when Android provides a similar experience that just so happens to include Flash. In the end Apple merely seeks to draw developers and users into their walled garden and will spite anyone who questions them on it. Whilst I can appreciate that it has been working for them I’m not so sure it will continue like that for long into the future, even when HTML5 gains critical mass.

It may seem like a small thing in the grand scope of the Internet but it’s always interesting to see what happens when two giants go at each other. We’re by no means at the end of this battle of the standards and I expect to see them publicly duking it out for at least a few more months to come. Still I’ll be putting my money on Adobe winning out in one way or another, with either Apple relenting or the iPhone losing its crown to the burgeoning Android market. I’m no market analyst though so there’s a good chance I’ll be completely wrong about this, but that won’t stop me from using the fallout as blog fodder ;)