HTML5 Chaos

Steve Jobs successful battle to destroy the use of Flash on mobile devices has created chaos. There is simply no adequate replacement for Flash’s current capabilities, and will not be for years.

Here is a summary of the problems developers now face in creating HTML5 based software for our classroom standards.

HTML5 Standardization Issues

 HTML5 is a developing standard which is not set to be finalized for a couple of years (currently the final quarter of 2014). Additional features will be finalized in two year cycles. This is a long haul. Many key features have not yet been standardized. Some proposed features have not yet been implemented. Things will continue to change, so it is a constantly moving target.

In the early years of HTML, it was also a developing standard, along with Javascript. It was up to each browser to determine what features would be supported, and they all approached this differently. This created chaos as it was almost impossible to create a Web page that looked the same across all browsers, and in which all desired features functioned properly.

When Flash came along, it allowed for a consistent presentation across all browsers because there was a single set of standards and they were fully implemented through the Flash player plug-in. For mobile devices, we are now back to the chaos of the early pre-Flash years, with very different levels of HTML5 support across the different browsers. In some ways it is worse, since a lot more is expected from HTML5.

 

Audio Issues

Audio is a mess. There is no audio format that is supported natively by all browsers.

MP3 is the most common audio format, but it is proprietary. Also, it is not currently supported at all on Firefox or Opera.

Technically, if you are making over $100,000, you are supposed to be paying royalty payments for using MP3. It is somewhat ambiguous as to what the rules exactly are. If you create a game as part of your class, and there are more than 5,000 page views (the license refers to 5,000 or more copies of a game), does the $2500 royalty payment apply? I do not know. The concern about when royalties are due and how these licenses may be changed in the future is why most developers are moving away from MP3.

Using Flash to encode the MP3 file and using it in an SWF is no problem, since a license for that purpose comes with your licensed version of Flash. If you use just a straight MP3 on an HTML5 page, however, you have no license to play MP3 files. This gets into pretty murky water.

AAC is a format designed to be the successor to MP3, with superior quality sound at the same bit rate. It is also a proprietary format, but has different licensing issues. For the creator of content, no royalties for streaming AAC content are required.  Licenses are required only for those who create browsers or stand-alone players, which may be why many browsers do not include it. The license could change at any time, though.

So far, native support can only be found in Internet Explorer, Safari (desktop and all mobile versions) and Blackberry. Flash can also play AAC with the current player.

Ogg Vorbis is essentially a royalty free fully open version of MP3, but it is currently not supported by Internet Explorer 10 and Safari 6 browsers. It has a lot of cheerleaders in the developer community, though. Many believe it to be superior to MP3. The sweet spots seem to be for recordings that exceed 192kbps and recordings below 56kbps. This makes it an attractive option for Internet broadcasts and classes where the audio is primarily speaking.

We lean towards Ogg Vorbis, but its lack of support in Flash, Safari and IE keep it from being a practical option for now. (It is possible to playback Ogg Vorbis in Flash but it is not built-in).

The latest open audio format comes from the same folks who brought us Ogg Vorbis, along with some contribution from the technology used in Skype. It is called Opus, and the first release candidate came out just last month. It has a lot of attractive features, and looks particularly promising for speech applications, even when combined with music segments. So far, only Firefox 15 supports it. It is a format to watch for the future, though.

A number of browsers support the WAV format, but files in this format are huge and impractical for streaming web use. They are fine for maintaining your master files. All of the other formats we discussed so far are lossy, which means some quality is lost with a tradeoff in much smaller file size. You never want to convert a compressed file to a different format (especially converting an MP3 to an Ogg Vorbis file, which will sound terrible.) WAV (Microsoft) and AIFF (Apple) files are uncompressed. Both of these are proprietary formats. There are open formats that would be acceptable for storing master files that do some compression but are lossless, meaning you maintain the quality.  These include FLAC and Wavpack.

You might notice that Microsoft and Apple tend to not support open formats and rely on proprietary ones. They are the main reason that audio (and video) formats are such a mess right now.

For now, there simply is no single solution that works on all browsers across all platforms. At least two versions of your audio files will be required.

Browser Support

Internet Explorer 9.0+ MP3, AAC
Chrome 6.0+ Ogg Vorbis, MP3, WAV(Chrome 9)
Firefox 3.6+ Ogg Vorbis, WAV
Safari 5.0+ MP3, AAC, WAV
Opera 10.0+ Ogg Vorbis, WAV

Opera Mobile and Android browsers are device dependant. Safari Mobile does not include WAV support. Blackberry includes MP3 and AAC support.

 

 

Video Issues

The exact same problems that audio playback suffers from in HTML5 may be even worse for video. There is a format battle going on as well, with no single good solution.

H.264/MPEG-4 AVC is perhaps the most widely used video codec. Currently, when used with HTML5, only video that is made available for free does not require the payment of royalties. A class that includes video that you charge for would technically require the payment of royalties. A web page that has free video but also advertising might incur royalties, although they have not enforced this yet but could in the future. Read our article, Why H.264 Needs Competition, for why we find this format so concerning.

Apple and Microsoft are part of the consortium that owns H.264, which is why their browsers, Internet Explorer and Safari, only support H.264.

There is a royalty free codec called Ogg Theora. It is supported by Firefox, Chrome and Opera. It has been around a long time, but is not considered to be technically equivalent to H.264.

WebM is newer open video format. It is supported by Firefox, Chrome and Opera, but is not supported by Safari and Internet Explorer. I suspect you could have guessed that. It is also known as VP8, and its development is sponsored by Google. Adobe announced that Flash would support WebM in the future, but it has been a year and we still don’t have it.

WebM has made little in the way of progress as a realistic alternative to H.264. With the weight of Google behind it, that may change. They need to get it built into hardware, and that is happening, albeit very slowly.

If you encode video and play it back using Flash, you do not have licensing concerns.

For cross-browser support, you need at least H.264 and WebM or Ogg Theora. A single format will not cut it.

Full-Screen Issues

There are times when you want an image or video to fill the entire screen, not just the browser. There is an API for this built-in to HTML5, but so far, only Firefox, Chrome and Safari support it. Flash has long had this capability.

 

Internet Explorer Issues

 

IE10 supports a lot of HTML5 functionality. Unfortunately, it only runs under Windows 8, although it may run under Windows 7 eventually. That means that for now, everyone has to update their entire operating system just to get decent HTML5 support.

Flash does work under Metro in the IE10 browser, but not in any useful way. It has to be whitelisted in order to run. Microsoft, not users, decides what Flash applications get whitelisted. Guess what the odds are of getting your Flash app whitelisted?

 

 

Conclusion

The main things that HTML5 are supposed to do don’t work very well for real world applications. You can use it for video and audio playback, but only by having multiple formats on your server. It is a long ways from being able to replace the capabilities of Flash.

Right now, there are no programming tools that come anywhere near to Flash to ease the task of creating HTML5. That means that for now, HTML5 creation of anything complex is outside of the capabilities of anyone but a skilled programmer.

This is why we will continue to use Flash for our classroom modules, with less capable HTML5 fallback options as we get HTML5 programmers on board and as HTM5 becomes more standardized and has better browser support..

 

 

 

 

 

Leave a Reply

Your email address will not be published.