commit: fb200d8 - #595 (2014-04-14 00:44:57 -0400)
One thing that is the back of every marketing mind is the growing trend of everything moving to mobile platforms. There is no doubt that if you don't design and market for mobile in the future, you will likely fail.
This begs the question, should we be putting our efforts into building an app for a website or just build the website in HTML5 with a responsive design? I'm seeing more and more websites ditch apps and just building shortcut icons for users to place on their phones to go straight to the website. Will apps and HTML 5 always coexsist or will one dominate the other in the future?
My company runs conferences for web developers and designers so I run into this question a lot. Based on all the talks and discussions I've seen, it really just depends on the purpose of what you're trying to do. It's more than just the specific technology being used; it's about the content you're trying to promote. Are customers actually engaging with the content, or are they just reading articles? Think about the user, and then think about the technology.
But to answer your question, I believe we'll see both native apps and HTML5 co-existing together in the near future.
Do you have any good live examples of HTML5 being used to present data?
I'm looking into using HTML 5 to present my 'crunching the numbers' section better in my income reports but Im yet to find a designer to even suggest how they could do that yet alone one that could actually do it. Something simple like a graph for the last 6 months of each metric, perhaps a bit interactive I dont know :S
So i really do think it comes down to how you want to use the technology more than anything else.
With a responsive design in place, the app should flow naturally from that.
That really depends on your mobile strategy - what are you trying to achieve, what do your customers want. The current reality is that HTML5 can't do everything that a native app can do. You need to be where your audience is and if a large chunk of that audience is in the app stores, then the best you can hope with HTML5 is to provide a hybrid app where the wrapper is native but elements are delivered via HTML e.g. page templates.
I don't think there is a 'right' answer - start with user needs, then work out which tech solution delivers it the best way both for customers and the business, as long-term cost/complexity of dev & maintenance has to be considered.
What's your take?
My opinion is that the future is web apps - apps you access via your browser that utilize technologies like HTML5. Modern browsers are constantly adding new parts of the HTML5 Specification, allowing more and more things to be done using HTML5. For example, what Matthew is suggesting could be done using HTML5 Canvas to draw the graphs based on data from a database (or other source), or with dynamically generated SVG (which is what MozCast uses). The downside is that some key features (notably some of the ones that give you access to native device functions) are still being implemented in mobile browsers. For example, I recently built an HTML5 photobooth demo, but right now it only works in Chrome (the url is http://cdpn.io/uejry if you want to see how it works). It's only a matter of time until the browsers catch up with the spec. I don't have to change the code of my demo for it to work in future versions of modern browsers. When they pick up the spec, it'll work like magic :).
I don't think HTML5 will completely replace native apps yet, but they could in the near future. With the ability to utilize a systems hardware, you could easily see 3D rendering engines and physics models for browsers. Combine computing power with responsive design and you have an app that you can access from any device that delivers a consistant experience without having to download an entire app or drive users through a third party like an app store. Mix in the power to connect to other apps via API's or other cloud services and your level of connectivity increases tenfold.
At the moment, however, your app may need to use features that are only available to native apps, so before you decide which route to go you should research if the features you need are available yet. www.caniuse.com will show you which browsers support what HTML5 (and CSS3) features. If you want to learn some of the cool stuff HTML5 can do, check out www.html5rocks.com. They have all sorts of demos showing what's possible now and what will be possible soon. Once you have decided on which route you want to go, get a good developer who knows the best practices for building HTML5 apps or one who can build a consistant experience across Android/iOS/Windows 8 if you choose to go the native route.