A work in progress
April 17, 2013A week ago, I downloaded a mobile game called FixPix. It's a puzzle game that makes use of one of the major features of the iPhone. By tilting my iPhone, I can move the pieces around until they fit together. And when I'm done with an image, I can post it on Facebook to share it with my friends.
The trouble, though, is that my friends on Android, BlackBerry or other devices can't play the game.
FixPix is only designed to work on the iPhone or the iPad.
It's incompatible with other mobile operating systems because it was designed to work "natively" on Apple's mobile devices.
Games developer Andrew Sinn says it was the only way he could build the game, which specifically exploits the iPhone's and iPad's Accelerometer feature.
"I think a native app is much more tailored to the actual hardware. So, it performs better, it feels more fluid," explains Sinn.
'Introducing HTML5'
Despite having the advantage of being able to exploit a device's features, native apps can be limiting because you can't use them across different systems and hardware.
It is hoped that HTML5 (Hyper Text Markup Language) - the latest specification of the language behind the Web - will change a lot of that.
On the Internet, HTML is used to write strings of instructions that tell browsers how a webpage should look. This includes the text, font, and where the images, links, video, audio should go. When a browser reads these instructions, it "renders" them to give you what you see on a static page - and it also renders the interactive Web applications, which you might like to use, including searches, shops, and games.
HTML5 is still being developed, but some aspects are already in use.
In recent months, several features have been introduced to the specification - some of which will allow developers to increase the speed of their apps. This includes the use of JavaScript, which is embedded in HTML5 scripts to provide more interactivity.
Bruce Lawson, co-author of the book "Introducing HTML5" says JavaScript will now work better.
"Well, we are seeing a lot of games using HTML5. And we are finding that JavaScript, which is what you need to power games is ever faster across browsers now," says Lawson.
Nate Altschul, who founded the HTML5 Games Meet Up, agrees.
He believes that HTML5 has had a lot of bad press in the past, especially since Facebook, which had once advocated the use of HTML5, decided to go native in Apple's iOS last year.
As with JavaScript, Altschul says we are seeing improvements in the way the Web Graphics Library (WebGL), which also brings more interaction to HTML, works with HTML5.
"Most of [the old] limitations are gone for casual games, so I think HTML5 is suitable for most casual 2D game types," says Altschul. "I was at the [Games Developer Conference recently], and it looks like there have been some huge advancements in the area of WebGL, which enables 3D in the browser."
User experience is key
But app developer Andrew Sinn is yet to be convinced about the changes. There are some games that will not work in HTML5.
Take for instance Sonic Recall, a memory game that Sinn developed. It allows players to match sounds hidden in boxes.
"You have a flashing effect of colors and that's animation played backwards at 60 frames per second, so it's really fast," says Sinn. "And I think if you try to do that with HTML5, you have problems getting fluid, fast animation in a game - that makes a game alive or feel fun or physical [to play]."
Theoretically, that is what HTML5 wants to achieve - to enable more interactivity and allow developers to create apps that will work as though they were written specifically for any given device.
"But you also have to realize that HTML5 is not yet complete as a specification," says author Bruce Lawson, who also works for browser developer Opera. "Things are still being added to it."
More open, more attractive?
Both Lawson and Altschul say the fact that HTLM5 is an open script and works across platforms should attract more developers. But not everyone is making the move.
Sinn says he can understand why some games developers will stick with different programming languages, depending on whether they are developing a game for Android or Apple devices. He says learning HTML5 is like learning a new language - you have to invest time into developing and maintaining your skills.
"You can't just sit down and program an app - it takes a long time," says Sinn. "HTML5 is a new thing, so you first have to research it and see how things work. And I probably wouldn't do that if I already know how to do an iOS app."
So, while HTML5 offers new and exciting developments for both gaming and the Web at large, developers will have to decide for themselves. And Lawson says they will probably make that decision based on what they need.
"HTML5 isn't a monolithic thing. It's an umbrella term for lots and lots of different systems, different mechanisms," he says. "So, for example, if your app depends on fast drawing of pictures on the screen, then that is complete - that's [a function] called canvas and it's been in all the browsers now for years. If you are looking at generating sound on the fly then that is not yet complete as a specification and only experimentally implemented in a couple of browsers."
Given that developers have been working on HTML5 for a number of years and their work is still far from complete, this is really a case where only time will tell whether developers embrace HTML5.