28
“a cuing edge HTML5 UI” Nico Viht VP App develment

“a cu ing edge HTML5 UI”€¦ · a HTML5 UI. Embedded vs Deskt$ Desktop Embedded < 1500 DMIPS < 1G Memory Mobile. Und"wat" obstacles Stability and memory leaks (long running process)

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: “a cu ing edge HTML5 UI”€¦ · a HTML5 UI. Embedded vs Deskt$ Desktop Embedded < 1500 DMIPS < 1G Memory Mobile. Und"wat" obstacles Stability and memory leaks (long running process)

“a cutting edge HTML5 UI”

Nico Vierhout

VP App development

Page 2: “a cu ing edge HTML5 UI”€¦ · a HTML5 UI. Embedded vs Deskt$ Desktop Embedded < 1500 DMIPS < 1G Memory Mobile. Und"wat" obstacles Stability and memory leaks (long running process)

Our Roots

Page 3: “a cu ing edge HTML5 UI”€¦ · a HTML5 UI. Embedded vs Deskt$ Desktop Embedded < 1500 DMIPS < 1G Memory Mobile. Und"wat" obstacles Stability and memory leaks (long running process)
Page 4: “a cu ing edge HTML5 UI”€¦ · a HTML5 UI. Embedded vs Deskt$ Desktop Embedded < 1500 DMIPS < 1G Memory Mobile. Und"wat" obstacles Stability and memory leaks (long running process)

14 countries

52 mm homes passed

27 mm Customers

56 mm RGUs

over

$18 bn of revenue*

38,000 Employees

founded

25 yrs ago

90% business is in Europe

Liberty Global is the largest international cable company and is a provider of market-leading TV, broadband internet and telephony services

Page 5: “a cu ing edge HTML5 UI”€¦ · a HTML5 UI. Embedded vs Deskt$ Desktop Embedded < 1500 DMIPS < 1G Memory Mobile. Und"wat" obstacles Stability and memory leaks (long running process)

Information overload

300 TV channels

100,000,000,000 videos on youtube

1,000,000 mobile apps

5000 TV catchup propositions

10,000 VOD movies

30,000 press articles per day

Page 6: “a cu ing edge HTML5 UI”€¦ · a HTML5 UI. Embedded vs Deskt$ Desktop Embedded < 1500 DMIPS < 1G Memory Mobile. Und"wat" obstacles Stability and memory leaks (long running process)

Horizon

Page 7: “a cu ing edge HTML5 UI”€¦ · a HTML5 UI. Embedded vs Deskt$ Desktop Embedded < 1500 DMIPS < 1G Memory Mobile. Und"wat" obstacles Stability and memory leaks (long running process)
Page 8: “a cu ing edge HTML5 UI”€¦ · a HTML5 UI. Embedded vs Deskt$ Desktop Embedded < 1500 DMIPS < 1G Memory Mobile. Und"wat" obstacles Stability and memory leaks (long running process)
Page 9: “a cu ing edge HTML5 UI”€¦ · a HTML5 UI. Embedded vs Deskt$ Desktop Embedded < 1500 DMIPS < 1G Memory Mobile. Und"wat" obstacles Stability and memory leaks (long running process)

“Implementing a cutting edge HTML5 UI”

Page 10: “a cu ing edge HTML5 UI”€¦ · a HTML5 UI. Embedded vs Deskt$ Desktop Embedded < 1500 DMIPS < 1G Memory Mobile. Und"wat" obstacles Stability and memory leaks (long running process)

Anne BakkerDirector Web Development

Page 11: “a cu ing edge HTML5 UI”€¦ · a HTML5 UI. Embedded vs Deskt$ Desktop Embedded < 1500 DMIPS < 1G Memory Mobile. Und"wat" obstacles Stability and memory leaks (long running process)

Our Journey

WebGL UI

HTML4 Apps

CSS3 animations

+ Animation physics

HTML5 UI

Page 12: “a cu ing edge HTML5 UI”€¦ · a HTML5 UI. Embedded vs Deskt$ Desktop Embedded < 1500 DMIPS < 1G Memory Mobile. Und"wat" obstacles Stability and memory leaks (long running process)

Why:

Open platform

Multi vendor

Ecosystem

Portability

Why not:

Stability ?

Performance ?

Productivity ?

Security ?

a HTML5 UI

Page 13: “a cu ing edge HTML5 UI”€¦ · a HTML5 UI. Embedded vs Deskt$ Desktop Embedded < 1500 DMIPS < 1G Memory Mobile. Und"wat" obstacles Stability and memory leaks (long running process)

Embedded vs Desktop

Desktop

Embedded< 1500 DMIPS < 1G Memory

Mobile

Page 14: “a cu ing edge HTML5 UI”€¦ · a HTML5 UI. Embedded vs Deskt$ Desktop Embedded < 1500 DMIPS < 1G Memory Mobile. Und"wat" obstacles Stability and memory leaks (long running process)

Underwater obstacles

Stability and memory leaks (long running process)

Animation performance and rendering artifacts

Browser (Qt 4.8) integration layer bugs

Page 15: “a cu ing edge HTML5 UI”€¦ · a HTML5 UI. Embedded vs Deskt$ Desktop Embedded < 1500 DMIPS < 1G Memory Mobile. Und"wat" obstacles Stability and memory leaks (long running process)

EPG grid - Large DOM & updates “infinit scroll”

Page 16: “a cu ing edge HTML5 UI”€¦ · a HTML5 UI. Embedded vs Deskt$ Desktop Embedded < 1500 DMIPS < 1G Memory Mobile. Und"wat" obstacles Stability and memory leaks (long running process)
Page 17: “a cu ing edge HTML5 UI”€¦ · a HTML5 UI. Embedded vs Deskt$ Desktop Embedded < 1500 DMIPS < 1G Memory Mobile. Und"wat" obstacles Stability and memory leaks (long running process)

Challenges EPG

First approach with DOM failed

Data and views caching!

Text wrapping forcing paints

We moved to <canvas> 2D

Page 18: “a cu ing edge HTML5 UI”€¦ · a HTML5 UI. Embedded vs Deskt$ Desktop Embedded < 1500 DMIPS < 1G Memory Mobile. Und"wat" obstacles Stability and memory leaks (long running process)

VOD store full screen animations, paints required

Page 19: “a cu ing edge HTML5 UI”€¦ · a HTML5 UI. Embedded vs Deskt$ Desktop Embedded < 1500 DMIPS < 1G Memory Mobile. Und"wat" obstacles Stability and memory leaks (long running process)
Page 20: “a cu ing edge HTML5 UI”€¦ · a HTML5 UI. Embedded vs Deskt$ Desktop Embedded < 1500 DMIPS < 1G Memory Mobile. Und"wat" obstacles Stability and memory leaks (long running process)

Challenges VOD

translate3d() is not a silver bullet

Getting the right compositing is tricky

Full screen vertical animation

Large blurred backdrop

Images are faster than CSS3

Page 21: “a cu ing edge HTML5 UI”€¦ · a HTML5 UI. Embedded vs Deskt$ Desktop Embedded < 1500 DMIPS < 1G Memory Mobile. Und"wat" obstacles Stability and memory leaks (long running process)

Changed ships4.8 5.4

Webkit 2 GPU acceleration

WebGL 120 Mb

Webkit 1 CPU rendering

Canvas 2D 90 Mb

Page 22: “a cu ing edge HTML5 UI”€¦ · a HTML5 UI. Embedded vs Deskt$ Desktop Embedded < 1500 DMIPS < 1G Memory Mobile. Und"wat" obstacles Stability and memory leaks (long running process)

WebGLInteracting directly with the GPU (openGL)

Performance (potential) HTML5 vs WebGL

Much lower leven than DOM, Canvas 2D API

Text rendering is hard in WebGL (char atlas)

Memory management

Page 23: “a cu ing edge HTML5 UI”€¦ · a HTML5 UI. Embedded vs Deskt$ Desktop Embedded < 1500 DMIPS < 1G Memory Mobile. Und"wat" obstacles Stability and memory leaks (long running process)

VOD store in WebGL with blurred backdrops

Page 24: “a cu ing edge HTML5 UI”€¦ · a HTML5 UI. Embedded vs Deskt$ Desktop Embedded < 1500 DMIPS < 1G Memory Mobile. Und"wat" obstacles Stability and memory leaks (long running process)

Gaming frameworksEven though the frame rate was constant > 40 fps it

still did not feel right…

Productivity of pure WebGL development

Animation physics

Object pooling

Page 25: “a cu ing edge HTML5 UI”€¦ · a HTML5 UI. Embedded vs Deskt$ Desktop Embedded < 1500 DMIPS < 1G Memory Mobile. Und"wat" obstacles Stability and memory leaks (long running process)

PixiJS (WebGL) with spring physics

Page 26: “a cu ing edge HTML5 UI”€¦ · a HTML5 UI. Embedded vs Deskt$ Desktop Embedded < 1500 DMIPS < 1G Memory Mobile. Und"wat" obstacles Stability and memory leaks (long running process)

Learnings

Applying gaming techniques to UI development

Mixing HTML5 and WebGL has great potential for TV UIs

Developer features should be a requirement!

Using large deep DOM slows things down quickly

Applying translate3d on everything

Treating the browser as a black box

Page 27: “a cu ing edge HTML5 UI”€¦ · a HTML5 UI. Embedded vs Deskt$ Desktop Embedded < 1500 DMIPS < 1G Memory Mobile. Und"wat" obstacles Stability and memory leaks (long running process)

The tides…

will shift the waterways and obstacles…

Page 28: “a cu ing edge HTML5 UI”€¦ · a HTML5 UI. Embedded vs Deskt$ Desktop Embedded < 1500 DMIPS < 1G Memory Mobile. Und"wat" obstacles Stability and memory leaks (long running process)

Happy sailing!