SlideShare a Scribd company logo
Hinting at a better web…
Chris Heilmann (@codepo8) September 2018
What is the purpose
of a browser?
▪ Render web content
▪ Show multimedia content
▪ Follow and inspire web standards
@codepo8
@codepo8
A changed, ubiquitous web.
The job of a browser
changed drastically…
▪ Show web and multimedia content
fast and reliably
▪ Give access to the web regardless of
ability
▪ Keep users safe by blocking unsafe
content and patch attack vectors
▪ Remember users’ history and access
credentials – or remember nothing
▪ Allow for detailed customisation
(including extensibility)
▪ Sync content across a range of
devices
@codepo8
Audiences with
different needs…
▪ Consumers of the web
▪ Creators of web content
▪ Web Developers
▪ Extension Developers
▪ App Developers
▪ IT Departments…
@codepo8
The need to be
forgiving…
▪ Anyone is allowed to write code for
the web – or use whatever they
want to create that code.
▪ Whatever goes wrong, it is the
browser’s fault
▪ Users shouldn’t suffer from
developer errors
▪ Legacy products will never get fixed
▪ You can’t break the web
@codepo8
The mess that
created…
▪ The web has become a render
target amongst many others
▪ Releasing often and developer
convenience trumps semantics and
performance of the final product
▪ Web sites are slow and huge
because we work on fast computers
and good connections
▪ Being a web expert is less exciting
than being a full stack developer
@codepo8
How is that possible with all
the resources we have?
developer.mozilla.org caniuse.com code.visualstudio.com
Web Developers
need to know a lot…
▪ Performance
▪ Accessibility
▪ Interoperability
▪ Security
▪ Maintainability
@codepo8
▪ Browser Quirks
▪ Developer toolchains
▪ Browser developer tools
▪ Abstractions
▪ CLI
▪ Editors
Where to learn
all that?
▪ Standards documentation?
▪ Browser vendor docs?
▪ Conferences?
▪ Books?
▪ Workshops?
▪ Developer tools?
▪ News channels?
@codepo8
Learning
obstacles
▪ Resources with upvoting options
favour the how over the why
▪ We’re not paid to learn, we’re paid
to deliver
▪ Peer pressure makes developers
who don’t know things afraid to
admit it
▪ There’s always a “good enough” way
to create a lot in a short amount of
time.
@codepo8
Taking
shortcuts…
▪ AMP?
▪ Tooling presets?
▪ Abstractions (libraries/frameworks)
▪ Hoping nobody cares…
@codepo8
Issues with current
tooling…
Too many
promises…
▪ “This tool makes $x easy. No need
to look it up.”
▪ “$HUGE_CORP_APP uses this
configuration and toolchain – if it
works for their needs, it should rock
for you, too”
▪ “Using this configuration optimises
for the modern web”
@codepo8
Too many rules
and barriers
▪ Opinionated tools demand you to
fix things that don’t apply to your
product
▪ Dependencies and complex
toolchains can be daunting
▪ “Best practices” often don’t get
updates, and are contextual
▪ Having to follow strict rules without
understanding them is not fun
@codepo8
How can we
accelerate learning?
Customisable best
practices in context
▪ Having information isn’t enough
when people don’t go there
▪ We need to prevent mistakes
before they happen
▪ We need to allow people to
customize these experiences. An
intranet site needs different settings
than a marketing site
▪ So, let’s target editors and build
processes
@codepo8
Linting and inline
insights in editors
@codepo8
code.visualstudio.com
webhint.io – one stop
checking and explanation
webhint.io
webhint.io – one stop
checking and explanation
webhint.io
webhint.io – one stop
checking and explanation
webhint.io
Add new screenshot
webhint.io – one stop
checking and explanation
webhint.io
webhint.io – one stop
checking and explanation
webhint.io
What a state we’re in…
bit.ly/what-a-state-of-the-browser
Hinting during
deployment
@codepo8
▪ Web resources are fun but not
always accessible or applicable to
your product
▪ webhint is Node based, so you can
also install at as part of your
build/deployment process
▪ That way webhint can also give
detailed information about the
setup of your bundler/preprocessor
to avoid huge release sizes
hint on npm/yarn/whatever…
webhint.io
Available hints…
Performance Accessibility
PWA
Readiness
Development
environment Interoperability Security
Not restricted to presets…
webhint.io
Add new screenshot
Customising hints…
webhint.io/docs/user-guide/
Defining & adding own hints…
webhint.io
Create a better web
independent of a
browser or OS.
@codepo8
▪ Create detailed reports for third
party products about broken issues
▪ Customised hinting allows to define
project and environment specific
standards based on agreed best
practices
▪ Open source code allows for
contribution and deployment
wherever
Thanks!
Chris Heilmann
@codepo8

More Related Content

What's hot (20)

PDF
The Frontend Developer Landscape Explained and the Rise of Advanced Frontend ...
Prasid Pathak
 
PDF
AWS IAM
Diego Pacheco
 
PDF
Tf byows
Shannon Gallagher
 
PDF
Web development meetingup
PiTechnologies
 
PDF
Architecture @ Appknox
Dhilipsiva DS
 
PDF
Tf byow
Shannon Gallagher
 
PDF
Tf byow
Shannon Gallagher
 
PDF
Beginner's Guide to Frontend Development: Comparing Angular, React, Ember, an...
Prasid Pathak
 
PDF
Design is not Subjective
Diego Pacheco
 
PDF
Code Forensics
Diego Pacheco
 
PDF
Holacracy
Diego Pacheco
 
PDF
Frontend Crash Course
Aaron Lamphere
 
ODP
Building your first WordPress plugin
Justin Foell
 
PPTX
Atag & drupal 8
Mike Gifford
 
PDF
WordCamp Barcelona 2015 : From Design to a Theme
Pancho Pérez Salazar
 
PDF
Tf byowwhc
Shannon Gallagher
 
PDF
Tf byowwhc
Shannon Gallagher
 
PDF
HTML5 Jump Start
Haim Michael
 
PDF
Architecture & Engineering : Doing the non-obvious!
Diego Pacheco
 
PDF
Drupal 8 as a Drop-In Content Engine - SymfonyLive Berlin 2015
Jeffrey McGuire
 
The Frontend Developer Landscape Explained and the Rise of Advanced Frontend ...
Prasid Pathak
 
AWS IAM
Diego Pacheco
 
Web development meetingup
PiTechnologies
 
Architecture @ Appknox
Dhilipsiva DS
 
Beginner's Guide to Frontend Development: Comparing Angular, React, Ember, an...
Prasid Pathak
 
Design is not Subjective
Diego Pacheco
 
Code Forensics
Diego Pacheco
 
Holacracy
Diego Pacheco
 
Frontend Crash Course
Aaron Lamphere
 
Building your first WordPress plugin
Justin Foell
 
Atag & drupal 8
Mike Gifford
 
WordCamp Barcelona 2015 : From Design to a Theme
Pancho Pérez Salazar
 
Tf byowwhc
Shannon Gallagher
 
Tf byowwhc
Shannon Gallagher
 
HTML5 Jump Start
Haim Michael
 
Architecture & Engineering : Doing the non-obvious!
Diego Pacheco
 
Drupal 8 as a Drop-In Content Engine - SymfonyLive Berlin 2015
Jeffrey McGuire
 

Similar to Hinting at a better web (20)

PDF
Stapling and patching the web of now - ForwardJS3, San Francisco
Christian Heilmann
 
PDF
Christian Heilmann - Seven Things to Do to Make You a Happier JavaScript Deve...
Codemotion
 
PPTX
[RakutenTechConf2013] [E-2] HTML5 in Rakuten
Rakuten Group, Inc.
 
PDF
Why your APIs should fly first class
LibbySchulze
 
PDF
Ottawa Drupalcamp 2024 Keynote: Chart Your Drupal Journey
Martin Anderson-Clutz
 
PDF
Progressing JavaScript and Apps the Web way…
Christian Heilmann
 
PPTX
10 skills developers should invest in for 2014
Pakorn Weecharungsan
 
PDF
How Not to Be Conned by Your Drupal Vendor!
pixelonion
 
PDF
Ice dec05-04-wan leung
Chun Ming Au Yeung
 
PDF
Prototyping like it is 2022
Michael Yagudaev
 
PDF
QCon'17 talk: CI/CD at scale - lessons from LinkedIn and Mockito
Szczepan Faber
 
PDF
Stack skills
Janu Jahnavi
 
PDF
A Journey Down the Open Road - SymfonyCon Paris 2015
Yoav Kutner
 
ODP
Beyond responsive design - UI for the modern web application
Pete Smith
 
PDF
Tips To Hire Full Stack Developers In 2022
ForceBolt
 
PDF
Turning huge ships - Open Source and Microsoft
Christian Heilmann
 
PPTX
15 tips for bullet proof requirements analysis on SharePoint projects
DocFluix, LLC
 
PPTX
Wagento Magento 2 developer - Brent W Peterson
Brent W Peterson
 
PPTX
Responsive Design for SavvyMoney Credit Score
Wendy Fischer
 
PDF
HTML5 - The Good, the Bad, the Ugly
Mario Heiderich
 
Stapling and patching the web of now - ForwardJS3, San Francisco
Christian Heilmann
 
Christian Heilmann - Seven Things to Do to Make You a Happier JavaScript Deve...
Codemotion
 
[RakutenTechConf2013] [E-2] HTML5 in Rakuten
Rakuten Group, Inc.
 
Why your APIs should fly first class
LibbySchulze
 
Ottawa Drupalcamp 2024 Keynote: Chart Your Drupal Journey
Martin Anderson-Clutz
 
Progressing JavaScript and Apps the Web way…
Christian Heilmann
 
10 skills developers should invest in for 2014
Pakorn Weecharungsan
 
How Not to Be Conned by Your Drupal Vendor!
pixelonion
 
Ice dec05-04-wan leung
Chun Ming Au Yeung
 
Prototyping like it is 2022
Michael Yagudaev
 
QCon'17 talk: CI/CD at scale - lessons from LinkedIn and Mockito
Szczepan Faber
 
Stack skills
Janu Jahnavi
 
A Journey Down the Open Road - SymfonyCon Paris 2015
Yoav Kutner
 
Beyond responsive design - UI for the modern web application
Pete Smith
 
Tips To Hire Full Stack Developers In 2022
ForceBolt
 
Turning huge ships - Open Source and Microsoft
Christian Heilmann
 
15 tips for bullet proof requirements analysis on SharePoint projects
DocFluix, LLC
 
Wagento Magento 2 developer - Brent W Peterson
Brent W Peterson
 
Responsive Design for SavvyMoney Credit Score
Wendy Fischer
 
HTML5 - The Good, the Bad, the Ugly
Mario Heiderich
 
Ad

More from Christian Heilmann (20)

PDF
Taking the "vile" out of privilege
Christian Heilmann
 
PDF
Artificial intelligence for humans… #AIDC2018 keynote
Christian Heilmann
 
PDF
Killing the golden calf of coding - We are Developers keynote
Christian Heilmann
 
PDF
Progressive Web Apps - Techdays Finland
Christian Heilmann
 
PDF
Taking the "vile" out of privilege
Christian Heilmann
 
PDF
Taking the P out of PWA
Christian Heilmann
 
PDF
Sacrificing the golden calf of "coding"
Christian Heilmann
 
PDF
You learned JavaScript - now what?
Christian Heilmann
 
PDF
Sacrificing the golden calf of "coding"
Christian Heilmann
 
PDF
Progressive Web Apps - Covering the best of both worlds - DevReach
Christian Heilmann
 
PDF
Progressive Web Apps - Covering the best of both worlds
Christian Heilmann
 
PPTX
Non-trivial pursuits: Learning machines and forgetful humans
Christian Heilmann
 
PDF
Progressive Web Apps - Bringing the web front and center
Christian Heilmann
 
PDF
CSS vs. JavaScript - Trust vs. Control
Christian Heilmann
 
PDF
Leveling up your JavaScipt - DrupalJam 2017
Christian Heilmann
 
PDF
The Soul in The Machine - Developing for Humans (FrankenJS edition)
Christian Heilmann
 
PDF
Breaking out of the Tetris mind set #btconf
Christian Heilmann
 
PDF
Progressive Web Apps - Goto Chicago 2017
Christian Heilmann
 
PDF
Supercharging Public Speaking
Christian Heilmann
 
PDF
The Soul in The Machine - Developing for Humans
Christian Heilmann
 
Taking the "vile" out of privilege
Christian Heilmann
 
Artificial intelligence for humans… #AIDC2018 keynote
Christian Heilmann
 
Killing the golden calf of coding - We are Developers keynote
Christian Heilmann
 
Progressive Web Apps - Techdays Finland
Christian Heilmann
 
Taking the "vile" out of privilege
Christian Heilmann
 
Taking the P out of PWA
Christian Heilmann
 
Sacrificing the golden calf of "coding"
Christian Heilmann
 
You learned JavaScript - now what?
Christian Heilmann
 
Sacrificing the golden calf of "coding"
Christian Heilmann
 
Progressive Web Apps - Covering the best of both worlds - DevReach
Christian Heilmann
 
Progressive Web Apps - Covering the best of both worlds
Christian Heilmann
 
Non-trivial pursuits: Learning machines and forgetful humans
Christian Heilmann
 
Progressive Web Apps - Bringing the web front and center
Christian Heilmann
 
CSS vs. JavaScript - Trust vs. Control
Christian Heilmann
 
Leveling up your JavaScipt - DrupalJam 2017
Christian Heilmann
 
The Soul in The Machine - Developing for Humans (FrankenJS edition)
Christian Heilmann
 
Breaking out of the Tetris mind set #btconf
Christian Heilmann
 
Progressive Web Apps - Goto Chicago 2017
Christian Heilmann
 
Supercharging Public Speaking
Christian Heilmann
 
The Soul in The Machine - Developing for Humans
Christian Heilmann
 
Ad

Recently uploaded (20)

PPTX
Different Generation Of Computers .pptx
divcoder9507
 
PDF
Latest Scam Shocking the USA in 2025.pdf
onlinescamreport4
 
PPTX
Perkembangan Perangkat jaringan komputer dan telekomunikasi 3.pptx
Prayudha3
 
PPTX
The Internet of Things (IoT) refers to a vast network of interconnected devic...
chethana8182
 
PDF
GEO Strategy 2025: Complete Presentation Deck for AI-Powered Customer Acquisi...
Zam Man
 
PDF
UI/UX Developer Guide: Tools, Trends, and Tips for 2025
Penguin peak
 
PDF
The AI Trust Gap: Consumer Attitudes to AI-Generated Content
Exploding Topics
 
PPTX
MSadfadsfafdadfccadradfT_Presentation.pptx
pahalaedward2
 
PPTX
B2B_Ecommerce_Internship_Simranpreet.pptx
LipakshiJindal
 
PPT
1965 INDO PAK WAR which Pak will never forget.ppt
sanjaychief112
 
PPTX
How tech helps people in the modern era.
upadhyayaryan154
 
PPTX
原版北不列颠哥伦比亚大学毕业证文凭UNBC成绩单2025年新版在线制作学位证书
e7nw4o4
 
PPTX
Artificial-Intelligence-in-Daily-Life (2).pptx
nidhigoswami335
 
PDF
LB# 820-1889_051-7370_C000.schematic.pdf
matheusalbuquerqueco3
 
PDF
LOGENVIDAD DANNYFGRETRRTTRRRTRRRRRRRRR.pdf
juan456ytpro
 
PPTX
Pengenalan perangkat Jaringan komputer pada teknik jaringan komputer dan tele...
Prayudha3
 
PPTX
The Internet of Things (IoT) refers to a vast network of interconnected devic...
chethana8182
 
PPTX
Google SGE SEO: 5 Critical Changes That Could Wreck Your Rankings in 2025
Reversed Out Creative
 
PPTX
dns domain name system history work.pptx
MUHAMMADKAVISHSHABAN
 
PPTX
办理方法西班牙假毕业证蒙德拉贡大学成绩单MULetter文凭样本
xxxihn4u
 
Different Generation Of Computers .pptx
divcoder9507
 
Latest Scam Shocking the USA in 2025.pdf
onlinescamreport4
 
Perkembangan Perangkat jaringan komputer dan telekomunikasi 3.pptx
Prayudha3
 
The Internet of Things (IoT) refers to a vast network of interconnected devic...
chethana8182
 
GEO Strategy 2025: Complete Presentation Deck for AI-Powered Customer Acquisi...
Zam Man
 
UI/UX Developer Guide: Tools, Trends, and Tips for 2025
Penguin peak
 
The AI Trust Gap: Consumer Attitudes to AI-Generated Content
Exploding Topics
 
MSadfadsfafdadfccadradfT_Presentation.pptx
pahalaedward2
 
B2B_Ecommerce_Internship_Simranpreet.pptx
LipakshiJindal
 
1965 INDO PAK WAR which Pak will never forget.ppt
sanjaychief112
 
How tech helps people in the modern era.
upadhyayaryan154
 
原版北不列颠哥伦比亚大学毕业证文凭UNBC成绩单2025年新版在线制作学位证书
e7nw4o4
 
Artificial-Intelligence-in-Daily-Life (2).pptx
nidhigoswami335
 
LB# 820-1889_051-7370_C000.schematic.pdf
matheusalbuquerqueco3
 
LOGENVIDAD DANNYFGRETRRTTRRRTRRRRRRRRR.pdf
juan456ytpro
 
Pengenalan perangkat Jaringan komputer pada teknik jaringan komputer dan tele...
Prayudha3
 
The Internet of Things (IoT) refers to a vast network of interconnected devic...
chethana8182
 
Google SGE SEO: 5 Critical Changes That Could Wreck Your Rankings in 2025
Reversed Out Creative
 
dns domain name system history work.pptx
MUHAMMADKAVISHSHABAN
 
办理方法西班牙假毕业证蒙德拉贡大学成绩单MULetter文凭样本
xxxihn4u
 

Hinting at a better web

  • 1. Hinting at a better web… Chris Heilmann (@codepo8) September 2018
  • 2. What is the purpose of a browser? ▪ Render web content ▪ Show multimedia content ▪ Follow and inspire web standards @codepo8
  • 5. The job of a browser changed drastically… ▪ Show web and multimedia content fast and reliably ▪ Give access to the web regardless of ability ▪ Keep users safe by blocking unsafe content and patch attack vectors ▪ Remember users’ history and access credentials – or remember nothing ▪ Allow for detailed customisation (including extensibility) ▪ Sync content across a range of devices @codepo8
  • 6. Audiences with different needs… ▪ Consumers of the web ▪ Creators of web content ▪ Web Developers ▪ Extension Developers ▪ App Developers ▪ IT Departments… @codepo8
  • 7. The need to be forgiving… ▪ Anyone is allowed to write code for the web – or use whatever they want to create that code. ▪ Whatever goes wrong, it is the browser’s fault ▪ Users shouldn’t suffer from developer errors ▪ Legacy products will never get fixed ▪ You can’t break the web @codepo8
  • 8. The mess that created… ▪ The web has become a render target amongst many others ▪ Releasing often and developer convenience trumps semantics and performance of the final product ▪ Web sites are slow and huge because we work on fast computers and good connections ▪ Being a web expert is less exciting than being a full stack developer @codepo8
  • 9. How is that possible with all the resources we have? developer.mozilla.org caniuse.com code.visualstudio.com
  • 10. Web Developers need to know a lot… ▪ Performance ▪ Accessibility ▪ Interoperability ▪ Security ▪ Maintainability @codepo8 ▪ Browser Quirks ▪ Developer toolchains ▪ Browser developer tools ▪ Abstractions ▪ CLI ▪ Editors
  • 11. Where to learn all that? ▪ Standards documentation? ▪ Browser vendor docs? ▪ Conferences? ▪ Books? ▪ Workshops? ▪ Developer tools? ▪ News channels? @codepo8
  • 12. Learning obstacles ▪ Resources with upvoting options favour the how over the why ▪ We’re not paid to learn, we’re paid to deliver ▪ Peer pressure makes developers who don’t know things afraid to admit it ▪ There’s always a “good enough” way to create a lot in a short amount of time. @codepo8
  • 13. Taking shortcuts… ▪ AMP? ▪ Tooling presets? ▪ Abstractions (libraries/frameworks) ▪ Hoping nobody cares… @codepo8
  • 15. Too many promises… ▪ “This tool makes $x easy. No need to look it up.” ▪ “$HUGE_CORP_APP uses this configuration and toolchain – if it works for their needs, it should rock for you, too” ▪ “Using this configuration optimises for the modern web” @codepo8
  • 16. Too many rules and barriers ▪ Opinionated tools demand you to fix things that don’t apply to your product ▪ Dependencies and complex toolchains can be daunting ▪ “Best practices” often don’t get updates, and are contextual ▪ Having to follow strict rules without understanding them is not fun @codepo8
  • 18. Customisable best practices in context ▪ Having information isn’t enough when people don’t go there ▪ We need to prevent mistakes before they happen ▪ We need to allow people to customize these experiences. An intranet site needs different settings than a marketing site ▪ So, let’s target editors and build processes @codepo8
  • 19. Linting and inline insights in editors @codepo8 code.visualstudio.com
  • 20. webhint.io – one stop checking and explanation webhint.io
  • 21. webhint.io – one stop checking and explanation webhint.io
  • 22. webhint.io – one stop checking and explanation webhint.io Add new screenshot
  • 23. webhint.io – one stop checking and explanation webhint.io
  • 24. webhint.io – one stop checking and explanation webhint.io
  • 25. What a state we’re in… bit.ly/what-a-state-of-the-browser
  • 26. Hinting during deployment @codepo8 ▪ Web resources are fun but not always accessible or applicable to your product ▪ webhint is Node based, so you can also install at as part of your build/deployment process ▪ That way webhint can also give detailed information about the setup of your bundler/preprocessor to avoid huge release sizes
  • 29. Not restricted to presets… webhint.io Add new screenshot
  • 31. Defining & adding own hints… webhint.io
  • 32. Create a better web independent of a browser or OS. @codepo8 ▪ Create detailed reports for third party products about broken issues ▪ Customised hinting allows to define project and environment specific standards based on agreed best practices ▪ Open source code allows for contribution and deployment wherever