ARM organised an HTML5 technology workshop last week hosted by Liberty Global/Virgin Media at the Digital TV Group’s offices in central London,next to the MI6 building! This was a very well attended event with more than 45 delegates plus speakers from ARM, LibertyGlobal, Linaro, Opera Software, PlayCanvas and YouView. The agenda covered HTML engine trends, UI implementation case studies, WebGL, developer support, Encrypted Media Extensions, GPU and browser integration, Chromium Embedded Framework and the Chrome process.
My thanks go out to Richard Stamvik, Gemma Paris and Ryan Booth for helping with the logistics for the event, and to our co-hosts from Virgin Media for sponsoring the event.
Trends in HTML5 Engines [slides]
I opened the conference by talking about the current trends in HTML5 engines, with a focus on activities that are going to make HTML5 application development more relevant for embedded application developers. The presentation introduces modern HTML5 techniques such as Web Components and Service Workers plus infrastructure changes such as HTTP/2. All links are contained in the slides, so check them out for more information.
Implementing a Cutting Edge HTML5 UI [slides]
Nico Verhout, VP applications development and Anne Bakker, director web development at LibertyGlobal (LGI), biggest worldwide cable provider with 27M customers in Europe & Latin America, spoke about their cutting edge HTML5 UI. The Horizon UI targets all screens from in house hardware to 3rd party STB's and second screen devices. It uses HTML5, WebGL, CSS3 animations and pixi.js animation physics. Besides openness, multiple vendor, large ecosystem and portability, they talk about how HTML5 offers stability, performance, productivity and security.
Creating Performant HTML5 Apps for TV's [slides]
Thomas Kurowski, Opera, talked about performant HTML5 applications for TV and the importance of simple design and effective implementation to provide good performance. In some instances, this can be achieved by avoiding animations and using Blink-based Opera’s optimisations.
Developer Support and Challenges [slides]
Ian Renyard and Andrea Fassina presented their view on the HTML landscape from the viewpoint of supporting third party developers for the YouView platform. They discusses d the transition from Adobe Air for TV in 2012 to HTML5 in 2014 with the challenges faced in that transition. Currently only the BBC apps, iPlayer and red button are in HTML5, but plans are in motion to move more apps over.
The main theme of this presentation was to understand your production environment, make sure you test and validate on target and understanding the footprint and characteristics of the libraries that you use in your apps. They presented some great recommendations to developers and are willing to share these findings with the community.
Real World WebGL - The making of SeeMore WebGL [slides]
Will Eastcott of PlayCanvas presented their Open Source WebGL engine and how they implemented the SeeMore demo providing solid jank free performance on a midrange ARM-based tablet. The very impressive demo showcases physically based rendering supporting materials textures, light mapping and shadows through WebGL, and various optimisations, e g halos implemented using transparent camera-aligned sprites.
The Challenge of Integrating Media Playback on Embedded Devices [slides]
Alex Ashley, YouView, talked about challenges with HbbTV 2.0 supporting multiple playing/paused videos; combining live video and advertisements; HTML5 trick play; testing live stream seek; and lack of data sharing, e g cookies, between browser and media player.
Check out his slides for some sound recommendations for media playback.
Chromium Embedded Framework Integration [slides]
Zoltan Kuscsuk, Linaro, talked about HTML5 in embedded Linux; how to embed a browser in a native application; hardware accelerated video playback; and media encryption extensions.
He presented GPU-accelerated rendering in Chromium running in an ARM and Linux-based STB environment.
Encrypted Media Extensions on OP TEE [slides]
A second session by Zoltan covered Trusted Execution Environment (TEE)-protected DRM, and Encrypted Media Extensions (EME) in the open source OPTEE which uses HTML’s MediaElement (there was some but not much TrustZone and TEE experience in the audience). The draft EME specification is also supported by Chromium.
Integrating the Mali GPU with Browsers [slides]
Wasim Abbas, technical lead for middleware graphics in ARM’s Mali ecosystem team, presented ARM’s GPU and browser integration work, focusing on embedded devices’ low power budget. This presentation covered low level aspects of embedded GPU’s, and some great tips for developers targeting integrating against an embedded system.
The Chrome Process [slides]
I close the conference out with a look at how Chrome development actually happens, it looks into the intent process and explores how all development is discussed with open forums in the blink-dev community. This presentation is a call to arms for those who have a vested interest in the web platform to get involved in the platforms development.
The presentation then goes on to look at some of the cool new platform enhancements that are in flight, and a look into future work that will have a positive impact on our lives as embedded HTML5 application engineers.
Conclusion
This conference pulled in attendees from across the value chain for the embedded world including chipset vendors, STB OEM's middleware providers and operators. Feedback from the event was very positive with great networking opportunities. Bring like minded people into one room to work on common problems across the segment.
We hope to replicate the format again, so watch this space and we hope to see you all at a future event soon.