SlideShare una empresa de Scribd logo
1 de 21
Descargar para leer sin conexión
Building for Real Standards




Today we’ll talk about building to standards and what that means in a
HTML5 world.
http://www.flickr.com/photos/grendelkhan/118876699/




                                                     Standards, what are they
                                                               good for, huh?
              When the talk is about web development there can be a pushback from people claiming
              that standards are falling behind and there is no need for them. A standard is nothing that
              should hold you back, instead it should bring predictability to a certain trade or market.
              Imagine a world where screws weren’t standardised the way they are - you’d need a
              different tool to assemble and disassemble any piece of furniture or machinery. As it
              stands, one type of screwdriver allows you to get very far and work with a massively
              diverse range of materials.
It’s complicated...




On the web this can get confusing as HTML5 is such a marketing term by now that
it is hard to find a standard to apply.
This problem is exacerbated by the amount of standards that are not HTML5 but
always mentioned with it. This diagram shows just how confusing that can get. What
people call HTML5 is not it in most of the cases and both the W3C and the WHATWG have
“Web developer editions” of their proposals - meaning that a lot in the documentation
is actually aimed at browser/parser makers rather than web developers.
Desktop
            Everybody                                                      Laptop
                                                                           Mobile
            wants a piece
                                                                           Tablet
            of the action...                                               Fridge
                                                                           ...
When we talk about HTML5 we should also always remember that the web moved on.
We don’t just build for Desktop machines where we can expect a certain resolution,
speed and connectivity. A large chunk of the HTML5 world means building solutions for
mobile devices.
Microsoft
                                                                              Google
                                                                              Mozilla
            Everybody                                                         Opera
            has solutions                                                     Apple
                                                                              Adobe
            to try out...
                                                                              Facebook
                                                                              Twitter
                                                                              ...
A large part of the innovation around HTML5 happens not in the working group or
the WHATWG but comes directly from browser vendors and software companies.
All of these have vendor prefixes. This means that they can be great innovation that
can lead to a standard, but for now they are experimental and can change whilst
you apply them. Make sure to use them accordingly - with a fallback.
Demo time:
            HTML5 basics



Get the code examples on https://github.com/codepo8/buildingforrealstandards
and check the README for how to show them
Memo time:
                                 Use what is needed - don’t
                                 TXTCODE
                                 Safety goggles on!
                                 Develop for the future
                                 Build for the person who
                                 maintains your work.



You can find more instructions how we reached these conclusions in the README
of the code examples.
Demo time:
           Client side thumbnails?



Get the code examples on
https://github.com/codepo8/buildingforrealstandards/canvasthumber and check
the README for how to show them
Memo time:
                                 Browsers are powerful pieces of
                                 software
                                 The client side rules!
                                 Use what the client can do




You can find more instructions how we reached these conclusions in the README
of the code examples.
Safety in production?



As you can see HTML5 is incredibly powerful but also in flux. What you are excited about
today might not be available tomorrow. Therefore when you want to use HTML5 in
production you need to add some safe-guards.
http://caniuse.com/
Caniuse.com is a great resource to see how supported a certain HTML5 or CSS3 is
in the browsers your users are likely to be on. Simple, constantly updated tables
show you the current support in a very simple fashion.
http://modernizr.com/
Modernizr.com is a JavaScript library that makes feature detection easy. Instead of
knowing all the ins and outs of testing if the current setup supports @font-face for
example all you know is call the appropriate Modernizr function and you get a
Boolean back. Modernizr is used and supported by a lot of large web sites.
http://html5please.com/
HTML5please.com is a web site powered by caniuse.com which shows you how safe it
is to use a certain new technology and gives you fallback examples and polyfill solutions
to bring missing functionality to legacy browsers.
http://html5boilerplate.com/
HTML5boilerplate.com is a great starting point for your next HTML5 project. Simply
download the zip of the boilerplate, unpack it and edit the index.html. Boilerplate
includes a lot of fixes for legacy browsers to make your product work across the board.
Do you want to know more?



If you want to know more about all of this, don’t wait for the right book to be sold or
training to come to your town. Up-to-date information is available for free on the web,
and - even more importantly - we need your input!
https://developer.mozilla.org/en-US/learn/html5
At https://developer.mozilla.org/en-US/learn/html5 the Mozilla Developer Network
collects a lot of information on “HTML5 and friends” (related technologies like CSS, Web
Storage and the like). This documentation is written both my Mozilla experts and
Google guest authors and the best about it is that it is a Wiki - so if you have something
to add or you find a mistake, just edit it and we’ll review it for you.
http://html5doctor.com
HTML5doctor.com is a blog dedicated to explaining one HTML5 feature at a time
including all the issues with them and how to use them.
http://html5demos.com/
HTML5demos.com is a showcase of HTML5 demos started by Remy Sharp, co-author
of “Introducing HTML5” - a great book to get you started with the subject matter.
These demos both show the basics and the bleeding edge of HTML with a legend on
which browsers are supported in them.
Last words (not famous).



All in all it is important to understand that HTML5 is an evolution in the making. It is a
living and changing standard and works very closely with other technologies. Therefore
it is important to keep your eyes open and help us make it happen by filing browser bugs
and comment on what we do.
http://movethewebforward.org/
movethewebforward.org is a great site explaining how you can give back to the
community that formed around web standards and how you can be part of a brighter
future for web developers and users of web technology - on the web and in apps.
Thank you!

Más contenido relacionado

La actualidad más candente

Fuel for a great web experience
Fuel for a great web experienceFuel for a great web experience
Fuel for a great web experienceChristian Heilmann
 
JavaScript Revolution - 5/Nov/13 - PrDC Saskatoon, SK
JavaScript Revolution - 5/Nov/13 - PrDC Saskatoon, SKJavaScript Revolution - 5/Nov/13 - PrDC Saskatoon, SK
JavaScript Revolution - 5/Nov/13 - PrDC Saskatoon, SKDavid Wesst
 
Progressive Web Apps – the return of the web? Goto Berlin 2016
Progressive Web Apps – the return of the web? Goto Berlin 2016Progressive Web Apps – the return of the web? Goto Berlin 2016
Progressive Web Apps – the return of the web? Goto Berlin 2016Christian Heilmann
 
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
 
The Death of Lorem Ipsum & Pixel Perfect Content
The Death of Lorem Ipsum & Pixel Perfect ContentThe Death of Lorem Ipsum & Pixel Perfect Content
The Death of Lorem Ipsum & Pixel Perfect ContentDave Olsen
 
2015 nouveaux outilsdevweb
2015 nouveaux outilsdevweb2015 nouveaux outilsdevweb
2015 nouveaux outilsdevwebPhilippe Antoine
 
Responsive webdesign
Responsive webdesignResponsive webdesign
Responsive webdesignBart De Waele
 
Full stack-web-design
Full stack-web-designFull stack-web-design
Full stack-web-designKevin Conboy
 
2011 07 Malaysia Open Source Conference
2011 07 Malaysia Open Source Conference2011 07 Malaysia Open Source Conference
2011 07 Malaysia Open Source ConferenceGen Kanai
 
HTML5: The Parts You Care About - 4/Nov/13 - PrDC Saskatoon, SK
HTML5: The Parts You Care About - 4/Nov/13 - PrDC Saskatoon, SKHTML5: The Parts You Care About - 4/Nov/13 - PrDC Saskatoon, SK
HTML5: The Parts You Care About - 4/Nov/13 - PrDC Saskatoon, SKDavid Wesst
 
You learned JavaScript - now what?
You learned JavaScript - now what?You learned JavaScript - now what?
You learned JavaScript - now what?Christian 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
 
Truth About HTML5
Truth About HTML5Truth About HTML5
Truth About HTML5Jos Dirksen
 
Techniques For A Modern Web UI (With Notes)
Techniques For A Modern Web UI (With Notes)Techniques For A Modern Web UI (With Notes)
Techniques For A Modern Web UI (With Notes)patrick.t.joyce
 
Style Guide Best Practices
Style Guide Best PracticesStyle Guide Best Practices
Style Guide Best PracticesBrad Frost
 
No more excuses! Let's build beautiful things. #codemotion Rome
No  more excuses! Let's build beautiful things. #codemotion Rome No  more excuses! Let's build beautiful things. #codemotion Rome
No more excuses! Let's build beautiful things. #codemotion Rome Christian Heilmann
 
Html5- what you need to know and why you should care
Html5- what you need to know and why you should careHtml5- what you need to know and why you should care
Html5- what you need to know and why you should careDebbie Richards
 
Hungarian Web Conference: HTML5 beyond the hype - let's make it work!
Hungarian Web Conference: HTML5 beyond the hype - let's make it work!Hungarian Web Conference: HTML5 beyond the hype - let's make it work!
Hungarian Web Conference: HTML5 beyond the hype - let's make it work!Christian Heilmann
 
Disruptive Innovation
Disruptive InnovationDisruptive Innovation
Disruptive InnovationMark Uraine
 

La actualidad más candente (20)

Fuel for a great web experience
Fuel for a great web experienceFuel for a great web experience
Fuel for a great web experience
 
Webapps mobiles html5
Webapps mobiles html5Webapps mobiles html5
Webapps mobiles html5
 
JavaScript Revolution - 5/Nov/13 - PrDC Saskatoon, SK
JavaScript Revolution - 5/Nov/13 - PrDC Saskatoon, SKJavaScript Revolution - 5/Nov/13 - PrDC Saskatoon, SK
JavaScript Revolution - 5/Nov/13 - PrDC Saskatoon, SK
 
Progressive Web Apps – the return of the web? Goto Berlin 2016
Progressive Web Apps – the return of the web? Goto Berlin 2016Progressive Web Apps – the return of the web? Goto Berlin 2016
Progressive Web Apps – the return of the web? Goto Berlin 2016
 
Innovating the other web - #wrocsharp keynote
Innovating the other web - #wrocsharp keynote Innovating the other web - #wrocsharp keynote
Innovating the other web - #wrocsharp keynote
 
The Death of Lorem Ipsum & Pixel Perfect Content
The Death of Lorem Ipsum & Pixel Perfect ContentThe Death of Lorem Ipsum & Pixel Perfect Content
The Death of Lorem Ipsum & Pixel Perfect Content
 
2015 nouveaux outilsdevweb
2015 nouveaux outilsdevweb2015 nouveaux outilsdevweb
2015 nouveaux outilsdevweb
 
Responsive webdesign
Responsive webdesignResponsive webdesign
Responsive webdesign
 
Full stack-web-design
Full stack-web-designFull stack-web-design
Full stack-web-design
 
2011 07 Malaysia Open Source Conference
2011 07 Malaysia Open Source Conference2011 07 Malaysia Open Source Conference
2011 07 Malaysia Open Source Conference
 
HTML5: The Parts You Care About - 4/Nov/13 - PrDC Saskatoon, SK
HTML5: The Parts You Care About - 4/Nov/13 - PrDC Saskatoon, SKHTML5: The Parts You Care About - 4/Nov/13 - PrDC Saskatoon, SK
HTML5: The Parts You Care About - 4/Nov/13 - PrDC Saskatoon, SK
 
You learned JavaScript - now what?
You learned JavaScript - now what?You learned JavaScript - now what?
You learned JavaScript - now what?
 
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
 
Truth About HTML5
Truth About HTML5Truth About HTML5
Truth About HTML5
 
Techniques For A Modern Web UI (With Notes)
Techniques For A Modern Web UI (With Notes)Techniques For A Modern Web UI (With Notes)
Techniques For A Modern Web UI (With Notes)
 
Style Guide Best Practices
Style Guide Best PracticesStyle Guide Best Practices
Style Guide Best Practices
 
No more excuses! Let's build beautiful things. #codemotion Rome
No  more excuses! Let's build beautiful things. #codemotion Rome No  more excuses! Let's build beautiful things. #codemotion Rome
No more excuses! Let's build beautiful things. #codemotion Rome
 
Html5- what you need to know and why you should care
Html5- what you need to know and why you should careHtml5- what you need to know and why you should care
Html5- what you need to know and why you should care
 
Hungarian Web Conference: HTML5 beyond the hype - let's make it work!
Hungarian Web Conference: HTML5 beyond the hype - let's make it work!Hungarian Web Conference: HTML5 beyond the hype - let's make it work!
Hungarian Web Conference: HTML5 beyond the hype - let's make it work!
 
Disruptive Innovation
Disruptive InnovationDisruptive Innovation
Disruptive Innovation
 

Similar a Building for real standards (includes notes)

European SharePoint Conference: Mobile Applications for SharePoint using HTML5
European SharePoint Conference: Mobile Applications for SharePoint using HTML5European SharePoint Conference: Mobile Applications for SharePoint using HTML5
European SharePoint Conference: Mobile Applications for SharePoint using HTML5Christian Heindel
 
HTML5: An Introduction
HTML5: An IntroductionHTML5: An Introduction
HTML5: An IntroductionClearPivot
 
Html5 & mlearning: The rapid interactivity approach
Html5 & mlearning: The rapid interactivity approachHtml5 & mlearning: The rapid interactivity approach
Html5 & mlearning: The rapid interactivity approachRaptivity
 
HTML5 and mLearning- The Rapid Interactivity Approach
HTML5 and mLearning- The Rapid Interactivity ApproachHTML5 and mLearning- The Rapid Interactivity Approach
HTML5 and mLearning- The Rapid Interactivity ApproachRaptivity
 
Html5 and mLearning: The rapid interactivity approach
Html5 and mLearning: The rapid interactivity approachHtml5 and mLearning: The rapid interactivity approach
Html5 and mLearning: The rapid interactivity approachRicha Bakshi
 
HTML5 & mLearning - The Rapid Interactivity Approach
HTML5 & mLearning - The Rapid Interactivity ApproachHTML5 & mLearning - The Rapid Interactivity Approach
HTML5 & mLearning - The Rapid Interactivity ApproachPoonam Jaypuriya
 
HTML5 & mlearning - The Rapid Interactivity Approach
HTML5 & mlearning - The Rapid Interactivity ApproachHTML5 & mlearning - The Rapid Interactivity Approach
HTML5 & mlearning - The Rapid Interactivity ApproachPoonam Jaypuriya
 
Top 10 web development tools in 2022
Top 10 web development tools in 2022Top 10 web development tools in 2022
Top 10 web development tools in 2022intouchgroup2
 
Front End Development | Introduction
Front End Development | IntroductionFront End Development | Introduction
Front End Development | IntroductionJohnTaieb
 
Apache Flex and the imperfect Web
Apache Flex and the imperfect WebApache Flex and the imperfect Web
Apache Flex and the imperfect Webmasuland
 
Mobile applications for SharePoint using HTML5
Mobile applications for SharePoint using HTML5Mobile applications for SharePoint using HTML5
Mobile applications for SharePoint using HTML5Christian Heindel
 
Migrating to HTML5, Migrating Silverlight to HTML5, Migration Applications t...
Migrating to HTML5,  Migrating Silverlight to HTML5, Migration Applications t...Migrating to HTML5,  Migrating Silverlight to HTML5, Migration Applications t...
Migrating to HTML5, Migrating Silverlight to HTML5, Migration Applications t...Idexcel Technologies
 
10 Businesses That Used Vue.js To Get To The Top.pdf
10 Businesses That Used Vue.js To Get To The Top.pdf10 Businesses That Used Vue.js To Get To The Top.pdf
10 Businesses That Used Vue.js To Get To The Top.pdfMoon Technolabs Pvt. Ltd.
 
30 Skills to Master to Become a Senior Software Engineer
30 Skills to Master to Become a Senior Software Engineer30 Skills to Master to Become a Senior Software Engineer
30 Skills to Master to Become a Senior Software EngineerSean Coates
 
10 Reasons to Adopt HTML5 for Mobile Apps
10 Reasons to Adopt HTML5 for Mobile Apps10 Reasons to Adopt HTML5 for Mobile Apps
10 Reasons to Adopt HTML5 for Mobile AppsDoug Robinson
 
10 Reasons to Adopt HTML5 for Mobile Apps
10 Reasons to Adopt HTML5 for Mobile Apps 10 Reasons to Adopt HTML5 for Mobile Apps
10 Reasons to Adopt HTML5 for Mobile Apps Fresh Digital Group
 
Everything you need to know about HTML5 in 15 min
Everything you need to know about HTML5 in 15 minEverything you need to know about HTML5 in 15 min
Everything you need to know about HTML5 in 15 minEdgar Parada
 
10 Best Web Development Frameworks for Your Business Needs
10 Best Web Development Frameworks for Your Business Needs10 Best Web Development Frameworks for Your Business Needs
10 Best Web Development Frameworks for Your Business NeedsSofiaCarter4
 

Similar a Building for real standards (includes notes) (20)

European SharePoint Conference: Mobile Applications for SharePoint using HTML5
European SharePoint Conference: Mobile Applications for SharePoint using HTML5European SharePoint Conference: Mobile Applications for SharePoint using HTML5
European SharePoint Conference: Mobile Applications for SharePoint using HTML5
 
HTML5: An Introduction
HTML5: An IntroductionHTML5: An Introduction
HTML5: An Introduction
 
Html5 & mlearning: The rapid interactivity approach
Html5 & mlearning: The rapid interactivity approachHtml5 & mlearning: The rapid interactivity approach
Html5 & mlearning: The rapid interactivity approach
 
HTML5 and mLearning- The Rapid Interactivity Approach
HTML5 and mLearning- The Rapid Interactivity ApproachHTML5 and mLearning- The Rapid Interactivity Approach
HTML5 and mLearning- The Rapid Interactivity Approach
 
Html5 and mLearning: The rapid interactivity approach
Html5 and mLearning: The rapid interactivity approachHtml5 and mLearning: The rapid interactivity approach
Html5 and mLearning: The rapid interactivity approach
 
HTML5 & mLearning - The Rapid Interactivity Approach
HTML5 & mLearning - The Rapid Interactivity ApproachHTML5 & mLearning - The Rapid Interactivity Approach
HTML5 & mLearning - The Rapid Interactivity Approach
 
HTML5 & mlearning - The Rapid Interactivity Approach
HTML5 & mlearning - The Rapid Interactivity ApproachHTML5 & mlearning - The Rapid Interactivity Approach
HTML5 & mlearning - The Rapid Interactivity Approach
 
Top 10 web development tools in 2022
Top 10 web development tools in 2022Top 10 web development tools in 2022
Top 10 web development tools in 2022
 
HTML5
HTML5HTML5
HTML5
 
Front End Development | Introduction
Front End Development | IntroductionFront End Development | Introduction
Front End Development | Introduction
 
Apache Flex and the imperfect Web
Apache Flex and the imperfect WebApache Flex and the imperfect Web
Apache Flex and the imperfect Web
 
Mobile applications for SharePoint using HTML5
Mobile applications for SharePoint using HTML5Mobile applications for SharePoint using HTML5
Mobile applications for SharePoint using HTML5
 
Migrating to HTML5, Migrating Silverlight to HTML5, Migration Applications t...
Migrating to HTML5,  Migrating Silverlight to HTML5, Migration Applications t...Migrating to HTML5,  Migrating Silverlight to HTML5, Migration Applications t...
Migrating to HTML5, Migrating Silverlight to HTML5, Migration Applications t...
 
Developers survival-guide
Developers survival-guideDevelopers survival-guide
Developers survival-guide
 
10 Businesses That Used Vue.js To Get To The Top.pdf
10 Businesses That Used Vue.js To Get To The Top.pdf10 Businesses That Used Vue.js To Get To The Top.pdf
10 Businesses That Used Vue.js To Get To The Top.pdf
 
30 Skills to Master to Become a Senior Software Engineer
30 Skills to Master to Become a Senior Software Engineer30 Skills to Master to Become a Senior Software Engineer
30 Skills to Master to Become a Senior Software Engineer
 
10 Reasons to Adopt HTML5 for Mobile Apps
10 Reasons to Adopt HTML5 for Mobile Apps10 Reasons to Adopt HTML5 for Mobile Apps
10 Reasons to Adopt HTML5 for Mobile Apps
 
10 Reasons to Adopt HTML5 for Mobile Apps
10 Reasons to Adopt HTML5 for Mobile Apps 10 Reasons to Adopt HTML5 for Mobile Apps
10 Reasons to Adopt HTML5 for Mobile Apps
 
Everything you need to know about HTML5 in 15 min
Everything you need to know about HTML5 in 15 minEverything you need to know about HTML5 in 15 min
Everything you need to know about HTML5 in 15 min
 
10 Best Web Development Frameworks for Your Business Needs
10 Best Web Development Frameworks for Your Business Needs10 Best Web Development Frameworks for Your Business Needs
10 Best Web Development Frameworks for Your Business Needs
 

Más de Christian 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
 
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
 
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
 
Leveling up your JavaScipt - DrupalJam 2017
Leveling up your JavaScipt - DrupalJam 2017Leveling up your JavaScipt - DrupalJam 2017
Leveling up your JavaScipt - DrupalJam 2017Christian Heilmann
 
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
 
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
 
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
 

Más de Christian Heilmann (20)

Taking the "vile" out of privilege
Taking the "vile" out of privilegeTaking the "vile" out of privilege
Taking the "vile" out of privilege
 
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"
 
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
 
Leveling up your JavaScipt - DrupalJam 2017
Leveling up your JavaScipt - DrupalJam 2017Leveling up your JavaScipt - DrupalJam 2017
Leveling up your JavaScipt - DrupalJam 2017
 
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)
 
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
 
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
 
Supercharging Public Speaking
Supercharging Public SpeakingSupercharging Public Speaking
Supercharging Public Speaking
 

Último

Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI AgeCprime
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfNeo4j
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesManik S Magar
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Nikki Chapple
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxfnnc6jmgwh
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Mark Goldstein
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsRavi Sanghani
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality AssuranceInflectra
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...itnewsafrica
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Strongerpanagenda
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observabilityitnewsafrica
 

Último (20)

Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI Age
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdf
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and Insights
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
 

Building for real standards (includes notes)

  • 1. Building for Real Standards Today we’ll talk about building to standards and what that means in a HTML5 world.
  • 2. http://www.flickr.com/photos/grendelkhan/118876699/ Standards, what are they good for, huh? When the talk is about web development there can be a pushback from people claiming that standards are falling behind and there is no need for them. A standard is nothing that should hold you back, instead it should bring predictability to a certain trade or market. Imagine a world where screws weren’t standardised the way they are - you’d need a different tool to assemble and disassemble any piece of furniture or machinery. As it stands, one type of screwdriver allows you to get very far and work with a massively diverse range of materials.
  • 3. It’s complicated... On the web this can get confusing as HTML5 is such a marketing term by now that it is hard to find a standard to apply.
  • 4. This problem is exacerbated by the amount of standards that are not HTML5 but always mentioned with it. This diagram shows just how confusing that can get. What people call HTML5 is not it in most of the cases and both the W3C and the WHATWG have “Web developer editions” of their proposals - meaning that a lot in the documentation is actually aimed at browser/parser makers rather than web developers.
  • 5. Desktop Everybody Laptop Mobile wants a piece Tablet of the action... Fridge ... When we talk about HTML5 we should also always remember that the web moved on. We don’t just build for Desktop machines where we can expect a certain resolution, speed and connectivity. A large chunk of the HTML5 world means building solutions for mobile devices.
  • 6. Microsoft Google Mozilla Everybody Opera has solutions Apple Adobe to try out... Facebook Twitter ... A large part of the innovation around HTML5 happens not in the working group or the WHATWG but comes directly from browser vendors and software companies. All of these have vendor prefixes. This means that they can be great innovation that can lead to a standard, but for now they are experimental and can change whilst you apply them. Make sure to use them accordingly - with a fallback.
  • 7. Demo time: HTML5 basics Get the code examples on https://github.com/codepo8/buildingforrealstandards and check the README for how to show them
  • 8. Memo time: Use what is needed - don’t TXTCODE Safety goggles on! Develop for the future Build for the person who maintains your work. You can find more instructions how we reached these conclusions in the README of the code examples.
  • 9. Demo time: Client side thumbnails? Get the code examples on https://github.com/codepo8/buildingforrealstandards/canvasthumber and check the README for how to show them
  • 10. Memo time: Browsers are powerful pieces of software The client side rules! Use what the client can do You can find more instructions how we reached these conclusions in the README of the code examples.
  • 11. Safety in production? As you can see HTML5 is incredibly powerful but also in flux. What you are excited about today might not be available tomorrow. Therefore when you want to use HTML5 in production you need to add some safe-guards.
  • 12. http://caniuse.com/ Caniuse.com is a great resource to see how supported a certain HTML5 or CSS3 is in the browsers your users are likely to be on. Simple, constantly updated tables show you the current support in a very simple fashion.
  • 13. http://modernizr.com/ Modernizr.com is a JavaScript library that makes feature detection easy. Instead of knowing all the ins and outs of testing if the current setup supports @font-face for example all you know is call the appropriate Modernizr function and you get a Boolean back. Modernizr is used and supported by a lot of large web sites.
  • 14. http://html5please.com/ HTML5please.com is a web site powered by caniuse.com which shows you how safe it is to use a certain new technology and gives you fallback examples and polyfill solutions to bring missing functionality to legacy browsers.
  • 15. http://html5boilerplate.com/ HTML5boilerplate.com is a great starting point for your next HTML5 project. Simply download the zip of the boilerplate, unpack it and edit the index.html. Boilerplate includes a lot of fixes for legacy browsers to make your product work across the board.
  • 16. Do you want to know more? If you want to know more about all of this, don’t wait for the right book to be sold or training to come to your town. Up-to-date information is available for free on the web, and - even more importantly - we need your input!
  • 17. https://developer.mozilla.org/en-US/learn/html5 At https://developer.mozilla.org/en-US/learn/html5 the Mozilla Developer Network collects a lot of information on “HTML5 and friends” (related technologies like CSS, Web Storage and the like). This documentation is written both my Mozilla experts and Google guest authors and the best about it is that it is a Wiki - so if you have something to add or you find a mistake, just edit it and we’ll review it for you.
  • 18. http://html5doctor.com HTML5doctor.com is a blog dedicated to explaining one HTML5 feature at a time including all the issues with them and how to use them.
  • 19. http://html5demos.com/ HTML5demos.com is a showcase of HTML5 demos started by Remy Sharp, co-author of “Introducing HTML5” - a great book to get you started with the subject matter. These demos both show the basics and the bleeding edge of HTML with a legend on which browsers are supported in them.
  • 20. Last words (not famous). All in all it is important to understand that HTML5 is an evolution in the making. It is a living and changing standard and works very closely with other technologies. Therefore it is important to keep your eyes open and help us make it happen by filing browser bugs and comment on what we do.
  • 21. http://movethewebforward.org/ movethewebforward.org is a great site explaining how you can give back to the community that formed around web standards and how you can be part of a brighter future for web developers and users of web technology - on the web and in apps. Thank you!