SlideShare a Scribd company logo
HTML5 & the
future today
of the web
Hello. We are John
and Nathan. Here is
a bit of background
about each of us...
John Dyer



                              =                          +
 Master of Theology
Dallas Theological Seminary       Desktop OS = Windows        Mobile = iOS




Nathan Smith



                              =+
  Master of Divinity
Asbury Theological Seminary         Desktop OS = Mac         Mobile = Android
What we have in common: We
are both web developers who
want to see the “Big-C” church
better utilize web technologies.

We also both    JavaScript :)
So, what is HTML5? It is the
newest version of HTML. But
also a phrase for everything
cool + new on the web. Not
all that’s labeled HTML5 *is*
HTML5. But that’s okay...
New Hotness!
HTML5 + CSS3 + JavaScript
Apple likes HTML5




   http://www.apple.com/html5/
Google likes HTML5




    http://www.html5rocks.com/
Mozilla (Firefox) likes HTML5




     https://developer.mozilla.org/en/HTML/HTML5
Opera likes HTML5




http://www.opera.com/docs/specs/presto25/html5/
Last (but not least) – Microsoft likes HTML5




               http://ie.microsoft.com/testdrive/
HTML5
is terse
Simplified doctype declaration



HTML5
<!DOCTYPE html>


XHTML 1.0 Transitional
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML
1.0 Transitional//EN" "http://www.w3.org/
TR/xhtml1/DTD/xhtml1-transitional.dtd">
Simplified JavaScript embedding

HTML5
<script>
 // Code here.
</script>


XHTML 1.0 Transitional
<script type="text/javascript">
 /* <![CDATA[ */
 // Code here.
 /* ]]> */
</script>
Simplified embedded styles


HTML5
<style>
 // Code here.
</style>


XHTML 1.0 Transitional
<style type="text/css">
 // Code here.
</style>
Simplified stylesheet linking



HTML5
<link rel="stylesheet" href="file.css" />


XHTML 1.0 Transitional
<link rel="stylesheet" href="file.css"
type="text/css" media="all" />
New tags
in HTML5
<header>


<nav>


<aside>        <div class=”content”>


<figure>       <article>


 <img />
                <section>


<figcaption>     <hgroup>


<details>        <p>
                 etc...
 <summary>

                <section>
 <p>
 etc...
                 <dialog>




<footer>
But the aforementioned tags
don’t work well in Internet
Explorer (IE8 and older).

To make IE behave, you
can use an “HTML5 shim”
JavaScript library...
code.google.com/p/html5shim
... but this requires extra code and adds a bit
of fragility to your site (IE breaks w/ JS off).

The up-side is improved semantic richness. In
practicality though, there are not (yet) any
tangible SEO or accessibility gains to be had.

Given the trade-offs involved, and lack of
tangible benefit, we’d recommend continuing
to use <div> with “HTML5” class names...
<div class=”header”>


<div class=”nav”>


<div class=”aside”>        <div class=”content”>


<div class=”figure”>       <div class=”article”>


 <img />
                            <div class=”section”>


<div class=”figcaption”>     <div class=”hgroup”>


<div class=”details”>        <p>
                             etc...
 <div class=”summary”>

                            <div class=”section”>
 <p>
 etc...
                             <div class=”dialog”>




<div class=”footer”>
... that way, you are writing code with the
“semantics” of the new HTML5 tags, without
the headaches of worrying about legacy
browser support. Then, one great day when
IE8 no longer has significant market-share,
you can “flip the switch” so to speak.

Now that we’ve got those tags out of the
way, let’s talk about the fun parts of HTML5.
<canvas>
     + <svg>
Though SVG (Scalable Vector Graphics)
pre-dates HTML5, it is finally viable now
that IE9 supports it. This means all major
browsers will support SVG and canvas.
We won’t cover <svg> or <canvas> in
        detail during this talk, but two helpful
        JavaScript libraries are worth noting...
Raphaël (SVG) – Dmitry Baranovskiy   Processing JS (Canvas) – John Resig




         http://www.raphaeljs.com/           http://www.processingjs.org/
SVG is like construction paper. Layers retain
distinct shapes. SVG files can live without JS.




            http://www.flickr.com/photos/124330160/2127121118/
Canvas is like a whiteboard drawing. No layers.
Note: Canvas only works in the browser via JS.




             http://www.flickr.com/photos/azuriblue/3350954960/
Canvas demos – ChromeExperiments.com
New <form> elements
<select><option>...
<textarea></textarea>
<input type="checkbox" />           HTML4,
<input type="file" />               XHTML
<input type="radio" />              (and HTML5)
<input type="text" />
... etc.
                    <input   type="date" />
                    <input   type="datetime" />
                    <input   type="email" />
                    <input   type="month" />
    New in          <input   type="number" />
    HTML5           <input   type="range" />
                    <input   type="tel" />
                    <input   type="time" />
                    <input   type="url" />
All form elements – in Opera
Adaptive HTML5 keyboards on mobile devices




              http://www.diveintohtml5.org/forms.html
HTML5
“Apps”
Example – ScrumCards.net

 iOS – Home screen app icon.      iOS – No browser chrome.       Android – Browser chrome
<link rel=”apple-touch-icon” />   Status bar color can be set.   always present. Caching only.
Making an HTML5 “app” is pretty easy
*.manifest lets you store files offline
http://www.sencha.com/products/touch/
PhoneGap helps HTML5 power “native” apps




               http://www.phonegap.com/
HTML5’s (experimental) JavaScript APIs

Desktop Features           Browser Database
– Drag and drop            – Web SQL
– Live notifications        – IndexedDB

Much Much More!             Cool! But not
– document.querySelector    (yet) ready for
– Geolocation
– localStorage                prime-time.
– Web workers
<video>
How do we make
it work reliably?
Flash was the most
reliable way to play
video on the web.

Roughly 99% of
all desktops have
Flash player.

iPhone/iPad don’t.
They do support
HTML5 <video>

              http://www.apple.com/hotnews/thoughts-on-flash/
H.264 = Money
Figuratively + Literally... It’s the
most widely supported format.
But licensing costs browser
makers $5 million a year.

      http://www.readwriteweb.com/archives/will_idealism_be_firefoxs_downfall.php
H.264 support in the “Big-5”
YES



      Internet Explorer 9             Google Chrome           Safari




NO



                            Firefox                   Opera
Ogg = “Ugh!”
Nobody wants to re-encode
countless hours of video so
Firefox & Opera can play it.
– And have it look sub-par.

           http://www.xiph.org/ogg/
WebM/VP8
From: Google, Mozilla, Adobe.
Looks great. Is open source.
IE9 is on the fence. It doesn’t
(yet) work on mobile devices.

           http://www.webmproject.org/
1 file to rule them all...
H.264 via HTML5 with a fallback
to Flash or Silverlight (playing the
same file) if the browser cannot
play H.264 natively via <video>.

            http://www.mediaelementjs.com/
Native <video> UI controls



                                                                             OPERA

                                                                             SAFARI

                                                                             FIREFOX


                                                                             CHROME


                                                                             IE9




http://dev.opera.com/articles/view/custom-html5-video-player-with-css3-and-jquery/
CSS styled video controls – MediaElementJS.com
JavaScript <video> libraries



– videojs.com
– projekktor.com
– jwplayer.com
– jilion.com/sublime/video
– mediaelementjs.com
CSS3
not HTML5
but is still
awesome
CSS3 gradients
.gradient {
  background: #eee url(gradient.png) repeat-x;

    background: -webkit-gradient(linear, left top,
                 left bottom,
                 color-stop(0, #fff),
                 color-stop(1, #eee));

    background: -moz-linear-gradient(top center,
                 #fff 0%,
                 #eee 100%);
}

The first declaration works in all browsers. The second is for
Safari and Google Chrome, which both use the WebKit
rendering engine. The last is for Firefox (Mozilla prefix).

Tip: Crop gradient images from a screenshot of a CSS3
page render. Ensures visual consistency and saves work.
westciv.com/tools/gradients
CSS3 box-shadow
.drop_shadow {
    -webkit-box-shadow: rgba(0, 0, 0, 0.5) 0 2px 5px;


    -moz-box-shadow: rgba(0, 0, 0, 0.5) 0 2px 5px;


    box-shadow: rgba(0, 0, 0, 0.5) 0 2px 5px;
}

The first declaration is for Safari and Chrome. The second is
for Firefox. The third is for all browsers, which will eventually
support box-shadow without a prefix.

Currently: Opera and IE9 support it.
CSS3 border-radius
.rounded_corners {
    -webkit-border-radius: 5px;


    -moz-border-radius: 5px;


    border-radius: 5px;
}

The first line is for Safari and Chrome. Second is for Firefox.
The third is for all browsers, which will eventually support
border-radius without a prefix. Currently: Opera and IE9.

More border-radius code here:
gist.github.com/262663
CSS3 text-shadow
.text_shadow {
  text-shadow: rgba(0, 0, 0, 0.5) 0 1px 1px;
}

Thankfully, all browsers that support text-shadow do so with
the exact same syntax: Chrome, Safari, Firefox, Opera.

– No word from IE9 yet.
@font-face
 Times + Helvetica
   have a posse
Common fonts on Windows + Mac


Times                               Palatino
Georgia                             Comic Sans
Arial -or-                          Trebuchet
Helvetica                           Verdana
Courier                             ... etc.



      http://www.ampsoft.net/webdesign-l/WindowsMacFonts.html
How can we use non-common fonts?

Flat images: It works. But hard to maintain.

sIFR: Pretty. Uses Flash. Fails on iPhone/iPad.
Can be affected by ad-blocking extensions.

Cufón: Better. Uses JavaScript + <canvas>.
But can be intensive. Best used on headlines.

@font-face: No scripting. Pure CSS. Can be
used for any text. Yet tricky to implement.
Paul Irish’s “Bulletproof @font-face syntax”




        http://paulirish.com/2009/bulletproof-font-face-implementation-syntax/
@font-face
@font-face {
  font-family: 'GentiumRegular';
  src: url('genr102_0-webfont.eot');
  src: local('☺'), url('genr102_0-webfont.woff') format
  ('woff'), url('genr102_0-webfont.ttf') format('truetype'),
  url('genr102_0-webfont.svg#webfontX7s0ZYjS') format('svg');
}

p {
  font-family: 'GentiumRegular';
}


File generator
fontsquirrel.com/fontface/generator

Google fonts API (super easy)
code.google.com/webfonts
Bible Web App
HTML5 + CSS3 + @font-face


  biblewebapp.com
Echo HTML5
jQuery Desktop
HTML5 + CSS3 + JavaScript


desktop.sonspring.com
Echo HTML5
“Slablet”
  HTML5 + CSS3 + JavaScript


host.sonspring.com/slablet
Echo HTML5
Social “Graph”
Cool! But who owns your data?
Lots of standards and
protocols that aren't really
being used right now.
Facebook “Like”: not open,
social, or graphic. But fun
and gives advertisers data.
Helpful tool for adding “Like” buttons




              http://www.openlike.org/
Open social data – A cautionary tale...




             http://www.youropenbook.org/
HTML5 Resources
– alistapart.com/articles/get-ready-for-html-5
– dev.w3.org/html5/spec/Overview.html
– diveintohtml5.org
– html5.org
– html5demos.com
– html5doctor.com
– sencha.com/products/touch
– w3schools.com/html5
CSS3 Resources
– border-radius.com
– code.google.com/webfonts
– css3.info
– css3generator.com
– css3please.com
– fontsquirrel.com
– modernizr.com
– w3.org/Style/CSS/current-work
– westciv.com/tools
slideshare.net/nathansmith/echo-html5



     Questions?
     John Dyer
     – twitter.com/johndyer
     – johndyer.name
     Nathan Smith
     – twitter.com/nathansmith
     – sonspring.com

More Related Content

PDF
Brave new world of HTML5 - Interlink Conference Vancouver 04.06.2011
PPTX
Getting Started with HTML5 in Tech Com (STC 2012)
PDF
HTML5 JS APIs
PDF
Realize mais com HTML 5 e CSS 3 - 16 EDTED - RJ
PDF
XML and Web Services with Groovy
ODP
PDF
Building an HTML5 Video Player
PDF
Progressive Enhancement 2.0 (jQuery Conference SF Bay Area 2011)
Brave new world of HTML5 - Interlink Conference Vancouver 04.06.2011
Getting Started with HTML5 in Tech Com (STC 2012)
HTML5 JS APIs
Realize mais com HTML 5 e CSS 3 - 16 EDTED - RJ
XML and Web Services with Groovy
Building an HTML5 Video Player
Progressive Enhancement 2.0 (jQuery Conference SF Bay Area 2011)

What's hot (19)

PDF
Opening up the Social Web - Standards that are bridging the Islands
PDF
Web Standards: Fueling Innovation [Web Design World Boston '08]
PDF
Taiwan Web Standards Talk 2011
PDF
HTML5 Semantics, Accessibility & Forms [Carsonified HTML5 Online Conference]
PDF
How to make Ajax work for you
KEY
HTML 5 & CSS 3
PDF
HTML5 Smart Markup for Smarter Websites [FoWD NYC 2011]
PDF
Html 5 in a big nutshell
PPTX
Introduction to HTML5
PDF
HTML5 and the dawn of rich mobile web applications pt 1
PPTX
HTML5: The Next Internet Goldrush
PDF
Building mobile applications with DrupalGap
PPT
HTML5 Mullet: Forms & Input Validation
PDF
Introduction to HTML5
PDF
HTML5, just another presentation :)
PDF
Killing the Angle Bracket
PDF
jQuery UI and Plugins
PDF
HTML 5 - Overview
KEY
Html5 Brown Bag
Opening up the Social Web - Standards that are bridging the Islands
Web Standards: Fueling Innovation [Web Design World Boston '08]
Taiwan Web Standards Talk 2011
HTML5 Semantics, Accessibility & Forms [Carsonified HTML5 Online Conference]
How to make Ajax work for you
HTML 5 & CSS 3
HTML5 Smart Markup for Smarter Websites [FoWD NYC 2011]
Html 5 in a big nutshell
Introduction to HTML5
HTML5 and the dawn of rich mobile web applications pt 1
HTML5: The Next Internet Goldrush
Building mobile applications with DrupalGap
HTML5 Mullet: Forms & Input Validation
Introduction to HTML5
HTML5, just another presentation :)
Killing the Angle Bracket
jQuery UI and Plugins
HTML 5 - Overview
Html5 Brown Bag
Ad

Viewers also liked (20)

PDF
HTML5--The 30,000' View (A fast-paced overview of HTML5)
PDF
HTML5 JavaScript APIs
PDF
HTML5 for PHP Developers - IPC
PDF
HTML5 on mobile
PPSX
Introduction to Html5
PDF
HTML5 Essentials
PDF
HTML5 Canvas - The Future of Graphics on the Web
KEY
Building Rich Mobile Apps with HTML5, CSS3 and JavaScript
PDF
JavaScript & HTML5 - Brave New World
PDF
課程名稱:八屏一雲時代來臨 教你HTML5六小時打通(1)
PPT
Evaluating Websites
PPTX
Web comparison
PPTX
Html structure
PDF
The Worst Website Ever - Case Study Lings Cars
PPTX
Websites: The Good, the Bad and the Ugly
RTF
CBSE Grade12, Computer Science, Sample Question Paper
PPT
What is hot on the web right now - A W3C perspective
PDF
Magento 2 - An Intro to a Modern PHP-Based System - ZendCon 2015
PPTX
Html5 structure & semantic
PPTX
HTML - Structure
HTML5--The 30,000' View (A fast-paced overview of HTML5)
HTML5 JavaScript APIs
HTML5 for PHP Developers - IPC
HTML5 on mobile
Introduction to Html5
HTML5 Essentials
HTML5 Canvas - The Future of Graphics on the Web
Building Rich Mobile Apps with HTML5, CSS3 and JavaScript
JavaScript & HTML5 - Brave New World
課程名稱:八屏一雲時代來臨 教你HTML5六小時打通(1)
Evaluating Websites
Web comparison
Html structure
The Worst Website Ever - Case Study Lings Cars
Websites: The Good, the Bad and the Ugly
CBSE Grade12, Computer Science, Sample Question Paper
What is hot on the web right now - A W3C perspective
Magento 2 - An Intro to a Modern PHP-Based System - ZendCon 2015
Html5 structure & semantic
HTML - Structure
Ad

Similar to Echo HTML5 (20)

PDF
WordCamp Thessaloniki2011 The NextWeb
PDF
HTML5 Technical Executive Summary
PDF
Word camp nextweb
PPTX
HTML5: An Overview
PDF
Dive Into HTML5
PDF
HTML5 and friends
PPT
Html5 basics
PDF
Building a Better Web with HTML5 and CSS3
PPTX
HTML5 introduction for beginners
ZIP
Html5 public
KEY
Introduction to HTML5/CSS3 In Drupal 7
PDF
PDF
HTML5 for the Flash Developer
PDF
Jsf2 html5-jazoon
PPTX
Html 5
PPT
html5 css3 the future of web technology
PPT
Is it time to start using HTML 5
PDF
11 tips to...
PDF
HTML tips
WordCamp Thessaloniki2011 The NextWeb
HTML5 Technical Executive Summary
Word camp nextweb
HTML5: An Overview
Dive Into HTML5
HTML5 and friends
Html5 basics
Building a Better Web with HTML5 and CSS3
HTML5 introduction for beginners
Html5 public
Introduction to HTML5/CSS3 In Drupal 7
HTML5 for the Flash Developer
Jsf2 html5-jazoon
Html 5
html5 css3 the future of web technology
Is it time to start using HTML 5
11 tips to...
HTML tips

More from Nathan Smith (20)

PDF
Getting Started with React
PDF
HTML5 Can't Do That
PDF
Rapid Templating with Serve
PDF
Proactive Responsive Design
PDF
Use Web Skills To Build Mobile Apps
PDF
Red Dirt JS
PDF
Refresh OKC
PDF
DrupalCon jQuery
PDF
DSVC Design Talk
PDF
Think Vitamin CSS
PDF
Adobe MAX 2008: HTML/CSS + Fireworks
PDF
Meet Clumsy
PDF
Accelerated Grid Theming
PDF
Urban Leadership Slides
PDF
Themes from Ascent of a Leader
PDF
7 Storey Mountain
PDF
Marketing 450 Guest Lecture
PDF
Fundamental Design Principles
PDF
Striking a Balance: Middle Ground in Front-End Development
PDF
Echo Conference 2008
Getting Started with React
HTML5 Can't Do That
Rapid Templating with Serve
Proactive Responsive Design
Use Web Skills To Build Mobile Apps
Red Dirt JS
Refresh OKC
DrupalCon jQuery
DSVC Design Talk
Think Vitamin CSS
Adobe MAX 2008: HTML/CSS + Fireworks
Meet Clumsy
Accelerated Grid Theming
Urban Leadership Slides
Themes from Ascent of a Leader
7 Storey Mountain
Marketing 450 Guest Lecture
Fundamental Design Principles
Striking a Balance: Middle Ground in Front-End Development
Echo Conference 2008

Echo HTML5

  • 1. HTML5 & the future today of the web
  • 2. Hello. We are John and Nathan. Here is a bit of background about each of us...
  • 3. John Dyer = + Master of Theology Dallas Theological Seminary Desktop OS = Windows Mobile = iOS Nathan Smith =+ Master of Divinity Asbury Theological Seminary Desktop OS = Mac Mobile = Android
  • 4. What we have in common: We are both web developers who want to see the “Big-C” church better utilize web technologies. We also both JavaScript :)
  • 5. So, what is HTML5? It is the newest version of HTML. But also a phrase for everything cool + new on the web. Not all that’s labeled HTML5 *is* HTML5. But that’s okay...
  • 6. New Hotness! HTML5 + CSS3 + JavaScript
  • 7. Apple likes HTML5 http://www.apple.com/html5/
  • 8. Google likes HTML5 http://www.html5rocks.com/
  • 9. Mozilla (Firefox) likes HTML5 https://developer.mozilla.org/en/HTML/HTML5
  • 11. Last (but not least) – Microsoft likes HTML5 http://ie.microsoft.com/testdrive/
  • 13. Simplified doctype declaration HTML5 <!DOCTYPE html> XHTML 1.0 Transitional <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ TR/xhtml1/DTD/xhtml1-transitional.dtd">
  • 14. Simplified JavaScript embedding HTML5 <script> // Code here. </script> XHTML 1.0 Transitional <script type="text/javascript"> /* <![CDATA[ */ // Code here. /* ]]> */ </script>
  • 15. Simplified embedded styles HTML5 <style> // Code here. </style> XHTML 1.0 Transitional <style type="text/css"> // Code here. </style>
  • 16. Simplified stylesheet linking HTML5 <link rel="stylesheet" href="file.css" /> XHTML 1.0 Transitional <link rel="stylesheet" href="file.css" type="text/css" media="all" />
  • 18. <header> <nav> <aside> <div class=”content”> <figure> <article> <img /> <section> <figcaption> <hgroup> <details> <p> etc... <summary> <section> <p> etc... <dialog> <footer>
  • 19. But the aforementioned tags don’t work well in Internet Explorer (IE8 and older). To make IE behave, you can use an “HTML5 shim” JavaScript library... code.google.com/p/html5shim
  • 20. ... but this requires extra code and adds a bit of fragility to your site (IE breaks w/ JS off). The up-side is improved semantic richness. In practicality though, there are not (yet) any tangible SEO or accessibility gains to be had. Given the trade-offs involved, and lack of tangible benefit, we’d recommend continuing to use <div> with “HTML5” class names...
  • 21. <div class=”header”> <div class=”nav”> <div class=”aside”> <div class=”content”> <div class=”figure”> <div class=”article”> <img /> <div class=”section”> <div class=”figcaption”> <div class=”hgroup”> <div class=”details”> <p> etc... <div class=”summary”> <div class=”section”> <p> etc... <div class=”dialog”> <div class=”footer”>
  • 22. ... that way, you are writing code with the “semantics” of the new HTML5 tags, without the headaches of worrying about legacy browser support. Then, one great day when IE8 no longer has significant market-share, you can “flip the switch” so to speak. Now that we’ve got those tags out of the way, let’s talk about the fun parts of HTML5.
  • 23. <canvas> + <svg> Though SVG (Scalable Vector Graphics) pre-dates HTML5, it is finally viable now that IE9 supports it. This means all major browsers will support SVG and canvas.
  • 24. We won’t cover <svg> or <canvas> in detail during this talk, but two helpful JavaScript libraries are worth noting... Raphaël (SVG) – Dmitry Baranovskiy Processing JS (Canvas) – John Resig http://www.raphaeljs.com/ http://www.processingjs.org/
  • 25. SVG is like construction paper. Layers retain distinct shapes. SVG files can live without JS. http://www.flickr.com/photos/124330160/2127121118/
  • 26. Canvas is like a whiteboard drawing. No layers. Note: Canvas only works in the browser via JS. http://www.flickr.com/photos/azuriblue/3350954960/
  • 27. Canvas demos – ChromeExperiments.com
  • 28. New <form> elements <select><option>... <textarea></textarea> <input type="checkbox" /> HTML4, <input type="file" /> XHTML <input type="radio" /> (and HTML5) <input type="text" /> ... etc. <input type="date" /> <input type="datetime" /> <input type="email" /> <input type="month" /> New in <input type="number" /> HTML5 <input type="range" /> <input type="tel" /> <input type="time" /> <input type="url" />
  • 29. All form elements – in Opera
  • 30. Adaptive HTML5 keyboards on mobile devices http://www.diveintohtml5.org/forms.html
  • 32. Example – ScrumCards.net iOS – Home screen app icon. iOS – No browser chrome. Android – Browser chrome <link rel=”apple-touch-icon” /> Status bar color can be set. always present. Caching only.
  • 33. Making an HTML5 “app” is pretty easy
  • 34. *.manifest lets you store files offline
  • 36. PhoneGap helps HTML5 power “native” apps http://www.phonegap.com/
  • 37. HTML5’s (experimental) JavaScript APIs Desktop Features Browser Database – Drag and drop – Web SQL – Live notifications – IndexedDB Much Much More! Cool! But not – document.querySelector (yet) ready for – Geolocation – localStorage prime-time. – Web workers
  • 38. <video> How do we make it work reliably?
  • 39. Flash was the most reliable way to play video on the web. Roughly 99% of all desktops have Flash player. iPhone/iPad don’t. They do support HTML5 <video> http://www.apple.com/hotnews/thoughts-on-flash/
  • 40. H.264 = Money Figuratively + Literally... It’s the most widely supported format. But licensing costs browser makers $5 million a year. http://www.readwriteweb.com/archives/will_idealism_be_firefoxs_downfall.php
  • 41. H.264 support in the “Big-5” YES Internet Explorer 9 Google Chrome Safari NO Firefox Opera
  • 42. Ogg = “Ugh!” Nobody wants to re-encode countless hours of video so Firefox & Opera can play it. – And have it look sub-par. http://www.xiph.org/ogg/
  • 43. WebM/VP8 From: Google, Mozilla, Adobe. Looks great. Is open source. IE9 is on the fence. It doesn’t (yet) work on mobile devices. http://www.webmproject.org/
  • 44. 1 file to rule them all... H.264 via HTML5 with a fallback to Flash or Silverlight (playing the same file) if the browser cannot play H.264 natively via <video>. http://www.mediaelementjs.com/
  • 45. Native <video> UI controls OPERA SAFARI FIREFOX CHROME IE9 http://dev.opera.com/articles/view/custom-html5-video-player-with-css3-and-jquery/
  • 46. CSS styled video controls – MediaElementJS.com
  • 47. JavaScript <video> libraries – videojs.com – projekktor.com – jwplayer.com – jilion.com/sublime/video – mediaelementjs.com
  • 48. CSS3 not HTML5 but is still awesome
  • 49. CSS3 gradients .gradient { background: #eee url(gradient.png) repeat-x; background: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff), color-stop(1, #eee)); background: -moz-linear-gradient(top center, #fff 0%, #eee 100%); } The first declaration works in all browsers. The second is for Safari and Google Chrome, which both use the WebKit rendering engine. The last is for Firefox (Mozilla prefix). Tip: Crop gradient images from a screenshot of a CSS3 page render. Ensures visual consistency and saves work.
  • 51. CSS3 box-shadow .drop_shadow { -webkit-box-shadow: rgba(0, 0, 0, 0.5) 0 2px 5px; -moz-box-shadow: rgba(0, 0, 0, 0.5) 0 2px 5px; box-shadow: rgba(0, 0, 0, 0.5) 0 2px 5px; } The first declaration is for Safari and Chrome. The second is for Firefox. The third is for all browsers, which will eventually support box-shadow without a prefix. Currently: Opera and IE9 support it.
  • 52. CSS3 border-radius .rounded_corners { -webkit-border-radius: 5px; -moz-border-radius: 5px; border-radius: 5px; } The first line is for Safari and Chrome. Second is for Firefox. The third is for all browsers, which will eventually support border-radius without a prefix. Currently: Opera and IE9. More border-radius code here: gist.github.com/262663
  • 53. CSS3 text-shadow .text_shadow { text-shadow: rgba(0, 0, 0, 0.5) 0 1px 1px; } Thankfully, all browsers that support text-shadow do so with the exact same syntax: Chrome, Safari, Firefox, Opera. – No word from IE9 yet.
  • 54. @font-face Times + Helvetica have a posse
  • 55. Common fonts on Windows + Mac Times Palatino Georgia Comic Sans Arial -or- Trebuchet Helvetica Verdana Courier ... etc. http://www.ampsoft.net/webdesign-l/WindowsMacFonts.html
  • 56. How can we use non-common fonts? Flat images: It works. But hard to maintain. sIFR: Pretty. Uses Flash. Fails on iPhone/iPad. Can be affected by ad-blocking extensions. Cufón: Better. Uses JavaScript + <canvas>. But can be intensive. Best used on headlines. @font-face: No scripting. Pure CSS. Can be used for any text. Yet tricky to implement.
  • 57. Paul Irish’s “Bulletproof @font-face syntax” http://paulirish.com/2009/bulletproof-font-face-implementation-syntax/
  • 58. @font-face @font-face { font-family: 'GentiumRegular'; src: url('genr102_0-webfont.eot'); src: local('☺'), url('genr102_0-webfont.woff') format ('woff'), url('genr102_0-webfont.ttf') format('truetype'), url('genr102_0-webfont.svg#webfontX7s0ZYjS') format('svg'); } p { font-family: 'GentiumRegular'; } File generator fontsquirrel.com/fontface/generator Google fonts API (super easy) code.google.com/webfonts
  • 59. Bible Web App HTML5 + CSS3 + @font-face biblewebapp.com
  • 61. jQuery Desktop HTML5 + CSS3 + JavaScript desktop.sonspring.com
  • 63. “Slablet” HTML5 + CSS3 + JavaScript host.sonspring.com/slablet
  • 65. Social “Graph” Cool! But who owns your data?
  • 66. Lots of standards and protocols that aren't really being used right now. Facebook “Like”: not open, social, or graphic. But fun and gives advertisers data.
  • 67. Helpful tool for adding “Like” buttons http://www.openlike.org/
  • 68. Open social data – A cautionary tale... http://www.youropenbook.org/
  • 69. HTML5 Resources – alistapart.com/articles/get-ready-for-html-5 – dev.w3.org/html5/spec/Overview.html – diveintohtml5.org – html5.org – html5demos.com – html5doctor.com – sencha.com/products/touch – w3schools.com/html5
  • 70. CSS3 Resources – border-radius.com – code.google.com/webfonts – css3.info – css3generator.com – css3please.com – fontsquirrel.com – modernizr.com – w3.org/Style/CSS/current-work – westciv.com/tools
  • 71. slideshare.net/nathansmith/echo-html5 Questions? John Dyer – twitter.com/johndyer – johndyer.name Nathan Smith – twitter.com/nathansmith – sonspring.com