59
MIND THE GAP CHRIS HEILMANN @CODEPO8, STATE OF THE BROWSER, LONDON, SEPTEMBER 2015

Mind the Gap - State of the Browser 2015

Embed Size (px)

Citation preview

Page 1: Mind the Gap - State of the Browser 2015

MIND THE GAP

CHRIS HEILMANN (﴾@CODEPO8)﴿, STATE OF THE BROWSER, LONDON, SEPTEMBER 2015

Page 2: Mind the Gap - State of the Browser 2015

WEB DEVELOPMENT WAS A LOT ABOUT GAPS…

Page 3: Mind the Gap - State of the Browser 2015

CONSIDER THIS SIMPLE, SENSIBLE MARKUP…

Page 4: Mind the Gap - State of the Browser 2015

…AND THE MESS THAT INTERNET EXPLORER 6 AND 7 MADE OF IT.

Page 5: Mind the Gap - State of the Browser 2015
Page 6: Mind the Gap - State of the Browser 2015
Page 7: Mind the Gap - State of the Browser 2015
Page 8: Mind the Gap - State of the Browser 2015

FIXES WERE PLENTIFUL…

Page 9: Mind the Gap - State of the Browser 2015

AND VERY SPECIFIC TO THE BROWSER’S ISSUES…

Page 10: Mind the Gap - State of the Browser 2015

ALL OF THESE WERE SOLUTIONS. BUT THEY FELT BAD.

Page 11: Mind the Gap - State of the Browser 2015

WRITE EXTRA MARKUP TO WORK AROUND THE ISSUES OF THE PARSER?

Page 12: Mind the Gap - State of the Browser 2015

RELY ON HACKS THAT EXPLOIT KNOWN PROBLEMS IN THE CSS PARSER OF THE OFFENDING BROWSER?

Page 13: Mind the Gap - State of the Browser 2015

RELY ON KNOWN BUGS IN THE CSS PARSER?

Page 14: Mind the Gap - State of the Browser 2015

CREATE A DEDICATED STYLE SHEET WITH ALL THE QUIRKS IN THEM -‐ ONE FOR EACH OFFENDING BROWSER

Page 15: Mind the Gap - State of the Browser 2015

FIND A SOLUTION AND ENSURE THAT ONLY THE PROBLEMATIC BROWSERS GET IT?

Page 16: Mind the Gap - State of the Browser 2015

STOP TRYING TO SOLVE THE PROBLEM OF BROWSER CREATORS AND FEED BACK ISSUES SO THAT BROWSERS CAN IMPROVE?

Page 17: Mind the Gap - State of the Browser 2015

EXCEPT, BACK THEN THERE WERE NO FEEDBACK CHANNELS.

Page 18: Mind the Gap - State of the Browser 2015

SO WE DID THE NEXT BEST THING. WE WROTE ABSTRACTIONS TO FIX BROWSER ISSUES FOR US.

Page 19: Mind the Gap - State of the Browser 2015

NO WAITING FOR BROWSERS -‐ LET’S INNOVATE AND BUILD THE THINGS WE WANT!

Page 20: Mind the Gap - State of the Browser 2015

BROWSERS WILL CATCH UP AND WE CAN REMOVE OUR ABSTRACTIONS…

Page 21: Mind the Gap - State of the Browser 2015

…EXCEPT, WE NEVER DO.

Page 22: Mind the Gap - State of the Browser 2015

AT EVENTS, WE TALK ABOUT AMAZING SOLUTIONS BUT SOMEHOW, IT FEELS WE’RE NOT HAVING AN EFFECT…

Page 23: Mind the Gap - State of the Browser 2015

A LOT IS NOT WORKING THE WAY IT SHOULD…

Page 24: Mind the Gap - State of the Browser 2015

🕗15 SECONDS

Page 25: Mind the Gap - State of the Browser 2015

🕗15 SECONDS

http://www.webperformancetoday.com/2015/09/08/deja-vu-all-over-again/

THE TIME THE MEDIAN ECOMMERCE SITE NEEDS TO FULLY LOAD…

Page 26: Mind the Gap - State of the Browser 2015

http://www.webperformancetoday.com/2015/09/08/deja-vu-all-over-again/

THAT’S A PRETTY TERRIBLE STATE OF THE WEB.

• The median page’s time to interact is 5.5 seconds, and fully loads in just over 15 seconds.

• The median page is 2MB in size and contains 170 resources

• Most sites fail to take advantage of core image optimisation techniques

Page 27: Mind the Gap - State of the Browser 2015

AND SO NOT UNCOMMON…

Page 28: Mind the Gap - State of the Browser 2015

WELL, I AGREE…

Page 29: Mind the Gap - State of the Browser 2015

HUGE, INDEED…

http://www.apple.com/ipad-‐air/

Page 30: Mind the Gap - State of the Browser 2015

HUGE, INDEED…

http://www.apple.com/ipad-‐pro/

Page 31: Mind the Gap - State of the Browser 2015

WHOSE FAULT IS THIS?

Page 32: Mind the Gap - State of the Browser 2015

PRETTY MUCH OURS…

• Web development is still governed by looks alone

• Clients still expect web sites to work the same on every browser and platform

• Quick delivery trumps quality and release processes

• We’re asked to make things work and fix them later -‐ but there never is a later.

Page 33: Mind the Gap - State of the Browser 2015

A LOT OF OUR INNOVATION AND EASY TO USE SOLUTIONS FEEL LIKE PURE ESCAPISM…

Page 34: Mind the Gap - State of the Browser 2015

I’M NOT SAYING THERE SHOULD BE NO INNOVATION…

Page 35: Mind the Gap - State of the Browser 2015

IT IS JUST NOT EVERYBODY’S RESPONSIBILITY. SOME OF US COULD CONCENTRATE ON KEEPING THE WEB A SOLID FOUNDATION.

Page 36: Mind the Gap - State of the Browser 2015

WE GET HIGH ON TECHNICAL SOLUTIONS THAT GET INCREASINGLY COMPLEX.

http://ashleynolan.co.uk/blog/frontend-‐tooling-‐survey-‐2015-‐results

Page 37: Mind the Gap - State of the Browser 2015

THIS IS NOT AN OLD MAN OF THE WEB RANTING… (﴾WELL, NOT EXCLUSIVELY)﴿

Page 38: Mind the Gap - State of the Browser 2015

LATELY I WORKED EXCLUSIVELY IN FIXING ONE MASSIVE ISSUE OF THE WEB…

Page 39: Mind the Gap - State of the Browser 2015

WE REMOVED ALL THE THINGS THE WEB SUFFERED FROM…

✘ VML ✘ attachEvent(﴾)﴿ ✘ currentStyle ✘ X-‐UA-‐Compatible (﴾render modes)﴿ ✘ IE Layout Quirks ✘ VBScript ✘ Conditional Comments ✘ MS-‐Prefixed Events

Page 40: Mind the Gap - State of the Browser 2015

WE REALISED YOU CAN’T BREAK THE WEB OVER NIGHT… :(﴾

Page 41: Mind the Gap - State of the Browser 2015

WE LEARNED THAT THERE ARE MANY WEBS…

Page 42: Mind the Gap - State of the Browser 2015

before after before after

-webkit-appearance: none -webkit-gradient

…AND THAT EXPERIMENTAL FEATURES DON’T DIE

Page 43: Mind the Gap - State of the Browser 2015

EDUCATING IS A TOUGH JOB…

http://dev.modern.ie/tools/staticscan/

https://github.com/MicrosoftEdge/static-‐code-‐scan

Page 44: Mind the Gap - State of the Browser 2015

THE BIGGEST CULPRITS WE FOUND…

✘ Aggressive browser sniffing independent of version number

✘ Outdated libraries and polyfills -‐ some of them clashing with new language features

✘ A lack of packaging and dependency loading solutions -‐ dozens of JS files = no inlining possible

✘ If it works on Safari iOS, that’s what matters -‐ no matter what the spec says…

Page 45: Mind the Gap - State of the Browser 2015

FIXING THE BROWSER SHOWED US HOW BROKEN THE WEB IS

Page 46: Mind the Gap - State of the Browser 2015

WE HAVE WORKING COMMUNICATION CHANNELS BETWEEN BROWSER MAKERS AND DEVELOPERS…

Page 47: Mind the Gap - State of the Browser 2015

LET’S USE THEM PROPERLY.

HERE’S WHAT I LEARNED WORKING FOR BROWSER CREATORS

✓ It is a constant race not to break the web -‐ every mistake web developers make needs to get catered for.

✓ The pressure is immense. Instead of pushing for an interoperable web, browsers are constantly compared and expected to be different.

✓ When implementing standards, we find a lot of problems and feed them back. That’s why a score of 100% in feature tests makes no sense.

✓ Most speed increases are based on analysing and fixing developer mistakes/sloppiness.

Page 48: Mind the Gap - State of the Browser 2015

SO HERE IS MY PLEA TO HELP WITH BETTER SOLUTIONS FOR EVERYONE…

Page 49: Mind the Gap - State of the Browser 2015

STOP TELLING PEOPLE ON THE WEB THAT THERE ARE DOZENS OF SOLUTIONS THAT MAGICALLY FIX ALL THEIR ISSUES…

Page 50: Mind the Gap - State of the Browser 2015

STOP CATERING TO OLD BROWSERS. GIVE THEM BASIC, WORKING SOLUTIONS AND ENHANCE USING FEATURE DETECTION.

Page 51: Mind the Gap - State of the Browser 2015

EXPLAIN, DON’T MAKE IT FASTER AND EASIER!

Page 52: Mind the Gap - State of the Browser 2015

SHOW THE DANGERS OF QUICK SOLUTIONS.

Page 53: Mind the Gap - State of the Browser 2015

KEEP THINGS ACCESSIBLE FOR EVERYONE. THERE IS NO TECHNICAL BASELINE!

Page 54: Mind the Gap - State of the Browser 2015

SIMPLY BECAUSE YOU CAN FIX ANYTHING WITH JAVASCRIPT DOES NOT MEAN YOU SHOULD!

Page 55: Mind the Gap - State of the Browser 2015

LET’S COLLECTIVELY CALM DOWN!

Page 56: Mind the Gap - State of the Browser 2015

WE’RE NOT IN A HEALTHY STATE RIGHT NOW AS A COMMUNITY…

✘ We build to impress each other -‐ the people who need our solutions never see them.

✘ We feel rushed and not good enough -‐ all the time.

✘ We feel innovation is going too slow whilst not recognising when something got fixed we wanted oh so much when it was the hot thing to demand.

Page 57: Mind the Gap - State of the Browser 2015

THE FIRST STEP TO HAPPINESS IS TO MAKE IT HAPPEN…

Page 58: Mind the Gap - State of the Browser 2015

THE FIRST STEP TO HAPPINESS IS TO MAKE IT HAPPEN…

✓ Improve your basic skills, catch up on what’s possible. caniuse.com is a riveting read!

✓ Start helping people who are not here and don’t follow hackernews. You start teaching and you end up learning.

✓ Report problems, demand support for basic features, not only for the hot, new (﴾half-‐baked)﴿ ones.

✓ Reach out beyond our echo chamber if you want to reach people who need the knowledge you have.

Page 59: Mind the Gap - State of the Browser 2015

THANK YOU!CHRIS HEILMANN

@CODEPO8