SlideShare a Scribd company logo
1 of 58
Download to read offline
THE IMAGE PROBLEM OF THE WEB
AND HOW TO SOLVE IT…
CHRIS HEILMANN (@CODEPO8), JFOKUS,
STOCKHOLM, FEBRUARY 2016 https://www.flickr.com/photos/69135870@N00/4465772463
( ⨉ 1) > ($WORD ⨉ 1000)
🖼
THE PROBLEM IS,
THAT WE’VE
BECOME PICTURE
MAD ON THE WEB… 📸
Type Size (kB)
Images 1426
Scripts 357
Video 174
Fonts 123
Stylesheets 76
HTML 67
Other 4
Total 2232 kB
THE AVERAGE WEB SITE…
http://www.httparchive.org/interesting.php#bytesperpage
INSPIRATIONAL OBESITY…
WHY DID THIS
HAPPEN?
⁉
MOBILE, TABLETS
GREAT HARDWARE
AND FAST
CONNECTIONS… 🚤
MAINTENANCE…
⛏
1426 KB OF
IMAGES…
• Wrong file formats
• Delivering scaled hi-res
images to everybody
• No automatic conversion and
optimisation steps
• Hero image instead of text
content
WE NEED TO WORK ON THIS RIGHT NOW…
THE WEB WORLD IS MUCH BIGGER THAN
OUR ENVIRONMENT AND GROWTH
HAPPENS OUTSIDE IT…
SURGICAL SOLUTIONS:
PROXY BROWSERS AND CLOUD SERVICES
https://www.flickr.com/photos/89306448@N00/334479803 {Guerrilla Futures | Jason Tester}
HERE ARE SOME THINGS YOU CAN DO…
THE PROBLEMS:
• Huge images for everybody
• Unoptimised images
• No alternative content
• No training or incentive to
add content in CMS
OUR ARSENAL:
• Better browsers with
responsive image support
• Automated, loss-less image
optimisation tools
• File level access to images to
extract metadata
• Scripting solutions to offer
alternative content
• Cloud services with machine
learning APIs for intelligent
resizing
• Machine learning for tagging
BETTER BROWSERS WITH
RESPONSIVE IMAGE SUPPORT
MEDIA QUERIES LOAD
EVERYTHING 😦
https://www.christianheilmann.com/2012/12/19/
conditional-loading-of-resources-with-
mediaqueries/
BROWSERS CHANGED A LOT.
EVERGREEN, CAPABLE AND OPEN!
THIS IS A GREAT TIME TO CHANGE OUR WAYS!
PICTURE ELEMENT
AND SRCSET…
🖼
HOORAY FOR SUPPORT!
IN DEPTH INFO…
https://jakearchibald.com/2015/anatomy-of-
responsive-images/
LIVE DEMO…
https://dev.windows.com/en-us/microsoft-edge/
testdrive/demos/picture/
HOORAY WORDPRESS!
https://www.smashingmagazine.com/2015/12/
responsive-images-in-wordpress-core/
AUTOMATED TOOLS FOR
LOSSLESS IMAGE OPTIMISATION
IMAGEOPTIM… https://imageoptim.com/
PNGOUT, Zopfli, Pngcrush, AdvPNG, extended OptiPNG, JpegOptim, MozJPEG
( jpegtran & jpegrescan), Gifsicle.
FILE LEVEL ACCESS ON IMAGES TO
EXTRACT METADATA
EXIF - THE HIDDEN GEMS
http://code.flickr.net/2012/06/01/parsing-
exif-client-side-using-javascript-2/
EXIF - THE HIDDEN GEMS
http://code.flickr.net/2012/06/01/parsing-
exif-client-side-using-javascript-2/
EXIF - THE HIDDEN GEMS
http://code.flickr.net/2012/06/01/parsing-
exif-client-side-using-javascript-2/
REMOVING EXIF DATA… http://removephotodata.com/
WHERE? http://removephotodata.com/image-to-map.html
SCRIPTING SOLUTIONS FOR
FALLBACK CONTENT
http://www.datapointed.net/2010/01/crayola-crayon-color-chart/
BLUR-UP TECHNIQUE
AND LAZY LOADING…
https://css-tricks.com/the-blur-up-
technique-for-loading-background-images/
COUNTING PIXELS… https://codepo8.github.io/canvas-images-and-pixels/
http://colorify.rocks/index.html
COUNTING PIXELS… https://codepo8.github.io/canvas-images-and-pixels/
COLORIFY.JS http://colorify.rocks
COLOR THIEF
https://github.com/jwagner/smartcrop.js/
http://lokeshdhakar.com/projects/color-thief/
SCRIPTING SOLUTIONS FOR
ALTERNATIVE CONTENT
INTELLIGENT IMAGE RESIZING
BY HAND OR WITH CLOUD SERVICES
SMARTCROP.JS https://github.com/jwagner/smartcrop.js/
INTELLIGENT RESIZING
http://cloudinary.com/blog/
automatically_art_directed_responsive_images
INTELLIGENT RESIZING
http://cloudinary.com/blog/
automatically_art_directed_responsive_images
HIGH CONTRAST TRICKS
https://blog.imgix.com/2015/10/21/automatic-
point-of-interest-cropping-with-imgix.html
PROJECT OXFORD https://www.projectoxford.ai
AUTOMATED TAGGING
USING MACHINE LEARNING CLOUD SERVICES
FEATURE ANALYSIS https://www.projectoxford.ai
FACIAL DETECTION AND RECOGNITION…
EMOTION RECOGNITION…
BONUS ROUND
DEMOS USING THESE SERVICES…
http://how-old.net/
http://mymoustache.net/
TWINS OR NOT? https://www.twinsornot.net
IT IS UP TO YOU TO KEEP THE WEB
EXCITING AND USABLE FOR THE NEXT
GENERATION OF USERS.
AND IT IS NOT ABOUT WHO IS THE
PRETTIEST…
IT IS ABOUT WHO PERFORMS BEST, IS
MOST ACCESSIBLE AND IS USABLE BY
ALL KIND OF PEOPLE - NOT THE ONES
WHO ARE ALREADY BORED OF IT…
THANK YOU!
CHRIS HEILMANN @CODEPO8

More Related Content

What's hot

The ES6 Conundrum - All Things Open 2015
The ES6 Conundrum - All Things Open 2015The ES6 Conundrum - All Things Open 2015
The ES6 Conundrum - All Things Open 2015Christian Heilmann
 
Can we make es6 the baseline of the “modern web”? - BrazilJS 2105
Can we make es6 the baseline of the “modern web”? - BrazilJS 2105 Can we make es6 the baseline of the “modern web”? - BrazilJS 2105
Can we make es6 the baseline of the “modern web”? - BrazilJS 2105 Christian Heilmann
 
Firefox OS - HTML5 for a truly world-wide-web
Firefox OS - HTML5 for a truly world-wide-webFirefox OS - HTML5 for a truly world-wide-web
Firefox OS - HTML5 for a truly world-wide-webChristian Heilmann
 
Turning huge ships - Open Source and Microsoft
Turning huge ships - Open Source and MicrosoftTurning huge ships - Open Source and Microsoft
Turning huge ships - Open Source and MicrosoftChristian Heilmann
 
Why the heck isnt word press a cms
Why the heck isnt word press a cmsWhy the heck isnt word press a cms
Why the heck isnt word press a cmsJohn Eckman
 
Innovating the other web - #wrocsharp keynote
Innovating the other web - #wrocsharp keynote Innovating the other web - #wrocsharp keynote
Innovating the other web - #wrocsharp keynote Christian Heilmann
 
A New Hope – the web strikes back
A New Hope – the web strikes backA New Hope – the web strikes back
A New Hope – the web strikes backChristian Heilmann
 
The Progressive Web and its New Challenges - Confoo Montréal 2017
The Progressive Web and its New Challenges - Confoo Montréal 2017The Progressive Web and its New Challenges - Confoo Montréal 2017
The Progressive Web and its New Challenges - Confoo Montréal 2017Christian Heilmann
 
We're on a Mission: WordPress for Non-Profits
We're on a Mission: WordPress for Non-ProfitsWe're on a Mission: WordPress for Non-Profits
We're on a Mission: WordPress for Non-ProfitsJohn Eckman
 
Leveling up your JavaScipt - DrupalJam 2017
Leveling up your JavaScipt - DrupalJam 2017Leveling up your JavaScipt - DrupalJam 2017
Leveling up your JavaScipt - DrupalJam 2017Christian Heilmann
 
Making ES6 available to all with ChakraCore
Making ES6 available to all with ChakraCoreMaking ES6 available to all with ChakraCore
Making ES6 available to all with ChakraCoreChristian Heilmann
 
Breaking out of the Tetris mind set #btconf
Breaking out of the Tetris mind set #btconfBreaking out of the Tetris mind set #btconf
Breaking out of the Tetris mind set #btconfChristian Heilmann
 
Progressive Web Apps - Goto Chicago 2017
Progressive Web Apps - Goto Chicago 2017Progressive Web Apps - Goto Chicago 2017
Progressive Web Apps - Goto Chicago 2017Christian Heilmann
 
Advancing JavaScript without breaking the web - MunichJS
Advancing JavaScript without breaking the web - MunichJSAdvancing JavaScript without breaking the web - MunichJS
Advancing JavaScript without breaking the web - MunichJSChristian Heilmann
 
The Drop and The Word: Structured Content in WordPress and Drupal
The Drop and The Word: Structured Content in WordPress and DrupalThe Drop and The Word: Structured Content in WordPress and Drupal
The Drop and The Word: Structured Content in WordPress and DrupalJohn Eckman
 
The Soul in The Machine - Developing for Humans (FrankenJS edition)
The Soul in The Machine - Developing for Humans (FrankenJS edition)The Soul in The Machine - Developing for Humans (FrankenJS edition)
The Soul in The Machine - Developing for Humans (FrankenJS edition)Christian Heilmann
 
What's next? J and beyond keynote 2015
What's next? J and beyond keynote 2015What's next? J and beyond keynote 2015
What's next? J and beyond keynote 2015Christian Heilmann
 
NodeConfLondon - Making ES6 happen with ChakraCore and Node
NodeConfLondon - Making ES6 happen with ChakraCore and NodeNodeConfLondon - Making ES6 happen with ChakraCore and Node
NodeConfLondon - Making ES6 happen with ChakraCore and NodeChristian Heilmann
 
Truly Responsive Design Means Aligning to Business and User Goals
Truly Responsive Design Means Aligning to Business and User GoalsTruly Responsive Design Means Aligning to Business and User Goals
Truly Responsive Design Means Aligning to Business and User GoalsJohn Eckman
 

What's hot (20)

The ES6 Conundrum - All Things Open 2015
The ES6 Conundrum - All Things Open 2015The ES6 Conundrum - All Things Open 2015
The ES6 Conundrum - All Things Open 2015
 
Fixing web and JS gaps
Fixing web and JS gapsFixing web and JS gaps
Fixing web and JS gaps
 
Can we make es6 the baseline of the “modern web”? - BrazilJS 2105
Can we make es6 the baseline of the “modern web”? - BrazilJS 2105 Can we make es6 the baseline of the “modern web”? - BrazilJS 2105
Can we make es6 the baseline of the “modern web”? - BrazilJS 2105
 
Firefox OS - HTML5 for a truly world-wide-web
Firefox OS - HTML5 for a truly world-wide-webFirefox OS - HTML5 for a truly world-wide-web
Firefox OS - HTML5 for a truly world-wide-web
 
Turning huge ships - Open Source and Microsoft
Turning huge ships - Open Source and MicrosoftTurning huge ships - Open Source and Microsoft
Turning huge ships - Open Source and Microsoft
 
Why the heck isnt word press a cms
Why the heck isnt word press a cmsWhy the heck isnt word press a cms
Why the heck isnt word press a cms
 
Innovating the other web - #wrocsharp keynote
Innovating the other web - #wrocsharp keynote Innovating the other web - #wrocsharp keynote
Innovating the other web - #wrocsharp keynote
 
A New Hope – the web strikes back
A New Hope – the web strikes backA New Hope – the web strikes back
A New Hope – the web strikes back
 
The Progressive Web and its New Challenges - Confoo Montréal 2017
The Progressive Web and its New Challenges - Confoo Montréal 2017The Progressive Web and its New Challenges - Confoo Montréal 2017
The Progressive Web and its New Challenges - Confoo Montréal 2017
 
We're on a Mission: WordPress for Non-Profits
We're on a Mission: WordPress for Non-ProfitsWe're on a Mission: WordPress for Non-Profits
We're on a Mission: WordPress for Non-Profits
 
Leveling up your JavaScipt - DrupalJam 2017
Leveling up your JavaScipt - DrupalJam 2017Leveling up your JavaScipt - DrupalJam 2017
Leveling up your JavaScipt - DrupalJam 2017
 
Making ES6 available to all with ChakraCore
Making ES6 available to all with ChakraCoreMaking ES6 available to all with ChakraCore
Making ES6 available to all with ChakraCore
 
Breaking out of the Tetris mind set #btconf
Breaking out of the Tetris mind set #btconfBreaking out of the Tetris mind set #btconf
Breaking out of the Tetris mind set #btconf
 
Progressive Web Apps - Goto Chicago 2017
Progressive Web Apps - Goto Chicago 2017Progressive Web Apps - Goto Chicago 2017
Progressive Web Apps - Goto Chicago 2017
 
Advancing JavaScript without breaking the web - MunichJS
Advancing JavaScript without breaking the web - MunichJSAdvancing JavaScript without breaking the web - MunichJS
Advancing JavaScript without breaking the web - MunichJS
 
The Drop and The Word: Structured Content in WordPress and Drupal
The Drop and The Word: Structured Content in WordPress and DrupalThe Drop and The Word: Structured Content in WordPress and Drupal
The Drop and The Word: Structured Content in WordPress and Drupal
 
The Soul in The Machine - Developing for Humans (FrankenJS edition)
The Soul in The Machine - Developing for Humans (FrankenJS edition)The Soul in The Machine - Developing for Humans (FrankenJS edition)
The Soul in The Machine - Developing for Humans (FrankenJS edition)
 
What's next? J and beyond keynote 2015
What's next? J and beyond keynote 2015What's next? J and beyond keynote 2015
What's next? J and beyond keynote 2015
 
NodeConfLondon - Making ES6 happen with ChakraCore and Node
NodeConfLondon - Making ES6 happen with ChakraCore and NodeNodeConfLondon - Making ES6 happen with ChakraCore and Node
NodeConfLondon - Making ES6 happen with ChakraCore and Node
 
Truly Responsive Design Means Aligning to Business and User Goals
Truly Responsive Design Means Aligning to Business and User GoalsTruly Responsive Design Means Aligning to Business and User Goals
Truly Responsive Design Means Aligning to Business and User Goals
 

Viewers also liked

Viewers also liked (6)

Image processing tips
Image processing tipsImage processing tips
Image processing tips
 
High Performance Images: Beautiful Shouldn't Mean Slow
High Performance Images: Beautiful Shouldn't Mean SlowHigh Performance Images: Beautiful Shouldn't Mean Slow
High Performance Images: Beautiful Shouldn't Mean Slow
 
Data compression
Data compressionData compression
Data compression
 
Problem solving & decision making at the workplace
Problem solving & decision making at the workplaceProblem solving & decision making at the workplace
Problem solving & decision making at the workplace
 
Problem Solving and Decision Making
Problem Solving and Decision MakingProblem Solving and Decision Making
Problem Solving and Decision Making
 
Problem solving& Decision Making
Problem solving& Decision MakingProblem solving& Decision Making
Problem solving& Decision Making
 

Similar to The image problem of the web and how to solve it…

Edi ux fastandbeautiful
Edi ux fastandbeautifulEdi ux fastandbeautiful
Edi ux fastandbeautifulDoug Sillars
 
Practical Responsive Images : from Breaking Borders
Practical Responsive Images : from Breaking BordersPractical Responsive Images : from Breaking Borders
Practical Responsive Images : from Breaking BordersBen Seymour
 
Getting Intimate with Images on Android with James Halpern
Getting Intimate with Images on Android with James HalpernGetting Intimate with Images on Android with James Halpern
Getting Intimate with Images on Android with James HalpernFITC
 
Are Today’s Good Practices… Tomorrow’s Performance Anti-Patterns?
Are Today’s Good Practices… Tomorrow’s Performance Anti-Patterns?Are Today’s Good Practices… Tomorrow’s Performance Anti-Patterns?
Are Today’s Good Practices… Tomorrow’s Performance Anti-Patterns?Andy Davies
 
Imagesandvideo stockholm fastandbeautiful
Imagesandvideo stockholm fastandbeautifulImagesandvideo stockholm fastandbeautiful
Imagesandvideo stockholm fastandbeautifulDoug Sillars
 
Python + NoSQL in Animations
Python + NoSQL in AnimationsPython + NoSQL in Animations
Python + NoSQL in AnimationsShuen-Huei Guan
 
Its timetostopstalling limerick
Its timetostopstalling limerickIts timetostopstalling limerick
Its timetostopstalling limerickDoug Sillars
 
Mobile App Performance, Dublin MOT
Mobile App Performance, Dublin MOTMobile App Performance, Dublin MOT
Mobile App Performance, Dublin MOTDoug Sillars
 
Machine Learning & Data Science come to DAM
Machine Learning & Data Science come to DAMMachine Learning & Data Science come to DAM
Machine Learning & Data Science come to DAMElliot Sedegah
 
Its timetostopstalling londroid
Its timetostopstalling londroidIts timetostopstalling londroid
Its timetostopstalling londroidDoug Sillars
 
Bordeaux js fastandbeautiful
Bordeaux js fastandbeautifulBordeaux js fastandbeautiful
Bordeaux js fastandbeautifulDoug Sillars
 
Its Time To Stop Stalling: Mobile App and Video Performance
Its Time To Stop Stalling: Mobile App and Video PerformanceIts Time To Stop Stalling: Mobile App and Video Performance
Its Time To Stop Stalling: Mobile App and Video PerformanceDoug Sillars
 
Imagesandvideo stockholm webmeetup
Imagesandvideo stockholm webmeetupImagesandvideo stockholm webmeetup
Imagesandvideo stockholm webmeetupDoug Sillars
 
Ux connect london_fastandbeautiful
Ux connect london_fastandbeautifulUx connect london_fastandbeautiful
Ux connect london_fastandbeautifulDoug Sillars
 
Notts js fastandbeautiful
Notts js fastandbeautifulNotts js fastandbeautiful
Notts js fastandbeautifulDoug Sillars
 
Mobile era fastandbeautiful
Mobile era fastandbeautifulMobile era fastandbeautiful
Mobile era fastandbeautifulDoug Sillars
 
Fastandbeautiful seattlevue
Fastandbeautiful seattlevueFastandbeautiful seattlevue
Fastandbeautiful seattlevueDoug Sillars
 
Devoxx be fast and beautiful images
Devoxx be fast and beautiful imagesDevoxx be fast and beautiful images
Devoxx be fast and beautiful imagesDoug Sillars
 
Hacking Web Performance @ ForwardJS 2017
Hacking Web Performance @ ForwardJS 2017Hacking Web Performance @ ForwardJS 2017
Hacking Web Performance @ ForwardJS 2017Maximiliano Firtman
 

Similar to The image problem of the web and how to solve it… (20)

Edi ux fastandbeautiful
Edi ux fastandbeautifulEdi ux fastandbeautiful
Edi ux fastandbeautiful
 
Practical Responsive Images : from Breaking Borders
Practical Responsive Images : from Breaking BordersPractical Responsive Images : from Breaking Borders
Practical Responsive Images : from Breaking Borders
 
Getting Intimate with Images on Android with James Halpern
Getting Intimate with Images on Android with James HalpernGetting Intimate with Images on Android with James Halpern
Getting Intimate with Images on Android with James Halpern
 
Are Today’s Good Practices… Tomorrow’s Performance Anti-Patterns?
Are Today’s Good Practices… Tomorrow’s Performance Anti-Patterns?Are Today’s Good Practices… Tomorrow’s Performance Anti-Patterns?
Are Today’s Good Practices… Tomorrow’s Performance Anti-Patterns?
 
Imagesandvideo stockholm fastandbeautiful
Imagesandvideo stockholm fastandbeautifulImagesandvideo stockholm fastandbeautiful
Imagesandvideo stockholm fastandbeautiful
 
Python + NoSQL in Animations
Python + NoSQL in AnimationsPython + NoSQL in Animations
Python + NoSQL in Animations
 
Its timetostopstalling limerick
Its timetostopstalling limerickIts timetostopstalling limerick
Its timetostopstalling limerick
 
Mobile App Performance, Dublin MOT
Mobile App Performance, Dublin MOTMobile App Performance, Dublin MOT
Mobile App Performance, Dublin MOT
 
Hackference
HackferenceHackference
Hackference
 
Machine Learning & Data Science come to DAM
Machine Learning & Data Science come to DAMMachine Learning & Data Science come to DAM
Machine Learning & Data Science come to DAM
 
Its timetostopstalling londroid
Its timetostopstalling londroidIts timetostopstalling londroid
Its timetostopstalling londroid
 
Bordeaux js fastandbeautiful
Bordeaux js fastandbeautifulBordeaux js fastandbeautiful
Bordeaux js fastandbeautiful
 
Its Time To Stop Stalling: Mobile App and Video Performance
Its Time To Stop Stalling: Mobile App and Video PerformanceIts Time To Stop Stalling: Mobile App and Video Performance
Its Time To Stop Stalling: Mobile App and Video Performance
 
Imagesandvideo stockholm webmeetup
Imagesandvideo stockholm webmeetupImagesandvideo stockholm webmeetup
Imagesandvideo stockholm webmeetup
 
Ux connect london_fastandbeautiful
Ux connect london_fastandbeautifulUx connect london_fastandbeautiful
Ux connect london_fastandbeautiful
 
Notts js fastandbeautiful
Notts js fastandbeautifulNotts js fastandbeautiful
Notts js fastandbeautiful
 
Mobile era fastandbeautiful
Mobile era fastandbeautifulMobile era fastandbeautiful
Mobile era fastandbeautiful
 
Fastandbeautiful seattlevue
Fastandbeautiful seattlevueFastandbeautiful seattlevue
Fastandbeautiful seattlevue
 
Devoxx be fast and beautiful images
Devoxx be fast and beautiful imagesDevoxx be fast and beautiful images
Devoxx be fast and beautiful images
 
Hacking Web Performance @ ForwardJS 2017
Hacking Web Performance @ ForwardJS 2017Hacking Web Performance @ ForwardJS 2017
Hacking Web Performance @ ForwardJS 2017
 

More from Christian Heilmann

Develop, Debug, Learn? - Dotjs2019
Develop, Debug, Learn? - Dotjs2019Develop, Debug, Learn? - Dotjs2019
Develop, Debug, Learn? - Dotjs2019Christian Heilmann
 
Taking the "vile" out of privilege
Taking the "vile" out of privilegeTaking the "vile" out of privilege
Taking the "vile" out of privilegeChristian Heilmann
 
Seven ways to be a happier JavaScript developer - NDC Oslo
Seven ways to be a happier JavaScript developer - NDC OsloSeven ways to be a happier JavaScript developer - NDC Oslo
Seven ways to be a happier JavaScript developer - NDC OsloChristian Heilmann
 
Artificial intelligence for humans… #AIDC2018 keynote
Artificial intelligence for humans… #AIDC2018 keynoteArtificial intelligence for humans… #AIDC2018 keynote
Artificial intelligence for humans… #AIDC2018 keynoteChristian Heilmann
 
Killing the golden calf of coding - We are Developers keynote
Killing the golden calf of coding - We are Developers keynoteKilling the golden calf of coding - We are Developers keynote
Killing the golden calf of coding - We are Developers keynoteChristian Heilmann
 
Progressive Web Apps - Techdays Finland
Progressive Web Apps - Techdays FinlandProgressive Web Apps - Techdays Finland
Progressive Web Apps - Techdays FinlandChristian Heilmann
 
Taking the "vile" out of privilege
Taking the "vile" out of privilegeTaking the "vile" out of privilege
Taking the "vile" out of privilegeChristian Heilmann
 
Five ways to be a happier JavaScript developer
Five ways to be a happier JavaScript developerFive ways to be a happier JavaScript developer
Five ways to be a happier JavaScript developerChristian Heilmann
 
Sacrificing the golden calf of "coding"
Sacrificing the golden calf of "coding"Sacrificing the golden calf of "coding"
Sacrificing the golden calf of "coding"Christian Heilmann
 
You learned JavaScript - now what?
You learned JavaScript - now what?You learned JavaScript - now what?
You learned JavaScript - now what?Christian Heilmann
 
Sacrificing the golden calf of "coding"
Sacrificing the golden calf of "coding"Sacrificing the golden calf of "coding"
Sacrificing the golden calf of "coding"Christian Heilmann
 
Progressive Web Apps - Covering the best of both worlds - DevReach
Progressive Web Apps - Covering the best of both worlds - DevReachProgressive Web Apps - Covering the best of both worlds - DevReach
Progressive Web Apps - Covering the best of both worlds - DevReachChristian Heilmann
 
Progressive Web Apps - Covering the best of both worlds
Progressive Web Apps - Covering the best of both worldsProgressive Web Apps - Covering the best of both worlds
Progressive Web Apps - Covering the best of both worldsChristian Heilmann
 
Non-trivial pursuits: Learning machines and forgetful humans
Non-trivial pursuits: Learning machines and forgetful humansNon-trivial pursuits: Learning machines and forgetful humans
Non-trivial pursuits: Learning machines and forgetful humansChristian Heilmann
 
Progressive Web Apps - Bringing the web front and center
Progressive Web Apps - Bringing the web front and center Progressive Web Apps - Bringing the web front and center
Progressive Web Apps - Bringing the web front and center Christian Heilmann
 
CSS vs. JavaScript - Trust vs. Control
CSS vs. JavaScript - Trust vs. ControlCSS vs. JavaScript - Trust vs. Control
CSS vs. JavaScript - Trust vs. ControlChristian Heilmann
 
The Soul in The Machine - Developing for Humans
The Soul in The Machine - Developing for HumansThe Soul in The Machine - Developing for Humans
The Soul in The Machine - Developing for HumansChristian Heilmann
 

More from Christian Heilmann (20)

Develop, Debug, Learn? - Dotjs2019
Develop, Debug, Learn? - Dotjs2019Develop, Debug, Learn? - Dotjs2019
Develop, Debug, Learn? - Dotjs2019
 
Hinting at a better web
Hinting at a better webHinting at a better web
Hinting at a better web
 
Taking the "vile" out of privilege
Taking the "vile" out of privilegeTaking the "vile" out of privilege
Taking the "vile" out of privilege
 
Seven ways to be a happier JavaScript developer - NDC Oslo
Seven ways to be a happier JavaScript developer - NDC OsloSeven ways to be a happier JavaScript developer - NDC Oslo
Seven ways to be a happier JavaScript developer - NDC Oslo
 
Artificial intelligence for humans… #AIDC2018 keynote
Artificial intelligence for humans… #AIDC2018 keynoteArtificial intelligence for humans… #AIDC2018 keynote
Artificial intelligence for humans… #AIDC2018 keynote
 
Killing the golden calf of coding - We are Developers keynote
Killing the golden calf of coding - We are Developers keynoteKilling the golden calf of coding - We are Developers keynote
Killing the golden calf of coding - We are Developers keynote
 
Progressive Web Apps - Techdays Finland
Progressive Web Apps - Techdays FinlandProgressive Web Apps - Techdays Finland
Progressive Web Apps - Techdays Finland
 
Taking the "vile" out of privilege
Taking the "vile" out of privilegeTaking the "vile" out of privilege
Taking the "vile" out of privilege
 
Five ways to be a happier JavaScript developer
Five ways to be a happier JavaScript developerFive ways to be a happier JavaScript developer
Five ways to be a happier JavaScript developer
 
Taking the P out of PWA
Taking the P out of PWATaking the P out of PWA
Taking the P out of PWA
 
Sacrificing the golden calf of "coding"
Sacrificing the golden calf of "coding"Sacrificing the golden calf of "coding"
Sacrificing the golden calf of "coding"
 
You learned JavaScript - now what?
You learned JavaScript - now what?You learned JavaScript - now what?
You learned JavaScript - now what?
 
Sacrificing the golden calf of "coding"
Sacrificing the golden calf of "coding"Sacrificing the golden calf of "coding"
Sacrificing the golden calf of "coding"
 
Progressive Web Apps - Covering the best of both worlds - DevReach
Progressive Web Apps - Covering the best of both worlds - DevReachProgressive Web Apps - Covering the best of both worlds - DevReach
Progressive Web Apps - Covering the best of both worlds - DevReach
 
Progressive Web Apps - Covering the best of both worlds
Progressive Web Apps - Covering the best of both worldsProgressive Web Apps - Covering the best of both worlds
Progressive Web Apps - Covering the best of both worlds
 
Non-trivial pursuits: Learning machines and forgetful humans
Non-trivial pursuits: Learning machines and forgetful humansNon-trivial pursuits: Learning machines and forgetful humans
Non-trivial pursuits: Learning machines and forgetful humans
 
Progressive Web Apps - Bringing the web front and center
Progressive Web Apps - Bringing the web front and center Progressive Web Apps - Bringing the web front and center
Progressive Web Apps - Bringing the web front and center
 
CSS vs. JavaScript - Trust vs. Control
CSS vs. JavaScript - Trust vs. ControlCSS vs. JavaScript - Trust vs. Control
CSS vs. JavaScript - Trust vs. Control
 
Supercharging Public Speaking
Supercharging Public SpeakingSupercharging Public Speaking
Supercharging Public Speaking
 
The Soul in The Machine - Developing for Humans
The Soul in The Machine - Developing for HumansThe Soul in The Machine - Developing for Humans
The Soul in The Machine - Developing for Humans
 

Recently uploaded

What Could Be Causing My Jaguar XF To Lose Coolant
What Could Be Causing My Jaguar XF To Lose CoolantWhat Could Be Causing My Jaguar XF To Lose Coolant
What Could Be Causing My Jaguar XF To Lose CoolantEMC- European Motor Cars
 
办理克莱姆森大学毕业证成绩单|购买美国文凭证书
办理克莱姆森大学毕业证成绩单|购买美国文凭证书办理克莱姆森大学毕业证成绩单|购买美国文凭证书
办理克莱姆森大学毕业证成绩单|购买美国文凭证书zdzoqco
 
(毕业原版)曼尼托巴大学毕业证(曼大学位证)毕业证成绩单留信学历认证原版一比一
(毕业原版)曼尼托巴大学毕业证(曼大学位证)毕业证成绩单留信学历认证原版一比一(毕业原版)曼尼托巴大学毕业证(曼大学位证)毕业证成绩单留信学历认证原版一比一
(毕业原版)曼尼托巴大学毕业证(曼大学位证)毕业证成绩单留信学历认证原版一比一ffhuih11ff
 
(办理学位证)墨尔本大学毕业证(Unimelb毕业证书)成绩单留信学历认证原版一模一样
(办理学位证)墨尔本大学毕业证(Unimelb毕业证书)成绩单留信学历认证原版一模一样(办理学位证)墨尔本大学毕业证(Unimelb毕业证书)成绩单留信学历认证原版一模一样
(办理学位证)墨尔本大学毕业证(Unimelb毕业证书)成绩单留信学历认证原版一模一样whjjkkk
 
-The-Present-Simple-Tense.pdf english hh
-The-Present-Simple-Tense.pdf english hh-The-Present-Simple-Tense.pdf english hh
-The-Present-Simple-Tense.pdf english hhmhamadhawlery16
 
办理原版学位证(UofT毕业证)多伦多大学毕业证成绩单修改留信学历认证永久查询
办理原版学位证(UofT毕业证)多伦多大学毕业证成绩单修改留信学历认证永久查询办理原版学位证(UofT毕业证)多伦多大学毕业证成绩单修改留信学历认证永久查询
办理原版学位证(UofT毕业证)多伦多大学毕业证成绩单修改留信学历认证永久查询gejoij
 
Digamma / CertiCon Company Presentation
Digamma / CertiCon Company  PresentationDigamma / CertiCon Company  Presentation
Digamma / CertiCon Company PresentationMihajloManjak
 
定制(MSVU毕业证书)圣文森山大学毕业证毕业证成绩单原版一比一定制
定制(MSVU毕业证书)圣文森山大学毕业证毕业证成绩单原版一比一定制定制(MSVU毕业证书)圣文森山大学毕业证毕业证成绩单原版一比一定制
定制(MSVU毕业证书)圣文森山大学毕业证毕业证成绩单原版一比一定制miwhjk
 
248649330-Animatronics-Technical-Seminar-Report-by-Aswin-Sarang.pdf
248649330-Animatronics-Technical-Seminar-Report-by-Aswin-Sarang.pdf248649330-Animatronics-Technical-Seminar-Report-by-Aswin-Sarang.pdf
248649330-Animatronics-Technical-Seminar-Report-by-Aswin-Sarang.pdfkushkruthik555
 
Can't Roll Up Your Audi A4 Power Window Let's Uncover the Issue!
Can't Roll Up Your Audi A4 Power Window Let's Uncover the Issue!Can't Roll Up Your Audi A4 Power Window Let's Uncover the Issue!
Can't Roll Up Your Audi A4 Power Window Let's Uncover the Issue!Mint Automotive
 
2024 WRC Hyundai World Rally Team’s i20 N Rally1 Hybrid
2024 WRC Hyundai World Rally Team’s i20 N Rally1 Hybrid2024 WRC Hyundai World Rally Team’s i20 N Rally1 Hybrid
2024 WRC Hyundai World Rally Team’s i20 N Rally1 HybridHyundai Motor Group
 
如何办理(UCI毕业证书)加州大学欧文分校毕业证毕业证成绩单原版一比一
如何办理(UCI毕业证书)加州大学欧文分校毕业证毕业证成绩单原版一比一如何办理(UCI毕业证书)加州大学欧文分校毕业证毕业证成绩单原版一比一
如何办理(UCI毕业证书)加州大学欧文分校毕业证毕业证成绩单原版一比一fjjwgk
 
call girls in Jama Masjid (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Jama Masjid (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️call girls in Jama Masjid (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Jama Masjid (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
原版1:1定制中央昆士兰大学毕业证(CQU毕业证)#文凭成绩单#真实留信学历认证永久存档
原版1:1定制中央昆士兰大学毕业证(CQU毕业证)#文凭成绩单#真实留信学历认证永久存档原版1:1定制中央昆士兰大学毕业证(CQU毕业证)#文凭成绩单#真实留信学历认证永久存档
原版1:1定制中央昆士兰大学毕业证(CQU毕业证)#文凭成绩单#真实留信学历认证永久存档208367051
 
原版1:1复刻俄亥俄州立大学毕业证OSU毕业证留信学历认证
原版1:1复刻俄亥俄州立大学毕业证OSU毕业证留信学历认证原版1:1复刻俄亥俄州立大学毕业证OSU毕业证留信学历认证
原版1:1复刻俄亥俄州立大学毕业证OSU毕业证留信学历认证jdkhjh
 
原版1:1定制宾州州立大学毕业证(PSU毕业证)#文凭成绩单#真实留信学历认证永久存档
原版1:1定制宾州州立大学毕业证(PSU毕业证)#文凭成绩单#真实留信学历认证永久存档原版1:1定制宾州州立大学毕业证(PSU毕业证)#文凭成绩单#真实留信学历认证永久存档
原版1:1定制宾州州立大学毕业证(PSU毕业证)#文凭成绩单#真实留信学历认证永久存档208367051
 
原版1:1定制(IC大学毕业证)帝国理工学院大学毕业证国外文凭复刻成绩单#电子版制作#留信入库#多年经营绝对保证质量
原版1:1定制(IC大学毕业证)帝国理工学院大学毕业证国外文凭复刻成绩单#电子版制作#留信入库#多年经营绝对保证质量原版1:1定制(IC大学毕业证)帝国理工学院大学毕业证国外文凭复刻成绩单#电子版制作#留信入库#多年经营绝对保证质量
原版1:1定制(IC大学毕业证)帝国理工学院大学毕业证国外文凭复刻成绩单#电子版制作#留信入库#多年经营绝对保证质量208367051
 
Building a Future Where Everyone Can Ride and Drive Electric by Bridget Gilmore
Building a Future Where Everyone Can Ride and Drive Electric by Bridget GilmoreBuilding a Future Where Everyone Can Ride and Drive Electric by Bridget Gilmore
Building a Future Where Everyone Can Ride and Drive Electric by Bridget GilmoreForth
 
Digamma - CertiCon Team Skills and Qualifications
Digamma - CertiCon Team Skills and QualificationsDigamma - CertiCon Team Skills and Qualifications
Digamma - CertiCon Team Skills and QualificationsMihajloManjak
 

Recently uploaded (20)

What Could Be Causing My Jaguar XF To Lose Coolant
What Could Be Causing My Jaguar XF To Lose CoolantWhat Could Be Causing My Jaguar XF To Lose Coolant
What Could Be Causing My Jaguar XF To Lose Coolant
 
办理克莱姆森大学毕业证成绩单|购买美国文凭证书
办理克莱姆森大学毕业证成绩单|购买美国文凭证书办理克莱姆森大学毕业证成绩单|购买美国文凭证书
办理克莱姆森大学毕业证成绩单|购买美国文凭证书
 
(毕业原版)曼尼托巴大学毕业证(曼大学位证)毕业证成绩单留信学历认证原版一比一
(毕业原版)曼尼托巴大学毕业证(曼大学位证)毕业证成绩单留信学历认证原版一比一(毕业原版)曼尼托巴大学毕业证(曼大学位证)毕业证成绩单留信学历认证原版一比一
(毕业原版)曼尼托巴大学毕业证(曼大学位证)毕业证成绩单留信学历认证原版一比一
 
(办理学位证)墨尔本大学毕业证(Unimelb毕业证书)成绩单留信学历认证原版一模一样
(办理学位证)墨尔本大学毕业证(Unimelb毕业证书)成绩单留信学历认证原版一模一样(办理学位证)墨尔本大学毕业证(Unimelb毕业证书)成绩单留信学历认证原版一模一样
(办理学位证)墨尔本大学毕业证(Unimelb毕业证书)成绩单留信学历认证原版一模一样
 
-The-Present-Simple-Tense.pdf english hh
-The-Present-Simple-Tense.pdf english hh-The-Present-Simple-Tense.pdf english hh
-The-Present-Simple-Tense.pdf english hh
 
办理原版学位证(UofT毕业证)多伦多大学毕业证成绩单修改留信学历认证永久查询
办理原版学位证(UofT毕业证)多伦多大学毕业证成绩单修改留信学历认证永久查询办理原版学位证(UofT毕业证)多伦多大学毕业证成绩单修改留信学历认证永久查询
办理原版学位证(UofT毕业证)多伦多大学毕业证成绩单修改留信学历认证永久查询
 
Digamma / CertiCon Company Presentation
Digamma / CertiCon Company  PresentationDigamma / CertiCon Company  Presentation
Digamma / CertiCon Company Presentation
 
定制(MSVU毕业证书)圣文森山大学毕业证毕业证成绩单原版一比一定制
定制(MSVU毕业证书)圣文森山大学毕业证毕业证成绩单原版一比一定制定制(MSVU毕业证书)圣文森山大学毕业证毕业证成绩单原版一比一定制
定制(MSVU毕业证书)圣文森山大学毕业证毕业证成绩单原版一比一定制
 
248649330-Animatronics-Technical-Seminar-Report-by-Aswin-Sarang.pdf
248649330-Animatronics-Technical-Seminar-Report-by-Aswin-Sarang.pdf248649330-Animatronics-Technical-Seminar-Report-by-Aswin-Sarang.pdf
248649330-Animatronics-Technical-Seminar-Report-by-Aswin-Sarang.pdf
 
Can't Roll Up Your Audi A4 Power Window Let's Uncover the Issue!
Can't Roll Up Your Audi A4 Power Window Let's Uncover the Issue!Can't Roll Up Your Audi A4 Power Window Let's Uncover the Issue!
Can't Roll Up Your Audi A4 Power Window Let's Uncover the Issue!
 
2024 WRC Hyundai World Rally Team’s i20 N Rally1 Hybrid
2024 WRC Hyundai World Rally Team’s i20 N Rally1 Hybrid2024 WRC Hyundai World Rally Team’s i20 N Rally1 Hybrid
2024 WRC Hyundai World Rally Team’s i20 N Rally1 Hybrid
 
Hot Sexy call girls in Pira Garhi🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Pira Garhi🔝 9953056974 🔝 escort ServiceHot Sexy call girls in Pira Garhi🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Pira Garhi🔝 9953056974 🔝 escort Service
 
如何办理(UCI毕业证书)加州大学欧文分校毕业证毕业证成绩单原版一比一
如何办理(UCI毕业证书)加州大学欧文分校毕业证毕业证成绩单原版一比一如何办理(UCI毕业证书)加州大学欧文分校毕业证毕业证成绩单原版一比一
如何办理(UCI毕业证书)加州大学欧文分校毕业证毕业证成绩单原版一比一
 
call girls in Jama Masjid (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Jama Masjid (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️call girls in Jama Masjid (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Jama Masjid (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
 
原版1:1定制中央昆士兰大学毕业证(CQU毕业证)#文凭成绩单#真实留信学历认证永久存档
原版1:1定制中央昆士兰大学毕业证(CQU毕业证)#文凭成绩单#真实留信学历认证永久存档原版1:1定制中央昆士兰大学毕业证(CQU毕业证)#文凭成绩单#真实留信学历认证永久存档
原版1:1定制中央昆士兰大学毕业证(CQU毕业证)#文凭成绩单#真实留信学历认证永久存档
 
原版1:1复刻俄亥俄州立大学毕业证OSU毕业证留信学历认证
原版1:1复刻俄亥俄州立大学毕业证OSU毕业证留信学历认证原版1:1复刻俄亥俄州立大学毕业证OSU毕业证留信学历认证
原版1:1复刻俄亥俄州立大学毕业证OSU毕业证留信学历认证
 
原版1:1定制宾州州立大学毕业证(PSU毕业证)#文凭成绩单#真实留信学历认证永久存档
原版1:1定制宾州州立大学毕业证(PSU毕业证)#文凭成绩单#真实留信学历认证永久存档原版1:1定制宾州州立大学毕业证(PSU毕业证)#文凭成绩单#真实留信学历认证永久存档
原版1:1定制宾州州立大学毕业证(PSU毕业证)#文凭成绩单#真实留信学历认证永久存档
 
原版1:1定制(IC大学毕业证)帝国理工学院大学毕业证国外文凭复刻成绩单#电子版制作#留信入库#多年经营绝对保证质量
原版1:1定制(IC大学毕业证)帝国理工学院大学毕业证国外文凭复刻成绩单#电子版制作#留信入库#多年经营绝对保证质量原版1:1定制(IC大学毕业证)帝国理工学院大学毕业证国外文凭复刻成绩单#电子版制作#留信入库#多年经营绝对保证质量
原版1:1定制(IC大学毕业证)帝国理工学院大学毕业证国外文凭复刻成绩单#电子版制作#留信入库#多年经营绝对保证质量
 
Building a Future Where Everyone Can Ride and Drive Electric by Bridget Gilmore
Building a Future Where Everyone Can Ride and Drive Electric by Bridget GilmoreBuilding a Future Where Everyone Can Ride and Drive Electric by Bridget Gilmore
Building a Future Where Everyone Can Ride and Drive Electric by Bridget Gilmore
 
Digamma - CertiCon Team Skills and Qualifications
Digamma - CertiCon Team Skills and QualificationsDigamma - CertiCon Team Skills and Qualifications
Digamma - CertiCon Team Skills and Qualifications
 

The image problem of the web and how to solve it…