Job Spotlight

Games Programmer
Dependant on experience
UK - London

HTML5: A blessing or a curse?

HTML5: A blessing or a curse?

Develop looks at the platform with ambitions to challenge Adobe's ubiquitous Flash web player

Initially heralded as the future of browser gaming and the next step beyond the monopolised world of Flash, HTML5 has since faced criticism for being tough to code with and possessing a string of broken features.

The coding platform, the fifth iteration of the HTML standard, was supposed to be a one stop shop for developers looking to create and distribute their game to a multitude of platforms and browsers, but things haven’t been plain sailing.

Not just including the new HTML mark-up language, but also incorporating other features and APIs such as CSS3, SVG and JavaScript, the platform was supposed to allow for the easy insertion of features for the modern browser such as video and audio, and provide them without the need for users to install numerous plug-ins.

And whilst this has worked to a certain degree, and a number of companies such as Microsoft, Apple, Google and Mozilla under the W3C have collaborated to bring together a single open standard, the problems it possesses cannot be ignored.

Breaking up

Perhaps the biggest issue currently plaguing HTML5 is its audio implementation, which many developers claim is broken. Chris Herbert, technical lead of Remode Studios, says that audio is considerably behind the rest of the platform’s features, with problems such as lag and file support, although he believes there could be vast improvements in this area in the future.

“There are clearly areas of HTML5 that need some work, audio being an area that’s lagging behind quite dramatically, particularly in mobile browsers,” he says.

“The problems mainly relate to how sound data is swapped out of sound channels, many browsers are experiencing a lag, or in some cases jumps or pops.

"Also, the support for audio file formats is inconsistent, with some browsers favouring the ogg vorbis format whilst others – such as Safari – favour the MP3 format.

“Issues such as these highlight that this is a technology in its infancy, but given its potential as a fully featured platform in its own right, I believe that we will see HTML5 find maturity much quicker than previous incarnations of HTML.”

Sandy Duncan, CEO of YoYo Games, responsible for 2D-focused engine Game Maker, agrees that audio is broken and says that this is an issue that is being worked on, but due to the cross-platform nature of HTML5, will take time to be approved.

“As to audio being broken, yes it is a little,” he says.

“The browser guys know this, and are working hard to fix it, but with much of the core browser being used on many platforms, it has to be verified and checked a lot to make sure it won’t just kill something and that makes some changes a little slow to come through.

“The new WebAudio API will help though; it gives a very flexible audio system without the old baggage the audio tag brings.”

But the need to fix the issue is presenting its own problems, says Steven Goodwin, creator of cross-platform tool SGX Engine. He believes it has the potential to create a divergence in solutions, which seems against the nature of why HTML5 was developed in the first place.

“Both Google and Mozilla are building solutions to the problem, but in different ways,” says Goodwin.

“This is creating the same problems in divergence that plagued the web in years gone by. While middleware is a good interim solution – SGX itself uses the jPlayer library, which falls back to Flash – the real solution is for the W3C to work with app and browser developers to create a good standard that everyone can follow.”

A debugging nightmare

Whilst the issue of audio problems appears unanimously negative, issues with its programming are up for debate. Despite many devs being uncomfortable with coding in JavaScript, others have found workarounds and suitable tools to help with overcoming problems such as cross-browser compatibility and JavaScript debugging.

Goodwin says that developing in this language can be a “debugging nightmare”, as errors are allowed to sail through to run-time instead of being caught at the compile period, making creating games at times a torrid process.

But he believes that JavaScript has an unfortunate reputation because of these issues.

“If you write with the same diligence you would if it were C++, you will stand a better chance of keeping your sanity,” he explains.

“JavaScript, as a language, is very capable, it’s just unfortunate that it has a bad reputation because it was always used to interact with different – incompatible – browsers.”

Herbert goes as far as to defend HTML5 in this area, and says he does not feel it is difficult to program with, but on the contrary, JavaScript has many ideal features suited for creating browser games and that developers just need to become more accustomed to coding with the language.

“I certainly wouldn’t agree that HTML5 is difficult to program with, it’s an ideal environment for the sort of rapid prototyping,” says Herbert.

“OOP in JavaScript can be a little weird for developers used to C# or Java, not least because the syntax at first glance would be very forgiving but there’s no apparent and solid definition for what a ‘class’ is in JavaScript.

"Although any OOP design pattern will translate into JavaScript, it does take a little getting used to.”

Whilst these technical issues can be overcome in the near future as a plethora of companies search for the best standard solutions, another of the biggest obstacles HTML5 faces in the near future is the size of its userbase.

Attracting users

Whilst it is undoubtedly open to hundreds of millions of people – reportedly more than 800 million – its biggest rival Flash has a userbase of more than two billion, and it is supported by most current browsers, compared to just 40 per cent that support HTML5.

With Flash being so readily available and used by most potential customers, it has been hard for HTML5 to break through, particularly on the back of its early teething problems, and the fact that it is still under development.

“HTML5 use has definitely been picking up, with browsers rapidly adopting HTML5 specifications, but we’re waiting for consumers to update their browsers,” says Peter Driessen, CEO of social gaming giant Spil Games.

“HTML5 isn’t ideal for out-of-date browsers, which a sizeable chunk of the population still uses on its computers and mobile devices.”

But Duncan believes this won’t be a problem for the platform for long, with many new browsers ditching Flash altogether and integrating HTML5, whilst Apple and Microsoft have forgone the use of Flash on iOS and Windows 8 altogether.

“With the auto-update features of Chrome, Firefox, Opera and now Internet Explorer, I think users will be dragged kicking and screaming into the new world whether they like it or not,” he asserts.

“And to be honest, it’s for the best – old browsers are slow, sometimes bug ridden, and full of security holes, so an auto update is for the best.

"This makes it really attractive to developers though, as they can be assured that ‘most’ users who care about running things like games will probably be up-to-date, and if not, be willing to go and download a new browser to get there.”

Scirra’s web developer Tom Gullen agrees, saying that as long as progress is made, users will eventually adopt the platform anyway, so devs shouldn’t be afraid to use it.

“Some are but they shouldn’t be. It’s obvious to us that HTML5 is the next big growth area on the web,” states Gullen.

“As long as HTML5 keeps progressing as it is and browsers keep working to support it as well as possible, the userbase will keep on growing and eventually surpass Flash.”

Ibon Tolosana, CTO of CocoonJS creator Ludei, says that HTML5’s potential to dominate as the web development standard is a key benefit of adopting it now, rather than get caught out and left behind once it becomes the norm.

He also says that despite the criticisms aimed at JavaScript, it has become one of the most common development languages in use.

Untapped potential

“Being prepared for the imminent change is an important reason for developers to start adopting the technology gradually in their projects,” he says.

“Recently, JavaScript has become the most popular development language on GitHub, surpassing Python and Java. HTML5 can be a great option to develop some projects in and developers should not overlook it.

“The first step is to understand the features and results that HTML5 has to offer and then decide which technology is the best option.

"In terms of user base, we believe that HTML5 adoption is inevitable and will be only a matter of time when its userbase will be as big as where Flash is now.”

As well as its inevitable adoption by the masses, whether welcomed or forced upon them, there are still many benefits from using HTML5 that are often looked over in the face of its more serious problems.

Driessen believes that not having to take on as much work developing for various different platforms means that the cost effectiveness of using it outweights its issues.

“Browser-based gaming, and thus HTML5, saves developers time and money which they otherwise lose when having to modify games for different mobile platforms,” he says.

“Thanks to HTML5’s open standard, devs only have to develop a game once, and it can be easily deployed on all devices with browsers supporting HTML5 such as PCs, iPads, iPhones and Google phones.”

An industry standard

He adds that as well as making games available on multiple devices, it allows users to instantly play their games, rather than have to deal with installation hassles and the delays in having to download them from app stores.

Remode Studio's creative director, Martin Darby, agrees that the ability to run a game in a browser without plug-ins is a huge boon for HTML5, and even allows developers to bypass Apple’s own store and its approval processes.

“Clearly Apple’s reluctance to support Flash and now Microsoft following suit with its Windows 8 devices is giving HTML5 a lot of momentum at the moment.

"Because it falls under the remit of the WC3 it will be a lot more difficult for major platform providers to drop support for it,” says Darby.

“The upshot of this is that anything running on the open web effectively allows you to side-step the app store and all of Apple’s terms and approval processes that go with it.”

Goodwin believes that another of HTML5’s benefits is being able to make use of a wider range of tools, such as his own SGX Engine, than was available under Flash, helping make development easier. This, he says, is something that will only continue to improve.

“The main benefit is being able to use a wider range of development tools. And they’re usually free,” he says.

“Both Chrome and Firefox have good debuggers, and provide the most important functionality of IDEs such as Flex builder. Consequently, the turnaround time from implementing a change, to testing it live, are very short making it ideal for rapid prototypes, and game balancing.

“Also, because JavaScript has been around for ages, there’s a large talent pool available who are used to the problems – and solutions – of the language, and can handle the client-server communications necessary in service-oriented games.”

And, despite the company’s obvious allegiance to the use of Flash, at least in part, Adobe has also begun to join the HTML5 trend, creating tools to help developers leverage its capabilities.

Adobe group product manager Deepa Subramaniam says, though, that developers should ultimately choose the platform that is right for them, and that matches their needs.

“HTML capabilities around graphics, audio/video, data management and application-development, will improve in time – but it does take longer for consistent implementation to be reached across popular browsers and platforms,” she says.

“It’s important for developers to analyse the requirements of the content they are aiming to build and choose the appropriate technology based on those needs.”

The future

It seems that despite all of the criticisms HTML5 faces, and its big issues with problematic features such as audio integration, developers are keen to keep on supporting the platform and see it through to the end, in the hope of creating a single standard that can allow their games to be deployed across multiple devices with ease.

Gullen believes that this will happen sooner rather than later, and it could take just a couple of years to become the most popular platform integrated into modern media devices.

“I do believe, however, that in less than five years – maybe only one or two – HTML5 will be the standard for browser games and yes, this will be a good thing,” he states.

“Flash is very old proprietary technology. It’s had its moment and now it’s time to move over. Adobe knows this as well and is shuffling over to HTML5.

"Within five years I expect and hope that just about every modern media device will support HTML5 in some capacity. It’s an exciting technology with an exciting future ahead of it.”

It seems then, whether developers like it or not, HTML5 is here to stay. So they’ll have to adapt, even if that means they are dragged kicking and screaming all the way through until its potential is fully realised.

Ermm....

posted by Jakob Sternberg Apr 17, 2012 at 7:59 am
1
Jakob Sternberg

Read this, cause this is the truth.

1. The only reason HTML5 is (was)so hot, is because Steve Jobs did not WAN'T flash on the iPhone and iPad. WHY, because that would beat the purpose of App store. THAT'S IT!. really.

2. Dont' mention the "users", they are the least to have say about this. The real user SHOULD not care. And thats the disaster of all this. This is a tecnology pushed by money (in-directly), and fools.

3. You talk about HTML5 like its the new Flash. No, HTML5 AND Javascript might be able to do similar stuff.. but being flash?.. not. And why should it?..why can HTML not be HTML, and FLash be Flash. They ARE two differnt things..actually Flash is the HTML5 canvas (just 10.000 times better). The fact is, HTML5 is still crap compared to Flash, and don't be pathetic trying to deny it.

  • + 0 
  • - 0 
  • 0

html5 buble

posted by memosk Apr 17, 2012 at 12:33 pm
2

Did you see javasript 3d engine ?

I just wondering about it , it has only one problem. It isn't working.. :D

  • + 0 
  • - 0 
  • 0

ermm... ?

posted by Friend ofaFriend Apr 17, 2012 at 1:08 pm
3
Friend ofaFriend

Oh look, the kicking and screaming has begun.

  • + 0 
  • - 0 
  • 0

HTML5 != Flash

posted by Jamie Apr 17, 2012 at 1:38 pm
4
Jamie

"The only reason HTML5 is (was)so hot, is because Steve Jobs did not WAN'T flash on the iPhone and iPad"

Interesting theory. Perhaps even with some basis in truth. But at the end of the day, it was obviously wrong. You might have noticed that there are millions of native android apps. I don't see that the availability of Flash on Android devices has had any impact on native app development.

"You talk about HTML5 like its the new Flash. "

Umm, perhaps you hadn't heard, but as far as Adobe is concernted, _it is_. As of November 2011, Adobe has officially stopped development of Flash, and is putting all future development efforts towards HTML5 tools.

HTML5 certainly has a lot of wrinkles but it's patently obvious that it's being universally embraced as the future of browser-based multimedia. If you think Flash as a plugin still has a future, well, you'd better take it up with Adobe.

  • + 0 
  • - 0 
  • 0

Market Penetration

posted by Yellow Apr 17, 2012 at 2:42 pm
5
Yellow

Advertising industry uses the oldest version of Flash it can do the job with. Flash 6,7, occasionally 8 when it's absolutely needed.

Don't hold your breath waiting for HTML5 to become the delivery method of choice.

  • + 0 
  • - 0 
  • 0

An unhealthy asymmetry

posted by E.W. Apr 17, 2012 at 2:51 pm
6
E.W.

Even without HTML5, there's an unhealthy asymmetry between the power of developers and that of users in terms of what happens on the users' own machines. Especially when browsing untrusted content for the first time.

In my mind, html5's biggest flaw is that it widens this "power gap" and allows much content to run (by default) that the user would probably block if it were plug-in based.

On the Web, conceptually there are two types of browseable content: pages and applications. Further bluring the distinction between these two modes is a step backwards, not a step forwards IMO.

  • + 0 
  • - 0 
  • 0

Make it happen!

posted by DJSur Apr 17, 2012 at 3:05 pm
7
DJSur

Take something new and make it work!

  • + 0 
  • - 0 
  • 0

Whilst

posted by Timothy Apr 17, 2012 at 4:05 pm
8
Timothy

Stop using the word "whilst." Christ, you sound like those neckbeards that think speaking fake Old English will impress the ladies.

That said, I think this article is spot-on in highlighting the problems with HTML5 right now. I get so tired of the hype.

  • + 0 
  • - 0 
  • 0

Oh dear

posted by Jeremy Hutchings Apr 17, 2012 at 4:22 pm
9
Jeremy Hutchings

So it's the usual cry of the game world meeting the internet and complaining that everything isn't as they have always done (hacked and muddled) it before.

HTML5 is no specific one thing or programming language as is constantly and wrongly suggested - it's an evolving collection of separate things. Also rather new.

If you're falling foul of the hype and lack of understanding go back to Flash for 5-10 years and leave the internet engineering to those who actually do it on a daily basis.

"It seems then, whether developers like it or not, HTML5 is here to stay." ....... welcome to the internet, don't like it, then go back to trying to create console games .......

  • + 0 
  • - 0 
  • 0

html5 lacks so much

posted by mtcoder Apr 17, 2012 at 5:22 pm
10
mtcoder

Problem with all the HTML5 javascript stuff, is it lacks so much efficiency. It's great for a simple sprite 2d platform game. Try and do anything above that though and you quickly find it being horrid in performance, ability, and visual effect. You can make lots of lovely 2d games all day with it. I have seen lots of really impressive ones, but 3d style games just can't exist. Granted most browser flash games were mostly 2D, but you could do so so much with them, in once again an efficent manner. Cause the code was pre-compiled the art assets able to slide in and out of memory without problems, there was full 3 dimensions to deal with, not sudo 3d. And you can't pull off any sort of real multiplayer with it. Even with tons of ajax, it just doesn't want to play well with all the networking components. So yes it will fill in one slot, but just as nintendo became old news, and sega died off. People will want much more from their browser games, and that is where flash, and things like Unity come into play. Also those guys are providing cross platform support at button clicks. I can take my 3D RPG that I coded for PC installations, and with a few button clicks have an Ipad, Iphone, Droid, xbox, PS3, PC, Flash, and Unity Player version all sitting on my desktop. Ready for me to distribute. So.... why would I want to code it in html5 and javascript, Pray that for some reason the server holding that API I have linked in doesn't die, killing my app. That all the browsers are playing nice when it comes to how the DOM is created, which really starts to become a nightmare. Make sure they all are supporting canvas and drawing classes the same, make sure their recent changes to "improve" javascript now doesn't instantly break my game. Deal with customers upset that the hotel they are staying in injects ads into their dom, and by doing so they can't play my game while on vacation. Deal with I could go on for miles.

So much needs to be worked on for a long time before it becomes able to be efficent enough, powerful enough, flexible, yet stable which is hard when there is a new browser version every 3 weeks, and things get broken a lot.
For fun and testing this new world made a few html5 / javascript games and they worked well till about 2 weeks ago when chrome change something and they now lock up at certain part. I didn't make a bit of code change, chrome auto update just screwed the games over, so now I get to try and decode what the hell chrome changed that is messing them up. Still work on firefox though, But I haven't hit the latest update on it yet.

So it will be at some point a blessing, and I love it for lots of it's other merrits, but for as for a gaming platform for anything beyond simple mind numbing games it really lacks.

  • + 0 
  • - 0 
  • 0

It's not done yet...

posted by Daniel K Apr 17, 2012 at 5:25 pm
11
Daniel K

You do realize HTML 5 specification is NOT done yet, correct? Flash will no longer be actively developed because of how fantastic HTML 5 really is. So most of your arguments for the latter are rendered moot. Add in the localstorage, WebGL, and h.264 support via the "video" element, what is left for Flash to provide? You are obviously ignorant of many facts and shouldn't have written an article criticizing an UNFINISHED specification until you did your research.

  • + 0 
  • - 0 
  • 0

Hmmm is'nt flash suport being dropped for Linux

posted by anthony gallina Apr 17, 2012 at 6:31 pm
12
anthony gallina

This html5 looks awesome. Especially if flash support is being dropped for Linux. I really like the fact that you tube is already utilizing it for allot of the videos. I have networking prep tests that run only with the older ver of flash. And it is a real pain to install and uninstall flash. HTML5 is looking great!

  • + 0 
  • - 0 
  • 0

Adobe has 10 year future for Flash

posted by Talbott Crowell Apr 17, 2012 at 10:26 pm
13
Talbott Crowell

@Jamie Adobe has a 10 year plan for Flash according to this article: http://arstechnica.com/business/news/2012/02/adobe-lays-out-the-future-for-flash-a-platform-for-the-next-5-10-years.ars

Also, in their roadmap published Feb and updated last month, the only product that they are stopping development on is the mobile version of Flash which they will continue to support. But they will continue to work on Adobe AIR for mobile apps. Here is their roadmap:
http://wwwimages.adobe.com/www.adobe.com/content/dam/Adobe/en/devnet/flashplatform/whitepapers/flash-runtimes-roadmap.pdf

  • + 0 
  • - 0 
  • 0

HTML5 != Gaming Platform

posted by Daniel Apr 18, 2012 at 9:56 am
14
Daniel

After reading the article and most of the comments (some were just "copies" and others were just tl;dr) I've realized everyone forgot what's the point of HTML5.

You're all just talking about Audio, Video, HTML5 + Javascript as a gaming platform, but you all seem to be forgetting that HTML brings in a lot more features than those. Simple things that will ease the development of regular webpages. Things that previously were daunting to do like validating input boxes, or creating a crossbrowser interface for selecting a date/time are meant to be covered by HTML5 specifications.

But, most important, HTML5 is trying to correct what's been done wrong in previous versions: different behaviors in different browsers.

From what I've seen/used from HTML5 the crossbrowser experience is much more feasible to developers. Things like correct positioning of elements, elements nesting, even the frigging DOCTYPE declaration have been made more logical and acceptable.

It's also important not to forget the definition of HTML: "Hypertext Markup Language, a standardized system for tagging text files to achieve font, color, graphic, and hyperlink effects on World Wide Web pages".

Nowhere it says it's meant to be a gaming platform. The fact that it's possible to use it for that effect doesn't make it its main purpose, nor should it be its main evaluation point.

As a professional web developer HTML5 is a much welcome change. Of course it has a lot of room for improvement. But so far so good. No relevant problems to point out.

  • + 0 
  • - 0 
  • 0

End Users hate Flash too!

posted by bhwong Apr 18, 2012 at 11:03 am
15
bhwong

Users hate Flash because it was abused by designer to frustrate users with unusable UI and unstoppable advertisements. Not to mention it's resource hunger that slow down browser and eat up battery life. So most users end up installing plugins that disabled flash, especially flash advertisements.

  • + 0 
  • - 0 
  • 0

End users will soon hate HTML5 too!

posted by Dan Sumption Apr 18, 2012 at 9:04 pm
16
Dan Sumption

For exactly the reasons bhwong mentions, as HTML5 starts to steal Flash's share of the market for banner ads and processor-hungry essentially useless eye-candy, so end users will come to hate it too. Perhaps they will even experience a brief flash of nostalgia for the days when they could get away from all that nonsense just by installing a Flash-blocker in the browser.

  • + 0 
  • - 0 
  • 0

thanks!

posted by Bob Apr 19, 2012 at 3:08 am
17
Bob

Not sure about half of these comments, some are a bit off track, but really interesting article, thanks!

  • + 0 
  • - 0 
  • 0

Follow the Money

posted by Craig Apr 20, 2012 at 11:31 pm
18
Craig

Always, always, always... follow the money. As a developer, it saves me money only having to develop one time for multiple platforms, and makes me money by increasing my application's exposure as a result.

However, following Apple's money, Microsoft's money and Google's money, that will not necessarily benefit them. Rest assured that in some cases, they will compete with you for that slice of the pie. If they see an opportunity to lock in a revenue stream, they will take it. If the revenue comes from adopting the standard, they will standardize. If the revenue comes from avoiding the standard, they will make things more proprietary, sometimes by introducing their own way of doing things (like audio/video formats, etc.) so that they have ownership of that revenue stream. And, they will patent it, too, so that no one else can do what they do.

HTML5 looks good for now, but rest assured, that can and will change in a heartbeat. Nothing is safe. But nothing else is currently AS safe for cross-platform development as HTML5 and Javascript.

  • + 0 
  • - 0 
  • 0

Leave a Comment