73
THE WHEEL IS SPINNING, BUT THE HAMSTER IS DEAD… CHRIS HEILMANN @CODEPO8, SMARTWEB, BUCHAREST, SEPTEMBER 2015

The wheel is spinning but the hamster is almost dead - Smartweb 2015

Embed Size (px)

Citation preview

THE WHEEL IS SPINNING, BUT THE HAMSTER IS DEAD…

CHRIS HEILMANN (﴾@CODEPO8)﴿, SMARTWEB, BUCHAREST, SEPTEMBER 2015

HI THERE!

HOW ARE YOU?

I assume that after a full day of great talks and meeting people who work in the same space as you,

THINGS ARE GREAT!

Inspired Fascinated

Excited Hopeful

… a bit overwhelmed?

YOU PROBABLY ARE

GOOD! HOLD ON TO THIS FEELING!

DON’T GO BACK INTO THE OTHER MODE THAT IS VERY COMMON THESE DAYS…

THAT FEELING THAT YOU DON’T BELONG…

THAT FEELING THAT YOU’RE NOT GOOD ENOUGH…

THE FEELING THAT YOU CAN’T CONTRIBUTE ANYTHING USEFUL…

THE FEELING THAT YOU SHOULD APOLOGISE FOR NOT USING THE NEWEST AND COOLEST…

DO NOT GO THERE -‐ AGAIN

BECAUSE…

…IT IS ALL BULLSHIT WE TELL OURSELVES

A LOT OF THE STRESS WE FEEL IS HOME-‐MADE. WE DRAG ONE ANOTHER DOWN.

WE TURNED ENGINEERING INTO A RELIGION -‐ WITH ALL THE DOGMA AND HOLY WARS THAT COMES WITH.

WE EXPECT EVERYBODY TO GET PURE HAPPINESS FROM CODING…

https://twitter.com/sarahmei/status/597276242887348224

WORKING AT A PACE NO HUMAN SHOULD WORK IN…

WHILST BELIEVING THAT TECHNICAL INNOVATION WILL MAKE A BETTER WORLD FOR HUMANS…

Humans need not apply!

https://www.youtube.com/watch?v=7Pq-‐S557XQU

WE CELEBRATE OUR SOCIAL INEPTITUDE IN OUR HIRING AND TRAINING…

FIZZING WITH THE BUZZ…

http://c2.com/cgi/wiki?FizzBuzzTest

The "Fizz-‐Buzz test" is an interview question designed to help filter out the 99.5% of programming job candidates who can't seem to program their way out of a wet paper bag.

"Write a program that prints the numbers from 1 to 100. But for multiples of three print “Fizz” instead of the number and for the multiples of five print “Buzz”. For numbers which are multiples of both three and five print “FizzBuzz”."

FIZZING WITH THE BUZZ…

http://c2.com/cgi/wiki?FizzBuzzTest

The "Fizz-‐Buzz test" is an interview question designed to help filter out the 99.5% of programming job candidates who can't seem to program their way out of a wet paper bag.

"Write a program that prints the numbers from 1 to 100. But for multiples of three print “Fizz” instead of the number and for the multiples of five print “Buzz”. For numbers which are multiples of both three and five print “FizzBuzz”."

THE HAMMERS WE WIELD…

https://twitter.com/estellevw/status/645266254459088897http://codepen.io/estelle/pen/wKWwey

WE COMPLAIN ABOUT A LACK OF DIVERSITY AND INVITING ENVIRONMENTS…

…AND RUN HACKDAYS TO SOLVE THAT PROBLEM!

WE TEACH WORKING FOR A HI-‐FIDELITY MEDIUM USING HYPOTHETICAL EXAMPLES…

AND HAVE AN OVERWHELMING AMOUNT OF RESOURCES WITH DISAGREEING ADVICE.

https://medium.com/@_cmdv_/i-‐want-‐to-‐learn-‐javascript-‐in-‐2015-‐e96cd85ad225

THERE ARE SO MUCH BETTER WAYS AT OUR DISPOSAL…

http://worrydream.com/#!/LearnableProgramming

Brett Victor: Learnable Programming (﴾2012)﴿

SO CELEBRATE THE CHOICES YOU HAVE AND FIND YOUR WAY OF LEARNING WHAT MAKES A DIFFERENCE TO YOU!

TRUST IN YOUR ABILITY TO LEARN!

NOT EVERYTHING IS DOOM AND GLOOM AND US RUNNING OUT OF TIME…

WHAT WE’RE EXPERIENCING IS GROWING PAINS…

WE’RE FEELING THREATENED BY NATURAL EVOLUTION AND CHANGE.

YES, THE WEB AND OUR TECHNOLOGIES NEED TO EVOLVE AND CATCH UP WITH NEW DEMANDS…

BUT THIS DOESN’T MEAN WE ALL NEED TO TOSS AWAY ALL WE HAVE ACHIEVED AND DEMANDED…

LET’S GO BACK TO WHEN I STARTED AS A WEB DEVELOPER.

I REMEMBER WHEN THIS WAS ALL FIELDS…

I REMEMBER WHEN THIS WAS ALL FIELDS…

THEN HTML5 HAPPENED…

• required attribute • new field types: date,

color, tel, number…

THEN HTML5 HAPPENED…

• required attribute • new field types: date,

color, tel, number…

don’t call me!

HOW EXCELLENT IS THIS?

✓ Form validation ✓ Pattern definitions ✓ Automatic filling by

browsers ✓ Hi-‐Fi interaction

SOLVING A FEW SMALL SCREEN INTERACTION SPECIFIC ISSUES…

SELECTING A VALUE FROM A MASSIVE LIST IS NOT FUN…

YOU CAN, HOWEVER, TYPE AND KIND OF AUTOCOMPLETE…

IN HTML5, WE GOT A DATALIST FOR THAT…

BY UNDERSTANDING HTML5 PARSING, WE CAN HAVE BOTH…

https://adactio.com/journal/4272

HTML5 BROWSERS GET THE DATALIST FUNCTIONALITY…

OLDER BROWSERS GET A SENSIBLE INTERFACE…

ALL THIS IS POSSIBLE BECAUSE OF THE FAULT TOLERANT NATURE OF HTML (﴾AND CSS)﴿

on('error', () => { shrug(); line.next(); });

WE DEMANDED THIS NOT TO GO AWAY!

AND YET, WE FORFEIT THIS FEATURE EVERY SINGLE DAY…

…AND CELEBRATE SOLUTIONS THAT ARE PRETTY MUCH UNRELIABLE.

WHY DO WE DO THIS?

THE ANSWER IS SIMPLE:

WE FEEL THAT WE NEED TO BE IN CONTROL.

WITH JAVASCRIPT, WE ARE IN CONTROL AND WE CAN FIX ALMOST ANYTHING.

=

THE PROBLEM IS THAT US IN CONTROL ALSO MEANS US RESPONSIBLE FOR THE OUTCOME…

WE FORFEIT ALL THE BEAUTIFUL AND IMPORTANT THINGS BROWSERS ALREADY DO FOR US…

FOR THE SAKE OF DEVELOPER CONVENIENCE AND A PERCEIVED CHANCE OF CONTROL.

I’M NOT SAYING NOT TO USE JAVASCRIPT -‐ FAR FROM IT.

BUT I BEG OF YOU TO CONSIDER WHAT YOU DO AND STOP RELYING ON MAGICAL SOLUTIONS.

THERE ARE A FEW REASONS FOR THAT:

• The web is a mess. The average web page creeps up to 2MB with hundreds of dependencies.

• Outdated frameworks and helper libraries hinder browser interoperability. The quick fix of today is the part of the landfill of tomorrow.

• By trying to control the web we created parallel solutions for desktop and mobile -‐ each of which disappointing.

CHECK WHAT YOU BUILT AND FIX IT FORWARD…

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

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

THE WEB IS WORLD-‐WIDE AND WE’RE GETTING FRUSTRATED FOR NOT DELIVERING WHAT THE VALLEY WANTS…

THE HYPE IS MOVING AWAY FROM THE WEB TOWARDS MORE CONTROLLED ENVIRONMENTS.

THE WEB CAN’T COMPETE AS IT IS

AGAINST ITS NATURE.

THE NEXT USERS ARE NOT THOSE WHO COMPLAIN THE WEB IS NOT AS GOOD AS NATIVE APPS…

https://vimeo.com/139312920

https://brucelawson.github.io/talks/2015/velocity

Bruce Lawson at SOTB 2015

PROXY BROWSERS ARE A BIG THING THERE…

https://vimeo.com/130296585https://speakerdeck.com/tkadlec/better-‐by-‐proxy-‐at-‐mobilism-‐2015

Tim Kadlec: Better by Proxy

WE’RE ADDICTED TO MAKING THINGS GENERIC…

http://josdejong.com/blog/2015/01/06/code-reuse/

RELEASING OPEN SOURCE SOLUTIONS IS NOT RELEASING FREE CODE AND HOPING PEOPLE FIX AND MAINTAIN FOR YOU…

The toxic side of free by Remy Sharp (﴾@rem)﴿

https://remysharp.com/2015/09/14/jsbin-toxic-part-1

OPEN SOURCE IS FREE -‐ AS IN PUPPY!

THE WEB IS A GIFT TO US ALL, AND YOU CAN CONTRIBUTE IN MANY WAYS. ALL OF US PLAYING ON THE BLEEDING EDGE IS MISSING THE POINT.

BE ALONG FOR THE RIDE…

SOMETIMES NOT CONTROLLING THINGS IS WHEN THE FUN STARTS…

We all have different desires and needs, but if we don’t discover what we want from ourselves and what we stand for, we will live passively and unfulfilled.

– Bill Watterson

SO BE ACTIVE!

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

✓ Start helping people who are not up to date. 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.

THANK YOU!CHRIS HEILMANN

@CODEPO8