HTML5 Is Ready For the Big Time, Are You?

HTML5 Ready for the Big Time

Much has been said and 'debated' in recent years about the viability of HTML5. It should be obvious where I stand if you read my Blog or talk to me in person. HTML5, CSS3 and JavaScript are certainly ready and have been for a while. The big problem, as I see it, is the lack of developers with a forward vision. Too many websites are still written for yesterday's web. A web where developers and designers created pages for fixed widths, mouse clicks, vertical scrolling and desktops.

outdated web sites

The cheese has moved so to speak with mobile and touch. Screen sizes vary radically, but they have in the past. The difference is in the past we worried about 800x600 or 1024x786 or more recent a few higher resolutions. It was easy to create sites with fixed width, 960 being the most recent standard. Today however we have screen sizes from 380x420 all the way up to mega displays covering hundreds of diagonal inches with super high pixel densities. Web applications need to be full screen, use all the space available.

Mobility is also a game changer. Responsive web design is all the rage lately. But even it sacrifices context specific interfaces. Application consumers use our web applications in all sorts of situations. They can be driving down the Interstate just as easy as they could be snuggled up in bed drifting off to sleep. Do they really want to know about the feel good story on our home page or do they really just want the score for their favorite school's game? It's a guessing game. Telemetry helps, but for most there is simply not enough valid data to make an educated decision.

Touch is a very big difference to the way we design modern web applications. Fingers are not precision pointing devices. They also introduce gestures. Users can now swipe, pinch and rotate across the screen. This is why I wrote deeptissuejs last month. I needed a library to abstract these touch events.

No longer can we use small touch points with no space between. We can also make data more actionable, giving it a more intimate connection that in the past. You can no longer rely on hover to generate feedback. You need to consider other touch interactions to drive those experiences. Similarly there is no right-click, again find a new gesture to trigger that context menu.

The web unfairly gets mud thrown on it by the press, which matriculates to many developers. Its not that HTML5 is not ready, it is more about developers not being ready. Take Facebook for example. In my opinion it is the poster-child of how not to architect a modern web application. Its not even a good example of building yesterday's web sites to be honest. It makes repeated calls to retrieve copious  amounts of data, where JSON and some JavaScript templates do a much better job.

But it is bigger than that. Developers and designers still put the web into yesterday standards, not modern, mobile, touch first. Then of course there is performance, maybe the most overlooked feature. Recently a survey found the largest e-commerce sites are actually getting slower. Users expect a site to be responsive within 3 seconds, but the average e-commerce site us surpassing 7 seconds. This is costing them business and lots of it.

Web sites need to be changed to web applications. Developers and designers need to adopt a three pronged approach; mobile, touch and performance first. I call this user first development and it needs to become the predominant approach for both consumer and enterprise applications.

User First Web Develop,ent

As developers we tend to architect for our needs not our customer's. We build code to make the 'application life cycle easier', sacrificing the user's experience. We bloat the application's JavaScript so we can code it as we would C#. We don't take advantage of CSS animations, transformations or modern input types and attributes. These choices all lead to a degraded user experience.

The choice you need to make is are you going to continue to build for a medium that is fading away every day or are you going to create for the growing space that is what tomorrow's landscape looks like? I know I am ahead of the game, but I shouldn't be. I realized the tide was shifting a few years ago, around the time the iPad was introduced. I have already spent over two years learning and making mistakes. I want to help you avoid wasting time on those mistakes. Instead learn from my experiences and others like me. There are many great resources, blogs, books and videos. Attend a local user group or meet up. Get your boss to invest time and money in sending you to a conference for modern web like Breaking Development.

The consumer application space gets most of the press, but the enterprise market is larger and in need of even more updating. Attitudes, architectures and applications are all outdated, misinformed and degrading from entropy. Real application life cycles include capacity to adjust and be agile as the end user changes their lifestyle. It starts with the individual developer having courage to try something new. Learn a new technique every week. Be confident and know the answer is there, somewhere.

Yesterday's web is dying, don't die with it. Make the effort to build truly modern web applications, not yesterday's web sites.

Share This Article With Your Friends!