SlideShare a Scribd company logo
The Devil and HTML5
Myles Braithwaite
http://myles.tk | me@myles.tk | @mylesb
What is HTML?

•   HTML is a Markup Language.

•   HTML is mainly used to write web
    pages.

•   HTML is not a programming language.



                    2
Why should you
    care?


      3
“Because browsers are now application platforms, ‘the big runtime
 machine’ if you will. I for one have given up several desktop apps
  for their online version, simply because they're much better in
                              most cases.”

         Fabio FZero on the GTALUG Mailing List




                                 4
So Cow{boy,girl} Up.



         5
What is new in
  HTML5?


      6
The DOCTYPE



     7
•   The HTML layout engines use the
    DOCTYPE to figure out which layout
    mode to use.




                   8
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
       "http://www.w3.org/TR/html4/strict.dtd">

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
    "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">




                                 9
But in HTML5


•   The DOCTYPE is only required for
    legacy reasons.




                   10
<!DOCTYPE html>




                  11
Semantic Elements



        12
<div id="container">
    <div id="header">
        <ul id="navigation"></ul>
    </div>
    <div id="body">
        <div id="page"></div>
        <div id="sidebar"></div>
    </div>
    <div id="footer"></div>
</div>




                             13
<div id="container">
    <header></header>
    <nav></nav>
    <article>
        <section></section>
    </article>
    <aside></aside>
    <footer></footer>
</div>




                              14
header, nav, article, section, aside footer { display: block; }




                             15
How do you represent
         the date?


•   Tuesday, 13th July, 2010

•   July 13th, 2010

•   2010, July 13th




                      16
How do you represent
           time?


•   9:58 AM

•   09:58




              17
<time datetime="2010-07-13">13th July, 2010</time>
<time datetime="2010-07-13">Today</time>
<time datetime="2010-07-13T19:30:00-05:00">7:30 pm</time>




                             18
<article>
       <time datetime="2010-07-13T19:30:00-05:00" pubdate>
        7:30 pm
    </time>
</article>




                                19
<link   rel="archives" href="/archives.html">
<link   rel="author" href="/author/myles.html">
<link   rel="start" href="/first-post">
<link   rel="prev" href="/prev-post">
<link   rel="next" href="/next-post">
<link   rel="end" href="/last-post">
<link   rel="up" href="/">




                               20
<p>
       <a href="/page/2/"   class="previous" rel="prev">Previous</a>
       <a href="/page/1/"   rel="start">1</a>
       <a href="/page/2/"   rel="prev">2</a>
       <span>3</span>
       <a href="/page/3/"   rel="next">3</a>
       <a href="/page/4/"   rel="end">4</a>
       <a href="/page/3/"   class="next" rel="next">Next</a>
</p>




                                  21
<article>
       <h2>GTALUG Talk about HTML5 Tomorrow at 7:30pm</h2>
       <section>
            <p>I am going to be talking about HTML5 at the next
                GTALUG meeting.</p>
       </section>
       <p class="meta">
            By <a href="http://myles.tk/" rel="author">Myles</a>;
            published <time datetime="2010-07-12" pubdate>
             yesterday</time>;
        tagged with <span rel="tag">GTALUG</span> &amp;
         <span rel="tag">HTML5</span>.
    </p>
</article>




                                 22
Forms



  23
Placeholder Text

•   A short hint to (word or parse) to aid
    the user in their data entry.

•   Shouldn’t be used as an alternative to
    <label>.




                     24
<form action="." method="post" accept-charset="utf-8">
    <p><label>Email <input type="text" name="email"
        id="id_email" placeholder="you@example.com">
    </label></p>
    <p><input type="submit"></p>
</form>




                             25
26
37signals Launchpad
         27
Compatibility


IE   Firefox   Chrome   iPhone   Android


☐      ☑         ☑        ☑         ?




                 28
New Input Types



       29
checkbox        <input type="checkbox">


 radio button     <input type="radio">


password field     <input type="password">


drop-down list    <select><option>


  file picker      <input type="file">


submit button     <input type="submit">


  plain text      <input type="text">



                 30
What has been added?
      Email        <input type="email">

   Web Address     <input type="url">

     Number        <input type="number">

      Range        <input type="range">

   Date Pickers    <input type="date">

     Search        <input type="search">

     Colour        <input type="color">


                  31
•   Web browser will provided the
    validation.




                    32
•   If you try to submit an email field with
    “youexample.com” instead of
    “you@exmaple.com” the browser will
    stop you.




                     33
Virtual Keyboards




        34
Geolocation



     35
•   The ability to find where the user is
    located.

•   Uses an attached GPS device.

•   Or the users external IP address.




                     36
navigator.geolocation.getCurrentPosition(function(position){
    var lat = position.coords.latitude;
    var log = position.coords.longitude;
    alert("You are at coronets " + lat + ', ' + log);
});




                             37
Local Storage



      38
Cookies on Steroids



         39
With non of the
bandwidth drawbacks


         40
•   Allows the web application to use a
    key/value database on the client
    computer.

•   This data is never transmitted to the
    web server (unlike cookies).




                     41
•   Internet Explore=>8.0

•   Mozilla Firefox=>3.5

•   Chrome=>4.0

•   Opera=>10.5

•   iOS=>2.0

•   Android=>2.0

                    42
var first_name = localStorage.getItem("first_name");

localStorage.setItem("first_name", first_name);




                             43
Web SQL Database


•   Allows you to use a SQLite database
    for local storage.




                    44
Offline
Web Applications


       45
•   Allows you to create a manifest file that
    list all your static content.

•   So it can be cached/downloaded to the
    clients computer.




                     46
CACHE MANIFEST
/media/admin/css/base.css
/media/admin/css/changelists.css
/media/admin/css/dashboard.css
/media/admin/css/forms.css
/media/admin/css/global.css
/media/admin/css/layout.css
/media/admin/css/login.css
/media/admin/css/null.css
/media/admin/css/patch-iewin.css

                 47
More information
•   WHATWG Spec <http://j.mp/dqpmc3>

•   Mozilla’s Docs <http://j.mp/9lrDZ8>

•   Apple’s Docs <http://j.mp/9D2P2C>

•   Google’s Using AppCache to Launch
    Offline <http://j.mp/97vz71>, <http://
    j.mp/d4VWDN>, and <http://j.mp/
    aOnzW7>

                    48
<video> Tag



     49
•   Allows you to server the best video
    format (MP4, Ogg Vorbis, WebM,
    H.264) for the user.




                    50
Will this kill Flash?



          51
For Video?
   Yes.


    52
For anything else?
       No.


        53
<video id="movie" width="320" height="240" preload controls>
    <source src="movie.mp4" type='video/mp4;
codecs="avc1.42E01E, mp4a.40.2"'>
    <source src="movie.webm" type='video/webm; codecs="vp8,
vorbis"'>
    <source src="movie.ogv" type='video/ogg; codecs="theora,
vorbis"'>
    <object width="320" height="240" type="application/x-
shockwave-flash" data="flowplayer-3.2.1.swf">
         <param name="movie" value="flowplayer-3.2.1.swf">
         <param name="allowfullscreen" value="true">
         <param name="flashvars" value='config={"clip": {"url":
"http://example.org/movie.mp4", "autoPlay":false,
"autoBuffering":true}}'>
  </object>
</video>


                              54
I don’t know anything
    about Canvas.



          55
Sorry



  56
Who’s Pushing
  HTML5


      57
Apple



  58
j.mp/aUVu1w
     59
apple.com/html5
       60
Google



  61
•   HTML5Rocks <html5rocks.com>

•   YouTube HTML5 <youtube.com/html5>

•   Gmail supports HTML5 Drag and Drop
    <myl.be/6g7l>




                  62
google.com/pacman
        63
youtube.com/chromefastball
            64
65
66
67

More Related Content

What's hot

HTML5 e CSS3 (slides della sessione tenuta al DIMI di Udine)
HTML5 e CSS3 (slides della sessione tenuta al DIMI di Udine) HTML5 e CSS3 (slides della sessione tenuta al DIMI di Udine)
HTML5 e CSS3 (slides della sessione tenuta al DIMI di Udine)
Gabriele Gigliotti
 
What you need to know bout html5
What you need to know bout html5What you need to know bout html5
What you need to know bout html5
Kevin DeRudder
 
Opening up the Social Web - Standards that are bridging the Islands
Opening up the Social Web - Standards that are bridging the Islands Opening up the Social Web - Standards that are bridging the Islands
Opening up the Social Web - Standards that are bridging the Islands
Bastian Hofmann
 
Introduction to HTML5
Introduction to HTML5Introduction to HTML5
Introduction to HTML5
Adrian Olaru
 
20190118_NetadashiMeetup#8_React2019
20190118_NetadashiMeetup#8_React201920190118_NetadashiMeetup#8_React2019
20190118_NetadashiMeetup#8_React2019
Makoto Mori
 
Diy frozen snow globe
Diy frozen snow globeDiy frozen snow globe
Diy frozen snow globe
raveenashrynayr03
 
HTML 5 - Overview
HTML 5 - OverviewHTML 5 - Overview
HTML 5 - Overview
Marcelio Leal
 
The Thinking behind BEM
The Thinking behind BEMThe Thinking behind BEM
The Thinking behind BEM
Varya Stepanova
 
SocketStream
SocketStreamSocketStream
SocketStream
Paul Jensen
 
Browsers with Wings
Browsers with WingsBrowsers with Wings
Browsers with Wings
Remy Sharp
 
High Performance Ajax Applications
High Performance Ajax ApplicationsHigh Performance Ajax Applications
High Performance Ajax Applications
Julien Lecomte
 
Cookies and sessions
Cookies and sessionsCookies and sessions
Cookies and sessions
UdaAs PaNchi
 
HTML5: friend or foe (to Flash)?
HTML5: friend or foe (to Flash)?HTML5: friend or foe (to Flash)?
HTML5: friend or foe (to Flash)?
Remy Sharp
 
Web UI performance tuning
Web UI performance tuningWeb UI performance tuning
Web UI performance tuning
Andy Pemberton
 
What is HTML 5?
What is HTML 5?What is HTML 5?
What is HTML 5?
Susan Winters
 
JS Lab`16. Владимир Воевидка: "Как работает браузер"
JS Lab`16. Владимир Воевидка: "Как работает браузер"JS Lab`16. Владимир Воевидка: "Как работает браузер"
JS Lab`16. Владимир Воевидка: "Как работает браузер"
GeeksLab Odessa
 
Odoo - CMS performances optimization
Odoo - CMS performances optimizationOdoo - CMS performances optimization
Odoo - CMS performances optimization
Odoo
 
WordPress and Ajax
WordPress and AjaxWordPress and Ajax
WordPress and Ajax
Ronald Huereca
 
HTML5 APIs - Where No Man Has Gone Before! - GothamJS
HTML5 APIs - Where No Man Has Gone Before! - GothamJSHTML5 APIs - Where No Man Has Gone Before! - GothamJS
HTML5 APIs - Where No Man Has Gone Before! - GothamJS
Robert Nyman
 
Leave No One Behind with HTML5 - FFWD.PRO, Croatia
Leave No One Behind with HTML5 - FFWD.PRO, CroatiaLeave No One Behind with HTML5 - FFWD.PRO, Croatia
Leave No One Behind with HTML5 - FFWD.PRO, Croatia
Robert Nyman
 

What's hot (20)

HTML5 e CSS3 (slides della sessione tenuta al DIMI di Udine)
HTML5 e CSS3 (slides della sessione tenuta al DIMI di Udine) HTML5 e CSS3 (slides della sessione tenuta al DIMI di Udine)
HTML5 e CSS3 (slides della sessione tenuta al DIMI di Udine)
 
What you need to know bout html5
What you need to know bout html5What you need to know bout html5
What you need to know bout html5
 
Opening up the Social Web - Standards that are bridging the Islands
Opening up the Social Web - Standards that are bridging the Islands Opening up the Social Web - Standards that are bridging the Islands
Opening up the Social Web - Standards that are bridging the Islands
 
Introduction to HTML5
Introduction to HTML5Introduction to HTML5
Introduction to HTML5
 
20190118_NetadashiMeetup#8_React2019
20190118_NetadashiMeetup#8_React201920190118_NetadashiMeetup#8_React2019
20190118_NetadashiMeetup#8_React2019
 
Diy frozen snow globe
Diy frozen snow globeDiy frozen snow globe
Diy frozen snow globe
 
HTML 5 - Overview
HTML 5 - OverviewHTML 5 - Overview
HTML 5 - Overview
 
The Thinking behind BEM
The Thinking behind BEMThe Thinking behind BEM
The Thinking behind BEM
 
SocketStream
SocketStreamSocketStream
SocketStream
 
Browsers with Wings
Browsers with WingsBrowsers with Wings
Browsers with Wings
 
High Performance Ajax Applications
High Performance Ajax ApplicationsHigh Performance Ajax Applications
High Performance Ajax Applications
 
Cookies and sessions
Cookies and sessionsCookies and sessions
Cookies and sessions
 
HTML5: friend or foe (to Flash)?
HTML5: friend or foe (to Flash)?HTML5: friend or foe (to Flash)?
HTML5: friend or foe (to Flash)?
 
Web UI performance tuning
Web UI performance tuningWeb UI performance tuning
Web UI performance tuning
 
What is HTML 5?
What is HTML 5?What is HTML 5?
What is HTML 5?
 
JS Lab`16. Владимир Воевидка: "Как работает браузер"
JS Lab`16. Владимир Воевидка: "Как работает браузер"JS Lab`16. Владимир Воевидка: "Как работает браузер"
JS Lab`16. Владимир Воевидка: "Как работает браузер"
 
Odoo - CMS performances optimization
Odoo - CMS performances optimizationOdoo - CMS performances optimization
Odoo - CMS performances optimization
 
WordPress and Ajax
WordPress and AjaxWordPress and Ajax
WordPress and Ajax
 
HTML5 APIs - Where No Man Has Gone Before! - GothamJS
HTML5 APIs - Where No Man Has Gone Before! - GothamJSHTML5 APIs - Where No Man Has Gone Before! - GothamJS
HTML5 APIs - Where No Man Has Gone Before! - GothamJS
 
Leave No One Behind with HTML5 - FFWD.PRO, Croatia
Leave No One Behind with HTML5 - FFWD.PRO, CroatiaLeave No One Behind with HTML5 - FFWD.PRO, Croatia
Leave No One Behind with HTML5 - FFWD.PRO, Croatia
 

Viewers also liked

extending-php
extending-phpextending-php
extending-php
tutorialsruby
 
Google App Engine
Google App EngineGoogle App Engine
Google App Engine
Myles Braithwaite
 
GTALUG Short Talk On Mercurial
GTALUG Short Talk On MercurialGTALUG Short Talk On Mercurial
GTALUG Short Talk On Mercurial
Myles Braithwaite
 
GTALUG Presentation on CouchDB
GTALUG Presentation on CouchDBGTALUG Presentation on CouchDB
GTALUG Presentation on CouchDB
Myles Braithwaite
 
Django GTALUG Presentation
Django GTALUG PresentationDjango GTALUG Presentation
Django GTALUG Presentation
Myles Braithwaite
 
LessCSS Presentation @ April 2015 GTALUG Meeting
LessCSS Presentation @ April 2015 GTALUG MeetingLessCSS Presentation @ April 2015 GTALUG Meeting
LessCSS Presentation @ April 2015 GTALUG Meeting
Myles Braithwaite
 
The Internet and Your Business
The Internet and Your BusinessThe Internet and Your Business
The Internet and Your Business
Myles Braithwaite
 
Take a Stroll in the Bazaar
Take a Stroll in the BazaarTake a Stroll in the Bazaar
Take a Stroll in the Bazaar
Myles Braithwaite
 

Viewers also liked (8)

extending-php
extending-phpextending-php
extending-php
 
Google App Engine
Google App EngineGoogle App Engine
Google App Engine
 
GTALUG Short Talk On Mercurial
GTALUG Short Talk On MercurialGTALUG Short Talk On Mercurial
GTALUG Short Talk On Mercurial
 
GTALUG Presentation on CouchDB
GTALUG Presentation on CouchDBGTALUG Presentation on CouchDB
GTALUG Presentation on CouchDB
 
Django GTALUG Presentation
Django GTALUG PresentationDjango GTALUG Presentation
Django GTALUG Presentation
 
LessCSS Presentation @ April 2015 GTALUG Meeting
LessCSS Presentation @ April 2015 GTALUG MeetingLessCSS Presentation @ April 2015 GTALUG Meeting
LessCSS Presentation @ April 2015 GTALUG Meeting
 
The Internet and Your Business
The Internet and Your BusinessThe Internet and Your Business
The Internet and Your Business
 
Take a Stroll in the Bazaar
Take a Stroll in the BazaarTake a Stroll in the Bazaar
Take a Stroll in the Bazaar
 

Similar to The Devil and HTML5

[O'Reilly] HTML5 Design
[O'Reilly] HTML5 Design[O'Reilly] HTML5 Design
[O'Reilly] HTML5 Design
Christopher Schmitt
 
Html5 drupal7 with mandakini kumari(1)
Html5 drupal7 with mandakini kumari(1)Html5 drupal7 with mandakini kumari(1)
Html5 drupal7 with mandakini kumari(1)
Mandakini Kumari
 
Upload[1]
Upload[1]Upload[1]
HTML5
HTML5HTML5
[edUi] HTML5 Workshop
[edUi] HTML5 Workshop[edUi] HTML5 Workshop
[edUi] HTML5 Workshop
Christopher Schmitt
 
Html5 101
Html5 101Html5 101
Html5 101
Mouafa Ahmed
 
[convergese] Adaptive Images in Responsive Web Design
[convergese] Adaptive Images in Responsive Web Design[convergese] Adaptive Images in Responsive Web Design
[convergese] Adaptive Images in Responsive Web Design
Christopher Schmitt
 
Introduction to Html5
Introduction to Html5Introduction to Html5
Introduction to Html5
www.netgains.org
 
20111014 mu me_html5
20111014 mu me_html520111014 mu me_html5
20111014 mu me_html5
Erik Duval
 
Html5 101
Html5 101Html5 101
Html5 101
Mouafa Ahmed
 
[heweb11] HTML5 Makeover
[heweb11] HTML5 Makeover[heweb11] HTML5 Makeover
[heweb11] HTML5 Makeover
Christopher Schmitt
 
Html5 and css3
Html5 and css3Html5 and css3
Html5 and css3
Deniss Platonov
 
Introduccion a HTML5
Introduccion a HTML5Introduccion a HTML5
Introduccion a HTML5
Pablo Garaizar
 
html5
html5html5
[PSU Web 2011] HTML5 Design
[PSU Web 2011] HTML5 Design[PSU Web 2011] HTML5 Design
[PSU Web 2011] HTML5 Design
Christopher Schmitt
 
HTML5, the new buzzword
HTML5, the new buzzwordHTML5, the new buzzword
HTML5, the new buzzword
Frédéric Harper
 
HTML5 Design
HTML5 DesignHTML5 Design
HTML5 Design
Christopher Schmitt
 
Html5 intro
Html5 introHtml5 intro
Html5 intro
Kevin DeRudder
 
Familiar HTML5 - 事例とサンプルコードから学ぶ 身近で普通に使わているHTML5
Familiar HTML5 - 事例とサンプルコードから学ぶ 身近で普通に使わているHTML5Familiar HTML5 - 事例とサンプルコードから学ぶ 身近で普通に使わているHTML5
Familiar HTML5 - 事例とサンプルコードから学ぶ 身近で普通に使わているHTML5
Sadaaki HIRAI
 
HTML5 New and Improved
HTML5   New and ImprovedHTML5   New and Improved
HTML5 New and Improved
Timothy Fisher
 

Similar to The Devil and HTML5 (20)

[O'Reilly] HTML5 Design
[O'Reilly] HTML5 Design[O'Reilly] HTML5 Design
[O'Reilly] HTML5 Design
 
Html5 drupal7 with mandakini kumari(1)
Html5 drupal7 with mandakini kumari(1)Html5 drupal7 with mandakini kumari(1)
Html5 drupal7 with mandakini kumari(1)
 
Upload[1]
Upload[1]Upload[1]
Upload[1]
 
HTML5
HTML5HTML5
HTML5
 
[edUi] HTML5 Workshop
[edUi] HTML5 Workshop[edUi] HTML5 Workshop
[edUi] HTML5 Workshop
 
Html5 101
Html5 101Html5 101
Html5 101
 
[convergese] Adaptive Images in Responsive Web Design
[convergese] Adaptive Images in Responsive Web Design[convergese] Adaptive Images in Responsive Web Design
[convergese] Adaptive Images in Responsive Web Design
 
Introduction to Html5
Introduction to Html5Introduction to Html5
Introduction to Html5
 
20111014 mu me_html5
20111014 mu me_html520111014 mu me_html5
20111014 mu me_html5
 
Html5 101
Html5 101Html5 101
Html5 101
 
[heweb11] HTML5 Makeover
[heweb11] HTML5 Makeover[heweb11] HTML5 Makeover
[heweb11] HTML5 Makeover
 
Html5 and css3
Html5 and css3Html5 and css3
Html5 and css3
 
Introduccion a HTML5
Introduccion a HTML5Introduccion a HTML5
Introduccion a HTML5
 
html5
html5html5
html5
 
[PSU Web 2011] HTML5 Design
[PSU Web 2011] HTML5 Design[PSU Web 2011] HTML5 Design
[PSU Web 2011] HTML5 Design
 
HTML5, the new buzzword
HTML5, the new buzzwordHTML5, the new buzzword
HTML5, the new buzzword
 
HTML5 Design
HTML5 DesignHTML5 Design
HTML5 Design
 
Html5 intro
Html5 introHtml5 intro
Html5 intro
 
Familiar HTML5 - 事例とサンプルコードから学ぶ 身近で普通に使わているHTML5
Familiar HTML5 - 事例とサンプルコードから学ぶ 身近で普通に使わているHTML5Familiar HTML5 - 事例とサンプルコードから学ぶ 身近で普通に使わているHTML5
Familiar HTML5 - 事例とサンプルコードから学ぶ 身近で普通に使わているHTML5
 
HTML5 New and Improved
HTML5   New and ImprovedHTML5   New and Improved
HTML5 New and Improved
 

Recently uploaded

ASIMOV: Enterprise RAG at Dialog Axiata PLC
ASIMOV: Enterprise RAG at Dialog Axiata PLCASIMOV: Enterprise RAG at Dialog Axiata PLC
ASIMOV: Enterprise RAG at Dialog Axiata PLC
Zilliz
 
Chapter 5 - Managing Test Activities V4.0
Chapter 5 - Managing Test Activities V4.0Chapter 5 - Managing Test Activities V4.0
Chapter 5 - Managing Test Activities V4.0
Neeraj Kumar Singh
 
Database Management Myths for Developers
Database Management Myths for DevelopersDatabase Management Myths for Developers
Database Management Myths for Developers
John Sterrett
 
Details of description part II: Describing images in practice - Tech Forum 2024
Details of description part II: Describing images in practice - Tech Forum 2024Details of description part II: Describing images in practice - Tech Forum 2024
Details of description part II: Describing images in practice - Tech Forum 2024
BookNet Canada
 
HTTP Adaptive Streaming – Quo Vadis (2024)
HTTP Adaptive Streaming – Quo Vadis (2024)HTTP Adaptive Streaming – Quo Vadis (2024)
HTTP Adaptive Streaming – Quo Vadis (2024)
Alpen-Adria-Universität
 
Building an Agentic RAG locally with Ollama and Milvus
Building an Agentic RAG locally with Ollama and MilvusBuilding an Agentic RAG locally with Ollama and Milvus
Building an Agentic RAG locally with Ollama and Milvus
Zilliz
 
Knowledge and Prompt Engineering Part 2 Focus on Prompt Design Approaches
Knowledge and Prompt Engineering Part 2 Focus on Prompt Design ApproachesKnowledge and Prompt Engineering Part 2 Focus on Prompt Design Approaches
Knowledge and Prompt Engineering Part 2 Focus on Prompt Design Approaches
Earley Information Science
 
Cookies program to display the information though cookie creation
Cookies program to display the information though cookie creationCookies program to display the information though cookie creation
Cookies program to display the information though cookie creation
shanthidl1
 
Leveraging AI for Software Developer Productivity.pptx
Leveraging AI for Software Developer Productivity.pptxLeveraging AI for Software Developer Productivity.pptx
Leveraging AI for Software Developer Productivity.pptx
petabridge
 
Chapter 6 - Test Tools Considerations V4.0
Chapter 6 - Test Tools Considerations V4.0Chapter 6 - Test Tools Considerations V4.0
Chapter 6 - Test Tools Considerations V4.0
Neeraj Kumar Singh
 
MYIR Product Brochure - A Global Provider of Embedded SOMs & Solutions
MYIR Product Brochure - A Global Provider of Embedded SOMs & SolutionsMYIR Product Brochure - A Global Provider of Embedded SOMs & Solutions
MYIR Product Brochure - A Global Provider of Embedded SOMs & Solutions
Linda Zhang
 
Distributed System Performance Troubleshooting Like You’ve Been Doing it for ...
Distributed System Performance Troubleshooting Like You’ve Been Doing it for ...Distributed System Performance Troubleshooting Like You’ve Been Doing it for ...
Distributed System Performance Troubleshooting Like You’ve Been Doing it for ...
ScyllaDB
 
Coordinate Systems in FME 101 - Webinar Slides
Coordinate Systems in FME 101 - Webinar SlidesCoordinate Systems in FME 101 - Webinar Slides
Coordinate Systems in FME 101 - Webinar Slides
Safe Software
 
DealBook of Ukraine: 2024 edition
DealBook of Ukraine: 2024 editionDealBook of Ukraine: 2024 edition
DealBook of Ukraine: 2024 edition
Yevgen Sysoyev
 
How to Improve Your Ability to Solve Complex Performance Problems
How to Improve Your Ability to Solve Complex Performance ProblemsHow to Improve Your Ability to Solve Complex Performance Problems
How to Improve Your Ability to Solve Complex Performance Problems
ScyllaDB
 
GDG Cloud Southlake #34: Neatsun Ziv: Automating Appsec
GDG Cloud Southlake #34: Neatsun Ziv: Automating AppsecGDG Cloud Southlake #34: Neatsun Ziv: Automating Appsec
GDG Cloud Southlake #34: Neatsun Ziv: Automating Appsec
James Anderson
 
Chapter 2 - Testing Throughout SDLC V4.0
Chapter 2 - Testing Throughout SDLC V4.0Chapter 2 - Testing Throughout SDLC V4.0
Chapter 2 - Testing Throughout SDLC V4.0
Neeraj Kumar Singh
 
STKI Israeli Market Study 2024 final v1
STKI Israeli Market Study 2024 final  v1STKI Israeli Market Study 2024 final  v1
STKI Israeli Market Study 2024 final v1
Dr. Jimmy Schwarzkopf
 
Quantum Communications Q&A with Gemini LLM
Quantum Communications Q&A with Gemini LLMQuantum Communications Q&A with Gemini LLM
Quantum Communications Q&A with Gemini LLM
Vijayananda Mohire
 
What’s New in Teams Calling, Meetings and Devices May 2024
What’s New in Teams Calling, Meetings and Devices May 2024What’s New in Teams Calling, Meetings and Devices May 2024
What’s New in Teams Calling, Meetings and Devices May 2024
Stephanie Beckett
 

Recently uploaded (20)

ASIMOV: Enterprise RAG at Dialog Axiata PLC
ASIMOV: Enterprise RAG at Dialog Axiata PLCASIMOV: Enterprise RAG at Dialog Axiata PLC
ASIMOV: Enterprise RAG at Dialog Axiata PLC
 
Chapter 5 - Managing Test Activities V4.0
Chapter 5 - Managing Test Activities V4.0Chapter 5 - Managing Test Activities V4.0
Chapter 5 - Managing Test Activities V4.0
 
Database Management Myths for Developers
Database Management Myths for DevelopersDatabase Management Myths for Developers
Database Management Myths for Developers
 
Details of description part II: Describing images in practice - Tech Forum 2024
Details of description part II: Describing images in practice - Tech Forum 2024Details of description part II: Describing images in practice - Tech Forum 2024
Details of description part II: Describing images in practice - Tech Forum 2024
 
HTTP Adaptive Streaming – Quo Vadis (2024)
HTTP Adaptive Streaming – Quo Vadis (2024)HTTP Adaptive Streaming – Quo Vadis (2024)
HTTP Adaptive Streaming – Quo Vadis (2024)
 
Building an Agentic RAG locally with Ollama and Milvus
Building an Agentic RAG locally with Ollama and MilvusBuilding an Agentic RAG locally with Ollama and Milvus
Building an Agentic RAG locally with Ollama and Milvus
 
Knowledge and Prompt Engineering Part 2 Focus on Prompt Design Approaches
Knowledge and Prompt Engineering Part 2 Focus on Prompt Design ApproachesKnowledge and Prompt Engineering Part 2 Focus on Prompt Design Approaches
Knowledge and Prompt Engineering Part 2 Focus on Prompt Design Approaches
 
Cookies program to display the information though cookie creation
Cookies program to display the information though cookie creationCookies program to display the information though cookie creation
Cookies program to display the information though cookie creation
 
Leveraging AI for Software Developer Productivity.pptx
Leveraging AI for Software Developer Productivity.pptxLeveraging AI for Software Developer Productivity.pptx
Leveraging AI for Software Developer Productivity.pptx
 
Chapter 6 - Test Tools Considerations V4.0
Chapter 6 - Test Tools Considerations V4.0Chapter 6 - Test Tools Considerations V4.0
Chapter 6 - Test Tools Considerations V4.0
 
MYIR Product Brochure - A Global Provider of Embedded SOMs & Solutions
MYIR Product Brochure - A Global Provider of Embedded SOMs & SolutionsMYIR Product Brochure - A Global Provider of Embedded SOMs & Solutions
MYIR Product Brochure - A Global Provider of Embedded SOMs & Solutions
 
Distributed System Performance Troubleshooting Like You’ve Been Doing it for ...
Distributed System Performance Troubleshooting Like You’ve Been Doing it for ...Distributed System Performance Troubleshooting Like You’ve Been Doing it for ...
Distributed System Performance Troubleshooting Like You’ve Been Doing it for ...
 
Coordinate Systems in FME 101 - Webinar Slides
Coordinate Systems in FME 101 - Webinar SlidesCoordinate Systems in FME 101 - Webinar Slides
Coordinate Systems in FME 101 - Webinar Slides
 
DealBook of Ukraine: 2024 edition
DealBook of Ukraine: 2024 editionDealBook of Ukraine: 2024 edition
DealBook of Ukraine: 2024 edition
 
How to Improve Your Ability to Solve Complex Performance Problems
How to Improve Your Ability to Solve Complex Performance ProblemsHow to Improve Your Ability to Solve Complex Performance Problems
How to Improve Your Ability to Solve Complex Performance Problems
 
GDG Cloud Southlake #34: Neatsun Ziv: Automating Appsec
GDG Cloud Southlake #34: Neatsun Ziv: Automating AppsecGDG Cloud Southlake #34: Neatsun Ziv: Automating Appsec
GDG Cloud Southlake #34: Neatsun Ziv: Automating Appsec
 
Chapter 2 - Testing Throughout SDLC V4.0
Chapter 2 - Testing Throughout SDLC V4.0Chapter 2 - Testing Throughout SDLC V4.0
Chapter 2 - Testing Throughout SDLC V4.0
 
STKI Israeli Market Study 2024 final v1
STKI Israeli Market Study 2024 final  v1STKI Israeli Market Study 2024 final  v1
STKI Israeli Market Study 2024 final v1
 
Quantum Communications Q&A with Gemini LLM
Quantum Communications Q&A with Gemini LLMQuantum Communications Q&A with Gemini LLM
Quantum Communications Q&A with Gemini LLM
 
What’s New in Teams Calling, Meetings and Devices May 2024
What’s New in Teams Calling, Meetings and Devices May 2024What’s New in Teams Calling, Meetings and Devices May 2024
What’s New in Teams Calling, Meetings and Devices May 2024
 

The Devil and HTML5

  • 1. The Devil and HTML5 Myles Braithwaite http://myles.tk | me@myles.tk | @mylesb
  • 2. What is HTML? • HTML is a Markup Language. • HTML is mainly used to write web pages. • HTML is not a programming language. 2
  • 3. Why should you care? 3
  • 4. “Because browsers are now application platforms, ‘the big runtime machine’ if you will. I for one have given up several desktop apps for their online version, simply because they're much better in most cases.” Fabio FZero on the GTALUG Mailing List 4
  • 6. What is new in HTML5? 6
  • 8. The HTML layout engines use the DOCTYPE to figure out which layout mode to use. 8
  • 9. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> 9
  • 10. But in HTML5 • The DOCTYPE is only required for legacy reasons. 10
  • 13. <div id="container"> <div id="header"> <ul id="navigation"></ul> </div> <div id="body"> <div id="page"></div> <div id="sidebar"></div> </div> <div id="footer"></div> </div> 13
  • 14. <div id="container"> <header></header> <nav></nav> <article> <section></section> </article> <aside></aside> <footer></footer> </div> 14
  • 15. header, nav, article, section, aside footer { display: block; } 15
  • 16. How do you represent the date? • Tuesday, 13th July, 2010 • July 13th, 2010 • 2010, July 13th 16
  • 17. How do you represent time? • 9:58 AM • 09:58 17
  • 18. <time datetime="2010-07-13">13th July, 2010</time> <time datetime="2010-07-13">Today</time> <time datetime="2010-07-13T19:30:00-05:00">7:30 pm</time> 18
  • 19. <article> <time datetime="2010-07-13T19:30:00-05:00" pubdate> 7:30 pm </time> </article> 19
  • 20. <link rel="archives" href="/archives.html"> <link rel="author" href="/author/myles.html"> <link rel="start" href="/first-post"> <link rel="prev" href="/prev-post"> <link rel="next" href="/next-post"> <link rel="end" href="/last-post"> <link rel="up" href="/"> 20
  • 21. <p> <a href="/page/2/" class="previous" rel="prev">Previous</a> <a href="/page/1/" rel="start">1</a> <a href="/page/2/" rel="prev">2</a> <span>3</span> <a href="/page/3/" rel="next">3</a> <a href="/page/4/" rel="end">4</a> <a href="/page/3/" class="next" rel="next">Next</a> </p> 21
  • 22. <article> <h2>GTALUG Talk about HTML5 Tomorrow at 7:30pm</h2> <section> <p>I am going to be talking about HTML5 at the next GTALUG meeting.</p> </section> <p class="meta"> By <a href="http://myles.tk/" rel="author">Myles</a>; published <time datetime="2010-07-12" pubdate> yesterday</time>; tagged with <span rel="tag">GTALUG</span> &amp; <span rel="tag">HTML5</span>. </p> </article> 22
  • 24. Placeholder Text • A short hint to (word or parse) to aid the user in their data entry. • Shouldn’t be used as an alternative to <label>. 24
  • 25. <form action="." method="post" accept-charset="utf-8"> <p><label>Email <input type="text" name="email" id="id_email" placeholder="you@example.com"> </label></p> <p><input type="submit"></p> </form> 25
  • 26. 26
  • 28. Compatibility IE Firefox Chrome iPhone Android ☐ ☑ ☑ ☑ ? 28
  • 30. checkbox <input type="checkbox"> radio button <input type="radio"> password field <input type="password"> drop-down list <select><option> file picker <input type="file"> submit button <input type="submit"> plain text <input type="text"> 30
  • 31. What has been added? Email <input type="email"> Web Address <input type="url"> Number <input type="number"> Range <input type="range"> Date Pickers <input type="date"> Search <input type="search"> Colour <input type="color"> 31
  • 32. Web browser will provided the validation. 32
  • 33. If you try to submit an email field with “youexample.com” instead of “you@exmaple.com” the browser will stop you. 33
  • 36. The ability to find where the user is located. • Uses an attached GPS device. • Or the users external IP address. 36
  • 37. navigator.geolocation.getCurrentPosition(function(position){ var lat = position.coords.latitude; var log = position.coords.longitude; alert("You are at coronets " + lat + ', ' + log); }); 37
  • 40. With non of the bandwidth drawbacks 40
  • 41. Allows the web application to use a key/value database on the client computer. • This data is never transmitted to the web server (unlike cookies). 41
  • 42. Internet Explore=>8.0 • Mozilla Firefox=>3.5 • Chrome=>4.0 • Opera=>10.5 • iOS=>2.0 • Android=>2.0 42
  • 43. var first_name = localStorage.getItem("first_name"); localStorage.setItem("first_name", first_name); 43
  • 44. Web SQL Database • Allows you to use a SQLite database for local storage. 44
  • 46. Allows you to create a manifest file that list all your static content. • So it can be cached/downloaded to the clients computer. 46
  • 48. More information • WHATWG Spec <http://j.mp/dqpmc3> • Mozilla’s Docs <http://j.mp/9lrDZ8> • Apple’s Docs <http://j.mp/9D2P2C> • Google’s Using AppCache to Launch Offline <http://j.mp/97vz71>, <http:// j.mp/d4VWDN>, and <http://j.mp/ aOnzW7> 48
  • 50. Allows you to server the best video format (MP4, Ogg Vorbis, WebM, H.264) for the user. 50
  • 51. Will this kill Flash? 51
  • 52. For Video? Yes. 52
  • 54. <video id="movie" width="320" height="240" preload controls> <source src="movie.mp4" type='video/mp4; codecs="avc1.42E01E, mp4a.40.2"'> <source src="movie.webm" type='video/webm; codecs="vp8, vorbis"'> <source src="movie.ogv" type='video/ogg; codecs="theora, vorbis"'> <object width="320" height="240" type="application/x- shockwave-flash" data="flowplayer-3.2.1.swf"> <param name="movie" value="flowplayer-3.2.1.swf"> <param name="allowfullscreen" value="true"> <param name="flashvars" value='config={"clip": {"url": "http://example.org/movie.mp4", "autoPlay":false, "autoBuffering":true}}'> </object> </video> 54
  • 55. I don’t know anything about Canvas. 55
  • 57. Who’s Pushing HTML5 57
  • 62. HTML5Rocks <html5rocks.com> • YouTube HTML5 <youtube.com/html5> • Gmail supports HTML5 Drag and Drop <myl.be/6g7l> 62
  • 65. 65
  • 66. 66
  • 67. 67

Editor's Notes