SlideShare a Scribd company logo
INTERMEDIATE HTML AND CSS
CLASS 3Intermediate HTML/CSS ~ Girl Develop It ~
WELCOME!
Girl Develop It is here to provide affordable and
accessible programs to learn software through
mentorship and hands-on instruction.
Some "rules"
We are here for you!
Every question is important
Help each other
Have fun
MICRODATA
MICRODATA
Micro-what?
From the W3C spec:
“Sometimes, it is desirable to annotate
content with specific machine-readable
labels...”
“Microdata allows nested groups of
namevalue pairs to be added to
documents, in parallel with the existing
content.”
Microdata Overview
MICRODATA
Sounds BORING
Why should I care?
GDI Seattle - Intermediate HTML and CSS Class 3 Slides
MICRODATA
Wouldn't it be great if the search results for your
restaurant looked like this?
MICRODATA
Or if search results for your book looked like this?
MICRODATA
Or if search results for your recipe looked like this?
RICH SNIPPETS
“The more information a search result
snippet can provide, the easier it is for
users to decide whether that page is
relevant to their search.”
Rich snippets
RICH SNIPPETS
“With rich snippets, webmasters with
sites containing structured
content...can label their content to
make it clear that each labeled piece of
text represents a certain type of data:
for example, a restaurant name, an
address, or a rating.”
Rich snippets
MICRODATA STRUCTURE
We will add microdata to our favorite pizza restaurant
<div>
L'Amourita Pizza
Located at 123 Main St, Albuquerque, NM.
Phone: 206-555-1234
<a href="http://pizza.com">http://pizza.com</a>
</div>
MICRODATA STRUCTURE
We need to define three things to add microdata to our
sites:
Itemscope attribute
Itemtype attribute
Itemprop attribute
MICRODATA STRUCTURE
Itemscope
<div itemscope>
L'Amourita Pizza
Located at 123 Main St, Albuquerque, NM.
Phone: 206-555-1234
<a href="http://pizza.com">http://pizza.com</a>
</div>
MICRODATA STRUCTURE
Item scope
Sets the "scope" of what we are describing with the
microdata.
All elements nested inside the div with "itemscope" will
adhere to the vocabulary we specify with "itemtype". (i.e.
person, place, recipe)
MICRODATA STRUCTURE
Itemtype
<div itemscope itemtype="http://schema.org/Organization">
L'Amourita Pizza
Located at 123 Main St, Albuquerque, NM.
Phone: 206-555-1234
<a href="http://pizza.com">http://pizza.com</a>
</div>
MICRODATA STRUCTURE
Itemtype
Points you to the place where a microdata type is
defined
Since we're defining a business, we want to point to the
definition of an Organization
defines several type includinghttp://schema.org
Organization
MICRODATA STRUCTURE
Itemprop
<div itemscope itemtype ="http://schema.org/Organization">
<span itemprop ="name">L'Amourita Pizza</span>
Located at 123 Main St, Albuquerque, NM.
Phone: <span itemprop ="tel">206-555-1234</span>
<a href="http://pizza.com" itemprop ="url">http://pizza.com</a>
</div>
MICRODATA STRUCTURE
Itemprop
Itemprop is a property of your Item's type. The available
properties are listed on the relevant page at
For our Organization example, the available include
are: name, url, address, telephone, and location. For the
full list:
http://schema.org/docs/schemas
http://schema.org/Organization
MICRODATA STRUCTURE
Itemprop
Itemprop is a property of your Item's type. The available
properties are listed on the relevant page at
Here are properties of a
http://schema.org/docs/schemas
Recipe
NESTED MICRODATA
We have specified ALMOST everything for our
Organization, but we still don't have entries for the
address
Addresses are their own unique itemtype. So we need
to nest the address information inside a new element
with the itemtype set to Address
<div itemscope itemtype ="http://schema.org/Organization">
<span itemprop ="name">L'Amourita Pizza</span>
Located at 123 Main St, Albuquerque, NM.
Phone: <span itemprop ="tel">206-555-1234</span>
<a href="http://pizza.com" itemprop ="url">http://pizza.com</a>
</div>
NESTED MICRODATA
<div itemscope itemtype ="http://schema.org/Organization">
<span itemprop ="name">L'Amourita Pizza</span>
Located at
<span itemprop ="address" itemscope itemtype ="http://schema.org/PostalAddress">
<span itemprop ="streetAddress">123 Main St</span>,
<span itemprop ="addressLocality">Albuquerque</span>,
<span itemprop ="addressRegion">NM</span>.
</span>
Phone: <span itemprop ="tel">206-555-1234</span>
<a href="http://pizza.com" itemprop ="url">http://pizza.com</a>
</div>
MICRODATA RESOURCES
To make sure google sees your page the way you expect
terms of the microdata), use this tool:
Getting started guide:
Tutorial on microdata from Mark Pilgrim:
Google overview of using Microdata for an Organization:
http://www.google.com/webmasters/tools/richsnippets
http://schema.org/docs/gs.html>
http://diveintohtml5.info/extensibility.html
http://www.google.com/support/webmasters/bin/answ
answer=146861
LET'S DEVELOP IT
Enhance our Women in Computing web site to use
HTML5 & CSS3
Use the schema to describe the women in tech.
Feel free to add more info than we have to use more
itemprops!
Person
MULTIMEDIA
Audio and video are first class citizens in HTML5
MULTIMEDIA
Useful as a replacement for flash on mobile devices
Flash makes mobile devices sad :(
VIDEO
The Dream
The video element was created to make it unnecessary
to use plugins to display video content on your pages.
The idea is to simplify and streamline video content
delivery.
<video src="demo.mp4" type="video/mp4">
Your browser does not support the video element.
</video>
VIDEO
The Reality
If you want to support ALL browsers and ALL video
encodings, you will still need a plugin as a last-resort fall
back plan.
This is because not all browsers read video the same
way, and older browsers (like IE<9) don't support the
video element at all.
VIDEO
The Reality
<video id="movie" width="320" height="240" preload controls>
<source src="pr6.webm" type='video/webm; codecs="vp8, vorbis"' />
<source src="pr6.ogv" type='video/ogg; codecs="theora, vorbis"' />
<source src="pr6.mp4" />
<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://wearehugh.com/dih5/pr6.mp4", "autoPlay":false, "autoBuffering
":true}}' />
<p>Download video as <a href="pr6.mp4">MP4</a>, <a href="pr6.webm">WebM</a>, or <a href="pr6.ogv">Ogg</a>.</p>
</object>
</video>
<script>
</script>
var v = document.getElementById("movie");
v.onclick = function() {
if (v.paused) {
v.play();
} else {
v.pause();
}
});
AUDIO
<audio controls>
<source src="music.mp3" type="audio/mpeg"/>
<source src="music.aac" type="audio/mp4" />
<source src="music.ogg" type="audio/ogg"/>
<!-- now include flash fall back -->
</audio>
MULTIMEDIA
If the dream is still far from reality, what's a dev to do?
The good news is, devs are working on it all the time
Video on the Web
Miro Video Converter
Native Audio in the Browser
CANVAS
Environment for creating dynamic images
Canvas element + javascript = dynamic content!
CANVAS
Animated Factorization
http://bomomo.com/
http://canvasrider.com/
http://lights.elliegoulding.com/
Codepen.io
CANVAS
The first step is to add a canvas element to your HTML.
Make sure you give it an id:
Unfortunately, everything else (all the cool stuff) is
actually in JavaScript and outside the scope of this class
<canvas id="myCanvas" width="400" height="400">
Your browser doesn’t support Canvas.
</canvas>
DEVICE ACCESS
Rich, device-aware features and experiences
GEOLOCATION
Browsers using HTML5 can locate you through IP
addresses, WiFi connections, and GPS towers (for
mobile phones and tablets)
But all the cool interactive stuff is, once again, done in
JavaScript
You didn't expect HTML and CSS to do EVERYTHING,
did you?
Google Map
STORAGE
storage
storage-events
STORAGE
You can use HTML5 Web Storage to persist simple
data.
Two kinds of HTML5 Web Storage:
SessionStorage for per-window data
LocalStorage for global, persistent data (stored to
hard drive through the browser)
SESSIONSTORAGE
Ever accidentally bought two of the same kind of
ticket, because you were shopping the same site in
multiple windows/tabs?
Session Storage provides a good way to prevent this.
Session Storage is not saved to the user’s hard drive
It only lasts for the time that a browser window or tab
is open and viewing a specific site.
LOCALSTORAGE
With Local Storage, we can save data to the user’s
computer, via the browser.
When a user revisits a site in the same browser they
first visited in, any data saved to Local Storage can be
retrieved.
Local Storage is browser-specific: Information you
save while browsing with Firefox will NOT be available
to Safari.
QUESTIONS?
?
GDI Seattle - Intermediate HTML and CSS Class 3 Slides

More Related Content

What's hot (20)

PDF
TDC2013: Arquitetura de apps com Sencha Touch 2
Loiane Groner
 
PDF
Keyboard and Interaction Accessibility Techniques
Jared Smith
 
PDF
10 Simple Rules for Making My Site Accessible
Helena Zubkow
 
PDF
Progressive Web Apps keynote, Google Developer Summit, Tokyo, Japan
Robert Nyman
 
PDF
The Future of the Web - Cold Front conference 2016
Robert Nyman
 
TXT
Upload[1]
mirjana stojanova
 
PDF
The Future of Progressive Web Apps - Google for Indonesia
Robert Nyman
 
PDF
Smart Design
Sara Cannon
 
PDF
All you need to know about JavaScript loading and execution in the browser - ...
Caelum
 
PDF
IconFonts
Sara Cannon
 
PDF
The Future of Progressive Web Apps - View Source conference, Berlin 2016
Robert Nyman
 
PPTX
Extending & Scaling | Dallas PHP
randyhoyt
 
PDF
Mobile web development techniques (and Opera's developer tools)
Andreas Bovens
 
PPTX
That's crazy! how to build single page web apps
Chris Love
 
PDF
How to build a website... the accessible way
Isabel Brison
 
PDF
Now you see me... Adaptive Web Design and Development
Jonas Päckos
 
PPTX
Mobile applications for SharePoint using HTML5
Christian Heindel
 
PDF
Building WebApp with HTML5
Tien Tran Le Duy
 
DOCX
“Good design is obvious. Great design is transparent.” — How we use Bootstrap...
Roni Banerjee
 
TDC2013: Arquitetura de apps com Sencha Touch 2
Loiane Groner
 
Keyboard and Interaction Accessibility Techniques
Jared Smith
 
10 Simple Rules for Making My Site Accessible
Helena Zubkow
 
Progressive Web Apps keynote, Google Developer Summit, Tokyo, Japan
Robert Nyman
 
The Future of the Web - Cold Front conference 2016
Robert Nyman
 
The Future of Progressive Web Apps - Google for Indonesia
Robert Nyman
 
Smart Design
Sara Cannon
 
All you need to know about JavaScript loading and execution in the browser - ...
Caelum
 
IconFonts
Sara Cannon
 
The Future of Progressive Web Apps - View Source conference, Berlin 2016
Robert Nyman
 
Extending & Scaling | Dallas PHP
randyhoyt
 
Mobile web development techniques (and Opera's developer tools)
Andreas Bovens
 
That's crazy! how to build single page web apps
Chris Love
 
How to build a website... the accessible way
Isabel Brison
 
Now you see me... Adaptive Web Design and Development
Jonas Päckos
 
Mobile applications for SharePoint using HTML5
Christian Heindel
 
Building WebApp with HTML5
Tien Tran Le Duy
 
“Good design is obvious. Great design is transparent.” — How we use Bootstrap...
Roni Banerjee
 

Viewers also liked (8)

PPTX
Pic pas demo
Arsen Lukpanov
 
PDF
GDI Seattle - Intro to JavaScript Class 2
Heather Rock
 
PDF
Kuala Lumpur Hotels
quicksweet
 
PDF
GDI Seattle - Intro to JavaScript Class 1
Heather Rock
 
PDF
New cervical screening guidelines. 1
CSPWQ
 
PPTX
Nelson mandela
gauravamity
 
PDF
GDI Seattle - Web Accessibility Class 1
Heather Rock
 
PPSX
Prova origami
piranzor
 
Pic pas demo
Arsen Lukpanov
 
GDI Seattle - Intro to JavaScript Class 2
Heather Rock
 
Kuala Lumpur Hotels
quicksweet
 
GDI Seattle - Intro to JavaScript Class 1
Heather Rock
 
New cervical screening guidelines. 1
CSPWQ
 
Nelson mandela
gauravamity
 
GDI Seattle - Web Accessibility Class 1
Heather Rock
 
Prova origami
piranzor
 
Ad

Similar to GDI Seattle - Intermediate HTML and CSS Class 3 Slides (20)

PDF
HTML5: Introduction
Guillermo Paz
 
PPTX
HTML 5
Rajan Pal
 
PDF
HTML5 features & JavaScript APIs
Fisnik Doko
 
PPTX
Introduction to html5
Muktadiur Rahman
 
PDF
Microformats I: What & Why
Rachael L Moore
 
PPTX
HTML5 for Rich User Experience
Mahbubur Rahman
 
PDF
HTML5 and Beyond
dynamis
 
PPTX
What is HTML 5?
Susan Winters
 
PPTX
About Best friends - HTML, CSS and JS
Naga Harish M
 
PPTX
How to Boost Your SEO by Using Schema Markup?
http://www.pushpendra.net
 
PDF
HTML5
Brad Touesnard
 
PPTX
Presentation about html5 css3
Gopi A
 
ODP
Html5
mikusuraj
 
PDF
HTML5 kickstart - Brooklyn Beta workshop 21.10.2010
Patrick Lauke
 
PDF
HTML5 and web platform
dynamis
 
PDF
HTML5 & CSS3 refresher for mobile apps
Ivano Malavolta
 
PPTX
HTML 5
Himmat Singh
 
PPT
How the BBC Make Web sites
IWMW
 
PPTX
Html5 Basics
Pankaj Bajaj
 
PPT
HTML5: An Introduction To Next Generation Web Development
Tilak Joshi
 
HTML5: Introduction
Guillermo Paz
 
HTML 5
Rajan Pal
 
HTML5 features & JavaScript APIs
Fisnik Doko
 
Introduction to html5
Muktadiur Rahman
 
Microformats I: What & Why
Rachael L Moore
 
HTML5 for Rich User Experience
Mahbubur Rahman
 
HTML5 and Beyond
dynamis
 
What is HTML 5?
Susan Winters
 
About Best friends - HTML, CSS and JS
Naga Harish M
 
Presentation about html5 css3
Gopi A
 
Html5
mikusuraj
 
HTML5 kickstart - Brooklyn Beta workshop 21.10.2010
Patrick Lauke
 
HTML5 and web platform
dynamis
 
HTML5 & CSS3 refresher for mobile apps
Ivano Malavolta
 
HTML 5
Himmat Singh
 
How the BBC Make Web sites
IWMW
 
Html5 Basics
Pankaj Bajaj
 
HTML5: An Introduction To Next Generation Web Development
Tilak Joshi
 
Ad

More from Heather Rock (6)

PDF
GDI Seattle - Intro to JavaScript Class 4
Heather Rock
 
PDF
GDI Seattle Intro to HTML and CSS - Class 4
Heather Rock
 
PDF
GDI Seattle Intro to HTML and CSS - Class 3
Heather Rock
 
PDF
Intro to HTML and CSS - Class 2 Slides
Heather Rock
 
PDF
GDI Seattle Intermediate HTML and CSS Class 1
Heather Rock
 
PDF
GDI Seattle Intro to HTML and CSS - Class 1
Heather Rock
 
GDI Seattle - Intro to JavaScript Class 4
Heather Rock
 
GDI Seattle Intro to HTML and CSS - Class 4
Heather Rock
 
GDI Seattle Intro to HTML and CSS - Class 3
Heather Rock
 
Intro to HTML and CSS - Class 2 Slides
Heather Rock
 
GDI Seattle Intermediate HTML and CSS Class 1
Heather Rock
 
GDI Seattle Intro to HTML and CSS - Class 1
Heather Rock
 

Recently uploaded (20)

PDF
Newgen 2022-Forrester Newgen TEI_13 05 2022-The-Total-Economic-Impact-Newgen-...
darshakparmar
 
PDF
How Startups Are Growing Faster with App Developers in Australia.pdf
India App Developer
 
PDF
Mastering Financial Management in Direct Selling
Epixel MLM Software
 
PPTX
Future Tech Innovations 2025 – A TechLists Insight
TechLists
 
DOCX
Cryptography Quiz: test your knowledge of this important security concept.
Rajni Bhardwaj Grover
 
PPTX
COMPARISON OF RASTER ANALYSIS TOOLS OF QGIS AND ARCGIS
Sharanya Sarkar
 
PDF
Using FME to Develop Self-Service CAD Applications for a Major UK Police Force
Safe Software
 
PDF
Agentic AI lifecycle for Enterprise Hyper-Automation
Debmalya Biswas
 
PPTX
Building Search Using OpenSearch: Limitations and Workarounds
Sease
 
PPTX
"Autonomy of LLM Agents: Current State and Future Prospects", Oles` Petriv
Fwdays
 
PDF
"Beyond English: Navigating the Challenges of Building a Ukrainian-language R...
Fwdays
 
PDF
CIFDAQ Market Insights for July 7th 2025
CIFDAQ
 
PDF
Staying Human in a Machine- Accelerated World
Catalin Jora
 
PDF
The Rise of AI and IoT in Mobile App Tech.pdf
IMG Global Infotech
 
PDF
CIFDAQ Market Wrap for the week of 4th July 2025
CIFDAQ
 
PPTX
OpenID AuthZEN - Analyst Briefing July 2025
David Brossard
 
PPTX
Designing Production-Ready AI Agents
Kunal Rai
 
PDF
"AI Transformation: Directions and Challenges", Pavlo Shaternik
Fwdays
 
PPTX
From Sci-Fi to Reality: Exploring AI Evolution
Svetlana Meissner
 
PPTX
AI Penetration Testing Essentials: A Cybersecurity Guide for 2025
defencerabbit Team
 
Newgen 2022-Forrester Newgen TEI_13 05 2022-The-Total-Economic-Impact-Newgen-...
darshakparmar
 
How Startups Are Growing Faster with App Developers in Australia.pdf
India App Developer
 
Mastering Financial Management in Direct Selling
Epixel MLM Software
 
Future Tech Innovations 2025 – A TechLists Insight
TechLists
 
Cryptography Quiz: test your knowledge of this important security concept.
Rajni Bhardwaj Grover
 
COMPARISON OF RASTER ANALYSIS TOOLS OF QGIS AND ARCGIS
Sharanya Sarkar
 
Using FME to Develop Self-Service CAD Applications for a Major UK Police Force
Safe Software
 
Agentic AI lifecycle for Enterprise Hyper-Automation
Debmalya Biswas
 
Building Search Using OpenSearch: Limitations and Workarounds
Sease
 
"Autonomy of LLM Agents: Current State and Future Prospects", Oles` Petriv
Fwdays
 
"Beyond English: Navigating the Challenges of Building a Ukrainian-language R...
Fwdays
 
CIFDAQ Market Insights for July 7th 2025
CIFDAQ
 
Staying Human in a Machine- Accelerated World
Catalin Jora
 
The Rise of AI and IoT in Mobile App Tech.pdf
IMG Global Infotech
 
CIFDAQ Market Wrap for the week of 4th July 2025
CIFDAQ
 
OpenID AuthZEN - Analyst Briefing July 2025
David Brossard
 
Designing Production-Ready AI Agents
Kunal Rai
 
"AI Transformation: Directions and Challenges", Pavlo Shaternik
Fwdays
 
From Sci-Fi to Reality: Exploring AI Evolution
Svetlana Meissner
 
AI Penetration Testing Essentials: A Cybersecurity Guide for 2025
defencerabbit Team
 

GDI Seattle - Intermediate HTML and CSS Class 3 Slides

  • 1. INTERMEDIATE HTML AND CSS CLASS 3Intermediate HTML/CSS ~ Girl Develop It ~
  • 2. WELCOME! Girl Develop It is here to provide affordable and accessible programs to learn software through mentorship and hands-on instruction. Some "rules" We are here for you! Every question is important Help each other Have fun
  • 4. MICRODATA Micro-what? From the W3C spec: “Sometimes, it is desirable to annotate content with specific machine-readable labels...” “Microdata allows nested groups of namevalue pairs to be added to documents, in parallel with the existing content.” Microdata Overview
  • 7. MICRODATA Wouldn't it be great if the search results for your restaurant looked like this?
  • 8. MICRODATA Or if search results for your book looked like this?
  • 9. MICRODATA Or if search results for your recipe looked like this?
  • 10. RICH SNIPPETS “The more information a search result snippet can provide, the easier it is for users to decide whether that page is relevant to their search.” Rich snippets
  • 11. RICH SNIPPETS “With rich snippets, webmasters with sites containing structured content...can label their content to make it clear that each labeled piece of text represents a certain type of data: for example, a restaurant name, an address, or a rating.” Rich snippets
  • 12. MICRODATA STRUCTURE We will add microdata to our favorite pizza restaurant <div> L'Amourita Pizza Located at 123 Main St, Albuquerque, NM. Phone: 206-555-1234 <a href="http://pizza.com">http://pizza.com</a> </div>
  • 13. MICRODATA STRUCTURE We need to define three things to add microdata to our sites: Itemscope attribute Itemtype attribute Itemprop attribute
  • 14. MICRODATA STRUCTURE Itemscope <div itemscope> L'Amourita Pizza Located at 123 Main St, Albuquerque, NM. Phone: 206-555-1234 <a href="http://pizza.com">http://pizza.com</a> </div>
  • 15. MICRODATA STRUCTURE Item scope Sets the "scope" of what we are describing with the microdata. All elements nested inside the div with "itemscope" will adhere to the vocabulary we specify with "itemtype". (i.e. person, place, recipe)
  • 16. MICRODATA STRUCTURE Itemtype <div itemscope itemtype="http://schema.org/Organization"> L'Amourita Pizza Located at 123 Main St, Albuquerque, NM. Phone: 206-555-1234 <a href="http://pizza.com">http://pizza.com</a> </div>
  • 17. MICRODATA STRUCTURE Itemtype Points you to the place where a microdata type is defined Since we're defining a business, we want to point to the definition of an Organization defines several type includinghttp://schema.org Organization
  • 18. MICRODATA STRUCTURE Itemprop <div itemscope itemtype ="http://schema.org/Organization"> <span itemprop ="name">L'Amourita Pizza</span> Located at 123 Main St, Albuquerque, NM. Phone: <span itemprop ="tel">206-555-1234</span> <a href="http://pizza.com" itemprop ="url">http://pizza.com</a> </div>
  • 19. MICRODATA STRUCTURE Itemprop Itemprop is a property of your Item's type. The available properties are listed on the relevant page at For our Organization example, the available include are: name, url, address, telephone, and location. For the full list: http://schema.org/docs/schemas http://schema.org/Organization
  • 20. MICRODATA STRUCTURE Itemprop Itemprop is a property of your Item's type. The available properties are listed on the relevant page at Here are properties of a http://schema.org/docs/schemas Recipe
  • 21. NESTED MICRODATA We have specified ALMOST everything for our Organization, but we still don't have entries for the address Addresses are their own unique itemtype. So we need to nest the address information inside a new element with the itemtype set to Address <div itemscope itemtype ="http://schema.org/Organization"> <span itemprop ="name">L'Amourita Pizza</span> Located at 123 Main St, Albuquerque, NM. Phone: <span itemprop ="tel">206-555-1234</span> <a href="http://pizza.com" itemprop ="url">http://pizza.com</a> </div>
  • 22. NESTED MICRODATA <div itemscope itemtype ="http://schema.org/Organization"> <span itemprop ="name">L'Amourita Pizza</span> Located at <span itemprop ="address" itemscope itemtype ="http://schema.org/PostalAddress"> <span itemprop ="streetAddress">123 Main St</span>, <span itemprop ="addressLocality">Albuquerque</span>, <span itemprop ="addressRegion">NM</span>. </span> Phone: <span itemprop ="tel">206-555-1234</span> <a href="http://pizza.com" itemprop ="url">http://pizza.com</a> </div>
  • 23. MICRODATA RESOURCES To make sure google sees your page the way you expect terms of the microdata), use this tool: Getting started guide: Tutorial on microdata from Mark Pilgrim: Google overview of using Microdata for an Organization: http://www.google.com/webmasters/tools/richsnippets http://schema.org/docs/gs.html> http://diveintohtml5.info/extensibility.html http://www.google.com/support/webmasters/bin/answ answer=146861
  • 24. LET'S DEVELOP IT Enhance our Women in Computing web site to use HTML5 & CSS3
  • 25. Use the schema to describe the women in tech. Feel free to add more info than we have to use more itemprops! Person
  • 26. MULTIMEDIA Audio and video are first class citizens in HTML5
  • 27. MULTIMEDIA Useful as a replacement for flash on mobile devices Flash makes mobile devices sad :(
  • 28. VIDEO The Dream The video element was created to make it unnecessary to use plugins to display video content on your pages. The idea is to simplify and streamline video content delivery. <video src="demo.mp4" type="video/mp4"> Your browser does not support the video element. </video>
  • 29. VIDEO The Reality If you want to support ALL browsers and ALL video encodings, you will still need a plugin as a last-resort fall back plan. This is because not all browsers read video the same way, and older browsers (like IE<9) don't support the video element at all.
  • 30. VIDEO The Reality <video id="movie" width="320" height="240" preload controls> <source src="pr6.webm" type='video/webm; codecs="vp8, vorbis"' /> <source src="pr6.ogv" type='video/ogg; codecs="theora, vorbis"' /> <source src="pr6.mp4" /> <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://wearehugh.com/dih5/pr6.mp4", "autoPlay":false, "autoBuffering ":true}}' /> <p>Download video as <a href="pr6.mp4">MP4</a>, <a href="pr6.webm">WebM</a>, or <a href="pr6.ogv">Ogg</a>.</p> </object> </video> <script> </script> var v = document.getElementById("movie"); v.onclick = function() { if (v.paused) { v.play(); } else { v.pause(); } });
  • 31. AUDIO <audio controls> <source src="music.mp3" type="audio/mpeg"/> <source src="music.aac" type="audio/mp4" /> <source src="music.ogg" type="audio/ogg"/> <!-- now include flash fall back --> </audio>
  • 32. MULTIMEDIA If the dream is still far from reality, what's a dev to do? The good news is, devs are working on it all the time Video on the Web Miro Video Converter Native Audio in the Browser
  • 33. CANVAS Environment for creating dynamic images Canvas element + javascript = dynamic content!
  • 35. CANVAS The first step is to add a canvas element to your HTML. Make sure you give it an id: Unfortunately, everything else (all the cool stuff) is actually in JavaScript and outside the scope of this class <canvas id="myCanvas" width="400" height="400"> Your browser doesn’t support Canvas. </canvas>
  • 36. DEVICE ACCESS Rich, device-aware features and experiences
  • 37. GEOLOCATION Browsers using HTML5 can locate you through IP addresses, WiFi connections, and GPS towers (for mobile phones and tablets) But all the cool interactive stuff is, once again, done in JavaScript You didn't expect HTML and CSS to do EVERYTHING, did you? Google Map
  • 39. STORAGE You can use HTML5 Web Storage to persist simple data. Two kinds of HTML5 Web Storage: SessionStorage for per-window data LocalStorage for global, persistent data (stored to hard drive through the browser)
  • 40. SESSIONSTORAGE Ever accidentally bought two of the same kind of ticket, because you were shopping the same site in multiple windows/tabs? Session Storage provides a good way to prevent this. Session Storage is not saved to the user’s hard drive It only lasts for the time that a browser window or tab is open and viewing a specific site.
  • 41. LOCALSTORAGE With Local Storage, we can save data to the user’s computer, via the browser. When a user revisits a site in the same browser they first visited in, any data saved to Local Storage can be retrieved. Local Storage is browser-specific: Information you save while browsing with Firefox will NOT be available to Safari.