1 of 36

BlinkOn3

chrishtr, dglazkov, jochen

2 of 36

Welcome!

3 of 36

Who's at BlinkOn3

4 of 36

Since BlinkOn2

5 of 36

Lines of Code

6 of 36

Since BlinkOn2

9,671 commits (52 per day)

447 contributors

7 of 36

152 Intents

51% non-Google

31 Deprecate

50 Implement

42 Ship

29 Remove

Since BlinkOn2

8 of 36

Shipped

Shadow DOM

CSS Will Change

Unprefixed Pointer Lock

Element.animate

HTML Imports

navigator.hardwareConcurrency

drawFocusIfNeeded

CSS "all" shorthand

navigator.languages

CSS Shapes

Unprefixed cursor zoom-in/out

DirectWrite

Subpixel font scaling

Subpixel font scaling

XHR.responseURL

Fractional TouchEvent coordinates

whitespace in SVG attributes

Unprefixed Touch radius and force

Picture element

Unprefixed Fullscreen API

Web Crypto

theme-color

image-rendering:pixelated

unregisterProtocolHandler

Text Encoding API

File constructor

Network Information API

...

9 of 36

Unshipped

More SVG 1.1 stuff

Prefixed Media Source API

<source>.media

overflowchanged

currentPath

MediaController

window.performance.webkitGet*

CSS media features -webkit-*

SVG instance tree

<html>.manifest

webkitInitMessageEvent

Element.prefix setter

Touch.webkitRotationAngle

XHR.withCredential for sync XHR

webkitallowfullscreen attribute

webkitConvertPointFrom*

initWebKitWheelEvent

Element.scrollByLines/Pages

<frame>.width/height

<pre>.wrap

Prefixed Pointer Lock

HTMLOptionsCollection.remove

showModalDialog

...

chromestatus.com

10 of 36

Near term (last BlinkOn)

  • Oilpan (progress)
  • Repaint After Layout/Compositing (shipped)
  • Layer Squashing (shipped)
  • Web Animations (shipped)
  • Blink Scheduling (progress)
  • Forced Compositing (shipped)

11 of 36

Near term (last BlinkOn)

  • Merge with Chromium (progress)
  • HTML Imports (shipped)
  • APIs in Rendering (no progress)
  • New SkRecord (shipped)
  • Device APIs (better)
  • Juice (progress)

12 of 36

Medium term (last BlinkOn)

  • GPU Acceleration (shipped on Android)
  • RemoteFrame (progress)
  • Service Worker (first bits shipped)
  • New-Multicolumn (progress)
  • Tracing-Inspector (progress)
  • Page Transitions (progress)

13 of 36

Medium term (last BlinkOn)

  • Bindings Split (progress)
  • DirectWrite (shipped)
  • Mojo (progress)
  • GN (progress)

14 of 36

Speculative (last BlinkOn)

  • JIT Style Resolution (aborted)
  • Incremental Style Resolve & Layout
  • Blink in JavaScript (framework ready)
  • Moving XSLT etc. out of Blink (progress)

15 of 36

Results

16 of 36

17 of 36

Topeka

18 of 36

Looking Forward

19 of 36

Productivity

Capabilities

Performance

20 of 36

Remove Top 3 Stops

  • Performance
    • Slimming Paint, Scheduler, ...
  • Capabilities
    • Service Worker, Push Notifications, ...
  • Productivity
    • Web Components, DevTools, ES6, ...

21 of 36

Play To Our Strengths

  • Universal
  • Composable
  • Semantic
  • Ephemeral
  • Safe

22 of 36

Plan for Long Term

  • Keep the Platform Open
  • Lean on Layering (Extensible Web)
  • Stay Healthy
  • Ship Often and Iterate
  • Be Data-driven

23 of 36

Three-Dimensional Coordinate System

24 of 36

Set a Goal

Enable developers

to easily make and maintain products

that offer a modern user experience.

25 of 36

What's Modern User Experience?

Be Specific

26 of 36

This Is Success

time

finger down

finger up

do idle/cleanup in 50ms chunks in case finger down happens again

animation

Max: 100ms

loading

1000ms

max 6ms chunks

27 of 36

Blink Priorities

28 of 36

Enable

Capabilities common to many apps

29 of 36

Modern UX

Performance. Performance. Performance.

30 of 36

Easy To Build and Maintain

Productivity + Ergonomics in Service of UX

31 of 36

Review

32 of 36

33 of 36

BlinkOn4

Spring ‘15, Tokyo/Sydney?

34 of 36

BlinkOn5

Fall ‘15, Mountain View

35 of 36

Thank you

chrishtr@ dglazkov@ jochen@

36 of 36

Questions?

chrishtr@ dglazkov@ jochen@