Monday, July 21, 2014
Responsive Web Design
In the early days of the internet and websites when there was no such thing as broadband (or at least for the many), it was really important to focus on optimizing HTML. But as the internet pipes got bigger, optimization initiatives seemed to fall down in priority.
I see a direct parallel to computer processors and software programs. When memory and processing speed was at a minimum, software developers spent a lot of their time optimizing and minimizing their code. As memory has become cheaper and processors faster, it seems as though programmers have mostly left this practice behind. It's pretty amazing that we now expect to have Gigabytes of highspeed Ram, and Terabyte drives laying around piling up with applications, videos and more. When we run out of storage and memory, we buy more, no need to keep our code neat and compact, or compress our files.
But things are really piling up out there. Video is a one of the biggest storage hogs, with 3D video and 4K requiring even more (although H.265 is helping out), that means even more storage and bandwidth requirements. And now we have to deliver to a huge variety of devices. But I digress...
The cable industry is hedging it's bets on HTML5 as the ubiquitous solution to next generation UI solutions. At least for now, most have gotten over the 'write once run everywhere' dream of HTML5, but many still think it will be the best choice for targeting multiple devices. This brings me back to the core principle; set-top-boxes and other consumer devices do not have unlimited memory. Entertainment is relying more heavily on wifi to delivery streaming content. The Internet of Things wants every device to talk with each other. So while bandwidth is getting better and memory cheaper, there is a population explosion of 'stuff' expecting to share the highway. And to the point, I am starting to see optimization seminars popping up again. Responsive Website Design is an important practice to deliver HTML5 to multiple devices. It's easy for anyone to write HTML5, but how about code that targets TVs, STBs, Tablets, and cellphones that have to constantly update metadata from myriad sources, and meet consumer expectations for quick interactivity and perfect video playback. Embedded HTML5 UIs can be designed to ensure excellent user experiences, but the target platforms and server architecture for data and video access need to be considered up front to ensure success. So as we embark with piling on of all these new capabilities such as 4K, and smart homes with remote camera security and we have multiple screen targets, understanding available methods for faster download and view are important to the overall design goals. I recently listened in on a presentation from Akamai by Guy Podjamy:
Making Responsive Websites Fast that discussed some good ideas for improving performance. This kind of forethought when developing UIs for television is critical for achieving a successful outcome on all your device targets.