How Users Perceive the Speed of The Web by Paul Irish

Nobody like slow things, but lot of things are said to be slow – jQuery, layout trashing, DOM manipulation, …

10ms could be both slow and fast - it depends on context - it’s fast on e-commerce site but slow in game.

What metric matters?
DOMContentLoaded? FPS? Jank? First paint?

Benchmarks do not look like a real web.

Chrome devs are trying to address right problems - real problems, not benchmark problems.

Focus on the user and all else will follow.

Jakob Nielsen = usability guru

Focus on user’s journey on the web.

TIP: Record real users interaction on real devices.

Measurements should be user-centric. Not tech-centric.

Making Badass Developers by Kathy Sierra (Serious Pony)

Rockstar, Ninja, Hacker, Hacker ninja

Internet is wrong.

What you have to know to be a web developer? Wrong question.

How fast can you learn.

Everything treats you like a humanoid, not a human - with depleting cognitive resources.

After difficult tasks, we deplete will power. Works also for other animals.

Don’t unnecessary burn cognitive resources.

Little things during the day that drain will power matters.

How to get way better way faster?

Over 3x 45-90 min is too big - split it.

Chicken sexing, plane spotting example.

The Kraken Effect at PayPal by Bill Scott

KrakenJS - started internally at PayPal - easing of creating apps.

PayPal has 67 live node apps.

Custom node workshops for PayPal engineers.

Benefit of open sourcing - when new employee comes, he can google your own framework.

UI layer is the Experimentation layer.

Fail fast to learn.

DustJS, Angular, Ember, React - PayPal is experimenting and democratizing technology.

ECMAScript Harmony: Rise of the Compilers by Brendan Eich

Solar system of Javascript.

ES is trying to get rapid release cycle.

Preprocessors, compilers, linters are common. It wasn't always like that. Programmers were avoiding any abstractions in old times.

Browsers are evergreen, updates every few weeks.

Rise of static typing - Typescript, Flow, Closure Compiler

Dart, ClojureScript.

Javascript doesn't have stack allocation, everything is garbage collected.

Needed by C++

Cross compiled C++ and C#.

Chickens with machine guns.

Javascript is assembly lang for the web.

Always bet on JS

Dirty Performance Secrets of HTML5 by Andreas Gal

Main message: why it so hard to render fast?

Rendering engine is serial, in today parallel world.


Parsing at the beginning.

Do not try to guess what is slow, PROFILE! And look at tools, not at code.

Layouts are complicated because everything in CSS is relative to next elements - try to use absolute position.

Translation and alpha animations are fast - happens in GPU in compositor. Changing scale is bad.

GPU has separate memory. Reading back from GPU to CPU is expensive. It’s optimised to go from CPU to GPU.

Try to help GPU.

Welcoming the Web by Estelle Weyl (

Make a web welcoming place.

Ninjas are never seen in office. Rockstars are demanding.

The Linguistics of JavaScript at Erin McKean (Wordnik)


List of things that are possible but pisses people off.

If a word could be misunderstood, it would be misunderstood.

Conversational Computing - Stewart Nickolas (IBM)

Internet of Everything.

The Web (Browser) We Forgot by Kimberly Blessing

This Web App Best Viewed By Someone Else by Eric Meyer

Loading websites is solved problem.

Back button is solved problem.

We, as developers, are breaking these things these days.

The web is not a platform, web was designed to be platform independent.

Deep dive: Facebook’s programming language, Hack by Julien Verlaguet

Hack - programming language open source about 1 ago by Facebook.

Hack is server side lang at Facebook. Any interaction with Facebook is powered by Hack.

Gradually typed lang for HHVM. It’s your decision if you wanna use it as dynamic or static.

HHVM is to PHP what JVM is to Java.

Hack type checker is daemon - run in a background and watches files for changes.

Error messages are cool.

Fetching 3 things.

Null are evil, because normally we asume something is not null.