Hey Janko, You Had Me at “Fragmentation”
I’ve never met Janko Roettgers from GigaOm, but over the last week I feel like we’re kindred spirits. Janko did a three-part series on SmartTVs that talked about the user experience, the difficulty of writing apps, the problems with remote controls and all of the other things that have prevented SmartTVs from capturing the hearts and minds of the public.
Somewhere between the limitations of processing power and lamentations about the GoogleTV remote control, I realized that the problems Janko was identifying and the problems ActiveVideo is solving are one and the same. I think this was the paragraph that clinched it for me:
“Two years ago, I decided to take matters into my own hand and build a smart TV app for GigaOM… for the Boxee Box. But before I was able to put the finishing touches on the app, Boxee switched its scripting language from its own flavor of XML to HTML5, making my app look outdated. Then it switched from the Boxee Box to its second-generation Boxee TV device, which wasn’t capable of running my app at all. And then, just a few weeks ago, the company got bought by Samsung, and announced that it wouldn’t support its devices any more.”
Here’s the issue: in any SmartTV, the browser is hard-coded to the middleware which is hard-coded to the device operating system, leading to hundreds of device configurations and assuring that developers are going to have to write apps again and again. The series notes, for example, that there is an army of developers whose focus is simply to bring the Netflix app to 800 different mobile and connected devices.
The problem is three-fold:
- The proliferation of rendering engines – including Maple, Opera, Servo, Trident, WebKit and others – all but guarantees browser fragmentation across different brands;
- Within the same brand, manufacturers are changing their strategies—and their rendering engines—from year to year based on how they see value creation; and
- Even within different browsers using the same rendering technology, such as WebKit, there are various ways of implementing text and graphics rendering. As Paul Irish notes, Chrome uses Skia rendering, Safari uses CoreGraphics and QtWebKit uses QtGui. As a result, an application written once may produce different user experiences on each browser.
Janko mentions the cloud only in passing in his series, but the truth is, the cloud really is the answer to the problem—for CE, for cable and for online video. It is only by moving the browser to the cloud and decoupling the user interface from device dependencies that apps developed once can provide consistent user experiences on any device. Check out how brands like Ziggo and Phillips are showing ways that cable, IPTV and online service providers can use cloud UI technology to deliver advanced user experiences that can run seamlessly on any device, including the Smart TVs of today and tomorrow.
Not all of the problems Janko pointed out will go away if SmartTV UIs are moved to the cloud. Remote controls, for example, can still be improved. And developers still need to learn to optimize the TV landscape. But Janko, since we agree that replacing confusing, cumbersome app environments with consistent, intuitive UIs on every device is of paramount importance, I have one suggestion: the next time you develop an app, avoid the moving targets of device-specific development and create it once in the cloud. We’ll get it to any device—even to a Boxee box.