SlideShare a Scribd company logo
HTML5: A brave new
 world of markup
   Chris Mills, Opera Software




            Slides available on http://slideshare.net/chrisdavidmills
Who the hell am I?
‣ Opera open standards evangelist and tech writer
‣ Telling the world about open standards & Opera
‣ Improving web education
‣ Drinking beer & saving the world before morning
‣ Drumming in a heavy metal band
What is HTML5?
A new HTML spec that defines:
‣ New semantic elements
‣ New features such as native video, more
  powerful forms, web sockets
‣ New APIs for controlling such features
‣ Error handling, and other such useful things
Or according to the W3C...
‣ HTML5
‣ CSS3, WOFF
‣ SVG, SMIL, WebGL
‣ Geolocation, WAC
‣ Indexed DB, File API
‣ Server-sent events
‣ Web workers, XHR2
‣ & every other bloody open standard under the
 sun!
A brief history of HTML
‣ HTML first proposed 1989-1991
‣ HTML3 first standardised in 1995
‣ HTML 4.01 standardised in 1999
‣ Corrections submitted in 2001
HTML5 history
‣ W3C decided the future was XHTML
‣ This didn’t go down well, and no-one gave a rat’s
  ass about XHTML2
‣ HTML5 (was web applications 1.0) started by
  WHATWG in 2004ish
‣ Adopted by W3C 2008
‣ WHATWG version became versionless in 2011
When should I use it?
Now!
‣ Most modern browsers support most of this stuff
  now
‣ Workarounds are perfectly possible
‣ You are already using HTML5 by using HTML4.x
‣ Don’t wait till it’s completely finished
The UK road system is
never finished...




          http://www.flickr.com/photos/50014762@N03/4632637811/
There’s nothing wrong with
HTML4...




             http://www.flickr.com/photos/birdfarm/519230710/
But HTML5 has more bling!
               As if! Not publishing this one...
HTML5 does not replace
HTML4
‣ It’s backwards compatible
‣ It fills up holes
‣ It adds new markup and APIs
‣ It competes with proprietary/plugin technology
HTML5 features
‣ More accurate semantics (eg <header>,
 <footer>)
‣ Better forms
‣ <video>
‣ <canvas>
HTML5 features
‣ Drag and drop
‣ Web workers
‣ Web storage, webdb, AppCache
‣ ...aaand more.
Not HTML5, but as good as
‣ Geolocation
‣ Web sockets
HTML is the new HTML5?
In January 2011, Ian Hickson announced that the
WHATWG HTML5 spec was dropping its version
number, and becoming a living spec that could
keep being added to, as more features came to
fruition. The W3C version is keeping its version
number, and acting as a snapshot.
New syntax: better
semantics




             http://www.flickr.com/photos/zscheyge/49012397/
HTML5 doctype
<!doctype
html>
Typical website structure
<div
id=”header”></div>
<div
id=”nav”></div>
<div
id=”main”>


<div
class=”article”></div>


<div
class=”article”></div>




...
</div>
<div
id=”footer”></div>
Most common classes and
IDs?
Ian Hickson did a study at Google of the most
common classes and IDs on the Web. so did
Opera
‣ http://code.google.com/webstats/2005-12/
  classes.html
‣ http://devfiles.myopera.com/articles/572/idlist-
  url.htm
‣ http://devfiles.myopera.com/articles/572/
  classlist-url.htm
Most common IDs
Most common classes
HTML5 update
<header></header>
<nav></nav>
<section
id=”main”>


<article></article>


<article></article>




...
</section>
<footer></footer>
<header> and <footer>
<header>

 <h1>Top
level
heading</h1>
</header>

 


<footer>


<p>&copy;2011
Chris
Mills
examples</p>
</footer>
<section> and <article>
<section
id=”main”>


<article>

 

...

 </article>

 <article>

 


...

 </article>
</section>
<nav>
<nav>


<ul>




<li><a
href=”#article1”>First
article</a></li>




<li><a
href=”#article2”>Second
article</a></li>




<li><a
href=”#article3”>Third
article</a></li>

 </ul>
</nav>
<aside>
<aside>


<h2>About
the
author</h2>

 

<p>Chris
Mills
is
a
front‐end
bling
junkie





working
for
Opera
Software...</p>
</aside>
<time>
<p>Article
published
on
the



<time
datetime=”2011‐03‐12T09:48”>




12th
March
2011,
at
9:48am


</time>
</p>
<hgroup>
<hgroup>


<h1>Top
level
heading</h1>


<h2>This
is
a
really
descriptive
subtitle</h2>
</hgroup>
<figure> and <figcaption>
<figure>


<img
src=”bear.jpg”







alt=”this
is
the
bear
that
I
wrestled”
/>


<figcaption>This
is
the
bear
that
I


wrestled.</figcaption>
</figure>
Where does this leave the
humble <div>?
Use it for anything that isn’t covered by other new
elements, and is just a general grouping, e.g. for
styling purposes, for which you don’t want to
create a new section. An intro <div>, perhaps?
The HTML5 outlining
algorithm
Heading/section hierarchy based on sectioning
element hierarchy, not <hx> elements used
‣ No longer limited to six heading levels
‣ Hierarchy stays correct when syndicated
‣ You can retain HTML4 heading levels for
 backwards compatibility
The HTML5 outlining
algorithm
<h1>My
title</h1>
<div>


<h2>My
subtitle</h2>
</div>

<h1>My
title</h1>
<section>


<h2>My
subtitle</h2>
</section>
New semantics rock!
‣ Better machine readability
‣ Better interoperability
‣ Better accessibility (once screen readers catch
  up; WAI-ARIA is a stopgap)
‣ Leaner markup that is easier to style
‣ More in keeping with what real webdevs do
Browsers don’t ACTUALLY
support these ... yet
But we can get them displaying ok
‣ You can style any element with CSS, even if the
  browser doesn’t recognise it
‣ Give all the structural elements display: block;
‣ IE also needs some scripting:
  createElement(‘article’);
‣ HTML5Shiv sorts it better
How do we get this working
across browsers?
article,
section,
aside
{


display:
block;
}
How do we get this working
across browsers?
<script>


document.createElement('article');


document.createElement('section');


document.createElement('aside');




</script>
Lax syntax?
Some say that HTML5 syntax is really lax — you:
‣ don’t need to quote attributes
‣ can minimize attributes
‣ don’t need to self close
‣ can mix upper and lower case
‣ You don’t even need to include <html>, <head>
  and <body>!
Lax syntax?
But this more accurately reflects what real
developers do, rather than what the XHTML spec
THINKS they should
‣ You can use the style you want (although you
  should stick to some best practices)
‣ The browser fills in a lot of this stuff
‣ The HTML5 spec defines how errors should be
  handled
HTML5 forms
Previously called Web Forms 2.0
‣ More powerful form controls
‣ Built-in validation
Slider
<input
type=”range”
/>
Date-time controls
<input
type=date>
<input
type=datetime>
<input
type=week>
<input
type=month>
number
<input
type=number>
color
<input
type=color>
Search boxes
<input
type=search>
Datalist
<input
type=”text”
list=”mydata”>
<datalist
id=”mydata”>


<option
label=”Mr”
value=”Mister”>


<option
label=”Mrs”
value=”Mistress”>


<option
label=”Ms”
value=”Miss”>
</datalist>
Other new input types
<input
type=”email”>
<input
type=”url”>
<input
type=”tel”>
Validation
Form validation used to be horrendous
function
validate()
{




var
str
=
“”;




var
elements
=
document.getElementsByTagName('input');







//
loop
through
all
input
elements
in
form




for(var
i
=
0;
i
<
elements.length;
i++)
{









//
check
if
element
is
mandatory;
ie
has
a
pattern







var
pattern
=
elements.item(i).getAttribute('pattern');






if
(pattern
!=
null)
{








var
value
=
elements.item(i).value;











//
validate
the
value
of
this
element,
using
its
defined
pattern








var
offendingChar
=
value.match(pattern);











//
if
an
invalid
character
is
found
or
the
element
was
left
empty








if(offendingChar
!=
null
||
value.length
==
0)
{













//
add
up
all
error
messages










str
+=
elements.item(i).getAttribute('errorMsg')
+
“n”
+

















“Found
this
illegal
value:
'”
+
offendingChar
+
“'
n”;













//
notify
user
by
changing
background
color,
in
this
case
to
red










elements.item(i).style.background
=
“red”;









}






}




}








if
(str
!=
“”)
{






//
do
not
submit
the
form






alert(”ERROR
ALERT!!n”
+str);







return
false;




}
else
{






//
form
values
are
valid;
submit


HTML5 gives you this
<input
type=”text”
required>
And this
<input
type=”text”
required








pattern=”[A‐z]{1,20}
[A‐z]{1,20}”>
Other new attributes
autofocus
placeholder
min
max
step
autofocus, placeholder
<input
type=”text”
...
placeholder=”Enter
first

then
last
name”
autofocus
/>
min, max and step
<input
type=”range”
...
min=”1.00”
max=”2.50”

step=”0.01”
value=”1”
/>
New output mechanisms
<output>
<progress>
<meter>
<output>
<input
type=”range”
id=”height”
name=”height”

required
min=”1.00”
max=”2.50”
step=”0.01”

value=”1”
/>
<output
onforminput=”value=height.value”

for=”height”>1</output>m
<progress>
<progress
id=”progress”
value=”25”
max=”100”>
<span>25</span>%
</progress>
<meter>
<meter
min=”0”
value=”50.3”
max=”232.57”>
50.3
GB
used
out
of
232.57
GB
</meter>
<canvas>
Scriptable graphics
‣ Standard API for drawing
‣ Supporting across all modern browsers
The basics
<canvas
id=”canvas”
width=”400”
height=”300”>


...fallback...
</canvas>
The basics
var
ctx
=

document.getElementById('canvas').getContext('2d');

ctx.fillStyle
ctx.fillRect
<canvas> examples
‣ http://dev.opera.com/articles/view/html-5-
  canvas-the-basics/
‣ http://ejohn.org/blog/processingjs/
‣ http://www.hakim.se/experiments/
‣ http://www.canvasdemos.com/
‣ http://people.opera.com/patrickl/experiments/
  canvas/particle/3/
<video> and <audio>
New elements, plus new API for controlling audio
and video
The old school way
<object
width=”425”
height=”344”>
<param
name=”movie”

value=”http://www.example.com/
v/LtfQg4KkR88&hl=en&fs=1”></param>
<param
name=”allowFullScreen”
value=”true”></param>
<embed
src=”http://www.example.com/v/
LtfQg4KkR88&hl=en&fs=1”


type=”application/x‐shockwave‐flash”


allowfullscreen=”true”
width=”425”

height=”344”></embed>
</object>
The badass sexy new way
<video></video>
Point to the video
<video
src=”video.webm”>
</video>
width and height
<video
src=”video.webm”







width=”480px”







height=”283px”>
</video>
Add controls
<video
src=”video.webm”







width=”480px”







height=”283px”







controls>
</video>
A poster to front the video
<video
src=”video.webm”







width=”480px”







height=”283px”







controls







poster=”video.jpg”>
</video>
autoplay and loop
<video
src=”video.webm”







width=”480px”







height=”283px”







controls







poster=”poster.png”







autoplay







loop>
</video>
Fallback
<video
src=”video.webm”







width=”480px”







height=”283px”







controls







poster=”poster.png”







autoplay







loop>


<p>Your
browser
doesn’t
support
HTML5
video.
<a

href=”myVideo.webm”>Download
the
video
instead</
a>.</p>
</video>
Native <video> is awesome!
‣ Works well with other open standards
‣ Built-in keyboard accessibility
‣ API for customizing controls, etc.
‣ Doesn’t require plugins!
What’s bad about <video>?
‣ People can download <video> easily
‣ That old cross browser chestnut
‣ Captioning and suchlike is at an early stage
Browser support
‣ Opera: Ogg since 10.5, WebM since 10.60
‣ Firefox: Ogg since 3.5, WebM since 4
‣ Chrome: Ogg since 3.0, WebM since 6.0
‣ IE: MP4 since 9.0
‣ Safari: MP4 + anything else Quicktime supports
 since 3.0
Adding different formats
<source
src=”video.mp4”
type=”video/mp4”>
<source
src=”video.webm”
type=”video/webm”>
Adding a Flash fallback
<object
type=”application/x‐shockwave‐flash”

data=”player.swf”
width=”480”
height=”283”>


<param
name=”allowfullscreen”
value=”true”>


<param
name=”allowscriptaccess”
value=”always”>


<param
name=”flashvars”
value=”file=video.mp4”>



                                                   



<!‐‐[if
IE]><param
name=”movie”

value=”player.swf”><![endif]‐‐>


<img
src=”video.jpg”
width=”480”
height=”283”

alt=”Video”>
</object>
Some stuff is not as easy
‣ WebSRT exists for captioning, but is at an early
  stage
‣ There is no easy cue points mechanism
‣ But such problems can be solved using
  JavaScript
Video captions #1
<video></video>
<div
class=transcript>





<p>Hello,
Good
Evening
and
Welcome</p>






<p>Tonight
on
the
Jeremy
Kyle
show
...</p>











....
</div>
Video captions #2
<div
class=transcript>






<p><span>Hello,
Good
Evening</span>






<span>
and
Welcome.</span></p>







<p><span>Tonight
on
the
Jeremy
Kyle

show
...</span>







</p>











....

</div>
Video captions #3
<p>



<span
data‐begin=1
data‐end=2.4>Hello,
Good

Evening</span>




<span
data‐begin=3
data‐end=3.6>
and
Welcome.</
span>
</p>
Video captions #4
function
timeupdate()
{




var
v
=
document.querySelector('video');




var
now
=
v.currentTime;

…
}


<video
width=600
src=synergy.webm

ontimeupdate=timeupdate()>
So much more to cover!
‣ AppCache
‣ WebSQL
‣ Web sockets
‣ Web workers
‣ Web storage
Thanks for listening!
‣ cmills@opera.com
‣ @chrisdavidmills
‣ http://dev.opera.com/articles/tags/html5/
‣ http://html5doctor.com

More Related Content

What's hot

Disrupting the application eco system with progressive web applications
Disrupting the application eco system with progressive web applicationsDisrupting the application eco system with progressive web applications
Disrupting the application eco system with progressive web applications
Chris Love
 
Develop a vanilla.js spa you and your customers will love
Develop a vanilla.js spa you and your customers will loveDevelop a vanilla.js spa you and your customers will love
Develop a vanilla.js spa you and your customers will love
Chris Love
 
Progressive Enhancement 2.0 (Conference Agnostic)
Progressive Enhancement 2.0 (Conference Agnostic)Progressive Enhancement 2.0 (Conference Agnostic)
Progressive Enhancement 2.0 (Conference Agnostic)
Nicholas Zakas
 
10 things you can do to speed up your web app today 2016
10 things you can do to speed up your web app today 201610 things you can do to speed up your web app today 2016
10 things you can do to speed up your web app today 2016
Chris Love
 
Screw HTML5, make cool shit with AIR
Screw HTML5, make cool shit with AIRScrew HTML5, make cool shit with AIR
Screw HTML5, make cool shit with AIR
Eric Fickes
 
Don't make me wait! or Building High-Performance Web Applications
Don't make me wait! or Building High-Performance Web ApplicationsDon't make me wait! or Building High-Performance Web Applications
Don't make me wait! or Building High-Performance Web Applications
Stoyan Stefanov
 
Html5 Fit: Get Rid of Love Handles
Html5 Fit:  Get Rid of Love HandlesHtml5 Fit:  Get Rid of Love Handles
Html5 Fit: Get Rid of Love Handles
Chris Love
 
Untangling spring week5
Untangling spring week5Untangling spring week5
Untangling spring week5
Derek Jacoby
 
Service workers your applications never felt so good
Service workers   your applications never felt so goodService workers   your applications never felt so good
Service workers your applications never felt so good
Chris Love
 
Browser Wars Episode 1: The Phantom Menace
Browser Wars Episode 1: The Phantom MenaceBrowser Wars Episode 1: The Phantom Menace
Browser Wars Episode 1: The Phantom Menace
Nicholas Zakas
 
Usability in the GeoWeb
Usability in the GeoWebUsability in the GeoWeb
Usability in the GeoWeb
Dave Bouwman
 
Untangling spring week4
Untangling spring week4Untangling spring week4
Untangling spring week4
Derek Jacoby
 
jQueryTO: State of jQuery March 2013
jQueryTO: State of jQuery March 2013jQueryTO: State of jQuery March 2013
jQueryTO: State of jQuery March 2013
dmethvin
 
orcreatehappyusers
orcreatehappyusersorcreatehappyusers
orcreatehappyusers
tutorialsruby
 
Intro Open Social and Dashboards
Intro Open Social and DashboardsIntro Open Social and Dashboards
Intro Open Social and Dashboards
Atlassian
 
Untangling spring week1
Untangling spring week1Untangling spring week1
Untangling spring week1
Derek Jacoby
 
PrairieDevCon 2014 - Web Doesn't Mean Slow
PrairieDevCon 2014 -  Web Doesn't Mean SlowPrairieDevCon 2014 -  Web Doesn't Mean Slow
PrairieDevCon 2014 - Web Doesn't Mean Slow
dmethvin
 
The What & Why of Pattern Lab
The What & Why of Pattern LabThe What & Why of Pattern Lab
The What & Why of Pattern Lab
Dave Olsen
 
Html5
Html5Html5
Untangling the web11
Untangling the web11Untangling the web11
Untangling the web11
Derek Jacoby
 

What's hot (20)

Disrupting the application eco system with progressive web applications
Disrupting the application eco system with progressive web applicationsDisrupting the application eco system with progressive web applications
Disrupting the application eco system with progressive web applications
 
Develop a vanilla.js spa you and your customers will love
Develop a vanilla.js spa you and your customers will loveDevelop a vanilla.js spa you and your customers will love
Develop a vanilla.js spa you and your customers will love
 
Progressive Enhancement 2.0 (Conference Agnostic)
Progressive Enhancement 2.0 (Conference Agnostic)Progressive Enhancement 2.0 (Conference Agnostic)
Progressive Enhancement 2.0 (Conference Agnostic)
 
10 things you can do to speed up your web app today 2016
10 things you can do to speed up your web app today 201610 things you can do to speed up your web app today 2016
10 things you can do to speed up your web app today 2016
 
Screw HTML5, make cool shit with AIR
Screw HTML5, make cool shit with AIRScrew HTML5, make cool shit with AIR
Screw HTML5, make cool shit with AIR
 
Don't make me wait! or Building High-Performance Web Applications
Don't make me wait! or Building High-Performance Web ApplicationsDon't make me wait! or Building High-Performance Web Applications
Don't make me wait! or Building High-Performance Web Applications
 
Html5 Fit: Get Rid of Love Handles
Html5 Fit:  Get Rid of Love HandlesHtml5 Fit:  Get Rid of Love Handles
Html5 Fit: Get Rid of Love Handles
 
Untangling spring week5
Untangling spring week5Untangling spring week5
Untangling spring week5
 
Service workers your applications never felt so good
Service workers   your applications never felt so goodService workers   your applications never felt so good
Service workers your applications never felt so good
 
Browser Wars Episode 1: The Phantom Menace
Browser Wars Episode 1: The Phantom MenaceBrowser Wars Episode 1: The Phantom Menace
Browser Wars Episode 1: The Phantom Menace
 
Usability in the GeoWeb
Usability in the GeoWebUsability in the GeoWeb
Usability in the GeoWeb
 
Untangling spring week4
Untangling spring week4Untangling spring week4
Untangling spring week4
 
jQueryTO: State of jQuery March 2013
jQueryTO: State of jQuery March 2013jQueryTO: State of jQuery March 2013
jQueryTO: State of jQuery March 2013
 
orcreatehappyusers
orcreatehappyusersorcreatehappyusers
orcreatehappyusers
 
Intro Open Social and Dashboards
Intro Open Social and DashboardsIntro Open Social and Dashboards
Intro Open Social and Dashboards
 
Untangling spring week1
Untangling spring week1Untangling spring week1
Untangling spring week1
 
PrairieDevCon 2014 - Web Doesn't Mean Slow
PrairieDevCon 2014 -  Web Doesn't Mean SlowPrairieDevCon 2014 -  Web Doesn't Mean Slow
PrairieDevCon 2014 - Web Doesn't Mean Slow
 
The What & Why of Pattern Lab
The What & Why of Pattern LabThe What & Why of Pattern Lab
The What & Why of Pattern Lab
 
Html5
Html5Html5
Html5
 
Untangling the web11
Untangling the web11Untangling the web11
Untangling the web11
 

Viewers also liked

[GAMENEXT] 스타트업 소개 - 인앱인
[GAMENEXT] 스타트업 소개 - 인앱인 [GAMENEXT] 스타트업 소개 - 인앱인
[GAMENEXT] 스타트업 소개 - 인앱인 GAMENEXT Works
 
剛体運動(並進運動と回転運動の対比)
剛体運動(並進運動と回転運動の対比)剛体運動(並進運動と回転運動の対比)
剛体運動(並進運動と回転運動の対比)consensive
 
Alan reyna salazar
Alan reyna salazarAlan reyna salazar
Alan reyna salazar
alanreyna00
 
Smoking
SmokingSmoking
Smoking
csvp
 
Business Expansion Planning Srategy
Business Expansion Planning SrategyBusiness Expansion Planning Srategy
Business Expansion Planning Srategy
Indore Colour Organics Ltd.
 
Libras Annual Meeting 2010 New Web Site
Libras Annual Meeting 2010 New Web SiteLibras Annual Meeting 2010 New Web Site
Libras Annual Meeting 2010 New Web Site
Wade Stewart
 
Prezi
PreziPrezi
Prezi
AriAlexei
 
Google Evm Customer Perspectives Report
Google Evm Customer Perspectives ReportGoogle Evm Customer Perspectives Report
Google Evm Customer Perspectives Report
randparker
 
Francesca Sanzo @GGD8 Bologna camp
Francesca Sanzo @GGD8 Bologna campFrancesca Sanzo @GGD8 Bologna camp
Francesca Sanzo @GGD8 Bologna campGGDBologna
 
Prototyping: Helping to take away the suck
Prototyping: Helping to take away the suckPrototyping: Helping to take away the suck
Prototyping: Helping to take away the suck
Harvard Web Working Group
 
Optimizing content for the "mobile web"
Optimizing content for the "mobile web"Optimizing content for the "mobile web"
Optimizing content for the "mobile web"
Chris Mills
 
THE ART OF ACTING OUT (episode 3) - Phill Collins Gets Shot
THE ART OF ACTING OUT (episode 3) - Phill Collins Gets ShotTHE ART OF ACTING OUT (episode 3) - Phill Collins Gets Shot
THE ART OF ACTING OUT (episode 3) - Phill Collins Gets Shot
Greg Aronoff
 
Fondi pensione negoziali: un’opportunità da cogliere
Fondi pensione negoziali: un’opportunità da cogliereFondi pensione negoziali: un’opportunità da cogliere
Fondi pensione negoziali: un’opportunità da cogliere
Associazione Previnforma
 
M2_Lesson_Plan_Magdalene
M2_Lesson_Plan_MagdaleneM2_Lesson_Plan_Magdalene
M2_Lesson_Plan_Magdalene
Magdalene Tan
 
Recession: 5 Dominating Advertising Approaches
Recession: 5 Dominating Advertising ApproachesRecession: 5 Dominating Advertising Approaches
Recession: 5 Dominating Advertising Approaches
Taly Weiss
 
Costa Rica Bargain Property Tours for Self Directed IRA Owners
Costa Rica Bargain Property Tours for Self Directed IRA OwnersCosta Rica Bargain Property Tours for Self Directed IRA Owners
Costa Rica Bargain Property Tours for Self Directed IRA Owners
Pacific Lots of Costa Rica
 

Viewers also liked (20)

[GAMENEXT] 스타트업 소개 - 인앱인
[GAMENEXT] 스타트업 소개 - 인앱인 [GAMENEXT] 스타트업 소개 - 인앱인
[GAMENEXT] 스타트업 소개 - 인앱인
 
Facebookセミナー in 熊本
Facebookセミナー in 熊本Facebookセミナー in 熊本
Facebookセミナー in 熊本
 
剛体運動(並進運動と回転運動の対比)
剛体運動(並進運動と回転運動の対比)剛体運動(並進運動と回転運動の対比)
剛体運動(並進運動と回転運動の対比)
 
Wide
WideWide
Wide
 
Alan reyna salazar
Alan reyna salazarAlan reyna salazar
Alan reyna salazar
 
Smoking
SmokingSmoking
Smoking
 
Business Expansion Planning Srategy
Business Expansion Planning SrategyBusiness Expansion Planning Srategy
Business Expansion Planning Srategy
 
Libras Annual Meeting 2010 New Web Site
Libras Annual Meeting 2010 New Web SiteLibras Annual Meeting 2010 New Web Site
Libras Annual Meeting 2010 New Web Site
 
Prezi
PreziPrezi
Prezi
 
Google Evm Customer Perspectives Report
Google Evm Customer Perspectives ReportGoogle Evm Customer Perspectives Report
Google Evm Customer Perspectives Report
 
Intermediate Degree
Intermediate DegreeIntermediate Degree
Intermediate Degree
 
Francesca Sanzo @GGD8 Bologna camp
Francesca Sanzo @GGD8 Bologna campFrancesca Sanzo @GGD8 Bologna camp
Francesca Sanzo @GGD8 Bologna camp
 
Prototyping: Helping to take away the suck
Prototyping: Helping to take away the suckPrototyping: Helping to take away the suck
Prototyping: Helping to take away the suck
 
Optimizing content for the "mobile web"
Optimizing content for the "mobile web"Optimizing content for the "mobile web"
Optimizing content for the "mobile web"
 
THE ART OF ACTING OUT (episode 3) - Phill Collins Gets Shot
THE ART OF ACTING OUT (episode 3) - Phill Collins Gets ShotTHE ART OF ACTING OUT (episode 3) - Phill Collins Gets Shot
THE ART OF ACTING OUT (episode 3) - Phill Collins Gets Shot
 
Fondi pensione negoziali: un’opportunità da cogliere
Fondi pensione negoziali: un’opportunità da cogliereFondi pensione negoziali: un’opportunità da cogliere
Fondi pensione negoziali: un’opportunità da cogliere
 
M2_Lesson_Plan_Magdalene
M2_Lesson_Plan_MagdaleneM2_Lesson_Plan_Magdalene
M2_Lesson_Plan_Magdalene
 
Recession: 5 Dominating Advertising Approaches
Recession: 5 Dominating Advertising ApproachesRecession: 5 Dominating Advertising Approaches
Recession: 5 Dominating Advertising Approaches
 
Prueba 1 tarea 2 dele b2
Prueba 1 tarea 2 dele b2Prueba 1 tarea 2 dele b2
Prueba 1 tarea 2 dele b2
 
Costa Rica Bargain Property Tours for Self Directed IRA Owners
Costa Rica Bargain Property Tours for Self Directed IRA OwnersCosta Rica Bargain Property Tours for Self Directed IRA Owners
Costa Rica Bargain Property Tours for Self Directed IRA Owners
 

Similar to HTML5: A brave new world of markup

Fundamentals of HTML5
Fundamentals of HTML5Fundamentals of HTML5
Fundamentals of HTML5
St. Petersburg College
 
Delhi student's day
Delhi student's dayDelhi student's day
Delhi student's day
Ankur Mishra
 
Real solutions, no tricks
Real solutions, no tricksReal solutions, no tricks
Real solutions, no tricks
Jens Grochtdreis
 
Michael(tm) Smith: HTML5 at Web Directions South 2008
Michael(tm) Smith: HTML5 at Web Directions South 2008Michael(tm) Smith: HTML5 at Web Directions South 2008
Michael(tm) Smith: HTML5 at Web Directions South 2008
Michael(tm) Smith
 
Looking into HTML5 + CSS3
Looking into HTML5 + CSS3Looking into HTML5 + CSS3
Looking into HTML5 + CSS3
Christopher Schmitt
 
WHAT IS HTML5? (at CSS Nite Osaka)
WHAT IS HTML5? (at CSS Nite Osaka)WHAT IS HTML5? (at CSS Nite Osaka)
WHAT IS HTML5? (at CSS Nite Osaka)
Shumpei Shiraishi
 
HTML 5 Complete Reference
HTML 5 Complete ReferenceHTML 5 Complete Reference
HTML 5 Complete Reference
EPAM Systems
 
Html5 public
Html5 publicHtml5 public
Html5 public
doodlemoonch
 
Is it time to start using HTML 5
Is it time to start using HTML 5Is it time to start using HTML 5
Is it time to start using HTML 5
Ravi Raj
 
High-Speed HTML5
High-Speed HTML5High-Speed HTML5
High-Speed HTML5
Peter Lubbers
 
Html5 Future of WEB
Html5 Future of WEBHtml5 Future of WEB
Html5 Future of WEB
Amit Choudhary
 
Html5 & less css
Html5 & less cssHtml5 & less css
Html5 & less css
Graham Johnson
 
Maximising Online Resource Effectiveness Workshop Session 3/8 Priority issues
Maximising Online Resource Effectiveness Workshop Session 3/8 Priority issuesMaximising Online Resource Effectiveness Workshop Session 3/8 Priority issues
Maximising Online Resource Effectiveness Workshop Session 3/8 Priority issues
Platypus
 
Html5
Html5Html5
Workshop HTML5+PhoneGap by Ivano Malavolta
Workshop HTML5+PhoneGap by Ivano Malavolta Workshop HTML5+PhoneGap by Ivano Malavolta
Workshop HTML5+PhoneGap by Ivano Malavolta
Commit University
 
HTML5 Design
HTML5 DesignHTML5 Design
HTML5 Design
Christopher Schmitt
 
[edUiconf] HTML5 does all that… and i can haz cheeseburger? You bet!
[edUiconf] HTML5 does all that… and i can haz cheeseburger? You bet![edUiconf] HTML5 does all that… and i can haz cheeseburger? You bet!
[edUiconf] HTML5 does all that… and i can haz cheeseburger? You bet!
Christopher Schmitt
 
HTML5: An Introduction To Next Generation Web Development
HTML5: An Introduction To Next Generation Web DevelopmentHTML5: An Introduction To Next Generation Web Development
HTML5: An Introduction To Next Generation Web Development
Tilak Joshi
 
Introduction to HTML5
Introduction to HTML5Introduction to HTML5
Introduction to HTML5
IT Geeks
 
Introduction to html55
Introduction to html55Introduction to html55
Introduction to html55
subrat55
 

Similar to HTML5: A brave new world of markup (20)

Fundamentals of HTML5
Fundamentals of HTML5Fundamentals of HTML5
Fundamentals of HTML5
 
Delhi student's day
Delhi student's dayDelhi student's day
Delhi student's day
 
Real solutions, no tricks
Real solutions, no tricksReal solutions, no tricks
Real solutions, no tricks
 
Michael(tm) Smith: HTML5 at Web Directions South 2008
Michael(tm) Smith: HTML5 at Web Directions South 2008Michael(tm) Smith: HTML5 at Web Directions South 2008
Michael(tm) Smith: HTML5 at Web Directions South 2008
 
Looking into HTML5 + CSS3
Looking into HTML5 + CSS3Looking into HTML5 + CSS3
Looking into HTML5 + CSS3
 
WHAT IS HTML5? (at CSS Nite Osaka)
WHAT IS HTML5? (at CSS Nite Osaka)WHAT IS HTML5? (at CSS Nite Osaka)
WHAT IS HTML5? (at CSS Nite Osaka)
 
HTML 5 Complete Reference
HTML 5 Complete ReferenceHTML 5 Complete Reference
HTML 5 Complete Reference
 
Html5 public
Html5 publicHtml5 public
Html5 public
 
Is it time to start using HTML 5
Is it time to start using HTML 5Is it time to start using HTML 5
Is it time to start using HTML 5
 
High-Speed HTML5
High-Speed HTML5High-Speed HTML5
High-Speed HTML5
 
Html5 Future of WEB
Html5 Future of WEBHtml5 Future of WEB
Html5 Future of WEB
 
Html5 & less css
Html5 & less cssHtml5 & less css
Html5 & less css
 
Maximising Online Resource Effectiveness Workshop Session 3/8 Priority issues
Maximising Online Resource Effectiveness Workshop Session 3/8 Priority issuesMaximising Online Resource Effectiveness Workshop Session 3/8 Priority issues
Maximising Online Resource Effectiveness Workshop Session 3/8 Priority issues
 
Html5
Html5Html5
Html5
 
Workshop HTML5+PhoneGap by Ivano Malavolta
Workshop HTML5+PhoneGap by Ivano Malavolta Workshop HTML5+PhoneGap by Ivano Malavolta
Workshop HTML5+PhoneGap by Ivano Malavolta
 
HTML5 Design
HTML5 DesignHTML5 Design
HTML5 Design
 
[edUiconf] HTML5 does all that… and i can haz cheeseburger? You bet!
[edUiconf] HTML5 does all that… and i can haz cheeseburger? You bet![edUiconf] HTML5 does all that… and i can haz cheeseburger? You bet!
[edUiconf] HTML5 does all that… and i can haz cheeseburger? You bet!
 
HTML5: An Introduction To Next Generation Web Development
HTML5: An Introduction To Next Generation Web DevelopmentHTML5: An Introduction To Next Generation Web Development
HTML5: An Introduction To Next Generation Web Development
 
Introduction to HTML5
Introduction to HTML5Introduction to HTML5
Introduction to HTML5
 
Introduction to html55
Introduction to html55Introduction to html55
Introduction to html55
 

More from Chris Mills

More efficient, usable web
More efficient, usable webMore efficient, usable web
More efficient, usable web
Chris Mills
 
Feedback handling, community wrangling, panhandlin’
Feedback handling, community wrangling, panhandlin’Feedback handling, community wrangling, panhandlin’
Feedback handling, community wrangling, panhandlin’
Chris Mills
 
APIs for modern web apps
APIs for modern web appsAPIs for modern web apps
APIs for modern web apps
Chris Mills
 
APIs, now and in the future
APIs, now and in the futureAPIs, now and in the future
APIs, now and in the future
Chris Mills
 
Guerrilla education
Guerrilla educationGuerrilla education
Guerrilla education
Chris Mills
 
Web versus Native: round 1!
Web versus Native: round 1!Web versus Native: round 1!
Web versus Native: round 1!
Chris Mills
 
BrazilJS MDN
BrazilJS MDNBrazilJS MDN
BrazilJS MDN
Chris Mills
 
Empowering the "mobile web"
Empowering the "mobile web"Empowering the "mobile web"
Empowering the "mobile web"
Chris Mills
 
Documentation and publishing
Documentation and publishingDocumentation and publishing
Documentation and publishing
Chris Mills
 
MDN is easy!
MDN is easy!MDN is easy!
MDN is easy!
Chris Mills
 
Getting rid of images with CSS
Getting rid of images with CSSGetting rid of images with CSS
Getting rid of images with CSS
Chris Mills
 
Future layouts
Future layoutsFuture layouts
Future layouts
Chris Mills
 
Laying out the future
Laying out the futureLaying out the future
Laying out the future
Chris Mills
 
Accessibility doesn't exist
Accessibility doesn't existAccessibility doesn't exist
Accessibility doesn't exist
Chris Mills
 
Responsive web design standards?
Responsive web design standards?Responsive web design standards?
Responsive web design standards?
Chris Mills
 
Adapt! Media queries and viewport
Adapt! Media queries and viewportAdapt! Media queries and viewport
Adapt! Media queries and viewport
Chris Mills
 
Adapt and respond: keeping responsive into the future
Adapt and respond: keeping responsive into the futureAdapt and respond: keeping responsive into the future
Adapt and respond: keeping responsive into the future
Chris Mills
 
Angels versus demons: balancing shiny and inclusive
Angels versus demons: balancing shiny and inclusiveAngels versus demons: balancing shiny and inclusive
Angels versus demons: balancing shiny and inclusive
Chris Mills
 
HTML5 and CSS3: does now really mean now?
HTML5 and CSS3: does now really mean now?HTML5 and CSS3: does now really mean now?
HTML5 and CSS3: does now really mean now?
Chris Mills
 
The W3C and the web design ecosystem
The W3C and the web design ecosystemThe W3C and the web design ecosystem
The W3C and the web design ecosystem
Chris Mills
 

More from Chris Mills (20)

More efficient, usable web
More efficient, usable webMore efficient, usable web
More efficient, usable web
 
Feedback handling, community wrangling, panhandlin’
Feedback handling, community wrangling, panhandlin’Feedback handling, community wrangling, panhandlin’
Feedback handling, community wrangling, panhandlin’
 
APIs for modern web apps
APIs for modern web appsAPIs for modern web apps
APIs for modern web apps
 
APIs, now and in the future
APIs, now and in the futureAPIs, now and in the future
APIs, now and in the future
 
Guerrilla education
Guerrilla educationGuerrilla education
Guerrilla education
 
Web versus Native: round 1!
Web versus Native: round 1!Web versus Native: round 1!
Web versus Native: round 1!
 
BrazilJS MDN
BrazilJS MDNBrazilJS MDN
BrazilJS MDN
 
Empowering the "mobile web"
Empowering the "mobile web"Empowering the "mobile web"
Empowering the "mobile web"
 
Documentation and publishing
Documentation and publishingDocumentation and publishing
Documentation and publishing
 
MDN is easy!
MDN is easy!MDN is easy!
MDN is easy!
 
Getting rid of images with CSS
Getting rid of images with CSSGetting rid of images with CSS
Getting rid of images with CSS
 
Future layouts
Future layoutsFuture layouts
Future layouts
 
Laying out the future
Laying out the futureLaying out the future
Laying out the future
 
Accessibility doesn't exist
Accessibility doesn't existAccessibility doesn't exist
Accessibility doesn't exist
 
Responsive web design standards?
Responsive web design standards?Responsive web design standards?
Responsive web design standards?
 
Adapt! Media queries and viewport
Adapt! Media queries and viewportAdapt! Media queries and viewport
Adapt! Media queries and viewport
 
Adapt and respond: keeping responsive into the future
Adapt and respond: keeping responsive into the futureAdapt and respond: keeping responsive into the future
Adapt and respond: keeping responsive into the future
 
Angels versus demons: balancing shiny and inclusive
Angels versus demons: balancing shiny and inclusiveAngels versus demons: balancing shiny and inclusive
Angels versus demons: balancing shiny and inclusive
 
HTML5 and CSS3: does now really mean now?
HTML5 and CSS3: does now really mean now?HTML5 and CSS3: does now really mean now?
HTML5 and CSS3: does now really mean now?
 
The W3C and the web design ecosystem
The W3C and the web design ecosystemThe W3C and the web design ecosystem
The W3C and the web design ecosystem
 

Recently uploaded

OpenID AuthZEN Interop Read Out - Authorization
OpenID AuthZEN Interop Read Out - AuthorizationOpenID AuthZEN Interop Read Out - Authorization
OpenID AuthZEN Interop Read Out - Authorization
David Brossard
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
Matthew Sinclair
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
panagenda
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems S.M.S.A.
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
Matthew Sinclair
 
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdfMonitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Tosin Akinosho
 
“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”
Claudio Di Ciccio
 
Things to Consider When Choosing a Website Developer for your Website | FODUU
Things to Consider When Choosing a Website Developer for your Website | FODUUThings to Consider When Choosing a Website Developer for your Website | FODUU
Things to Consider When Choosing a Website Developer for your Website | FODUU
FODUU
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
Octavian Nadolu
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
danishmna97
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
Zilliz
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
Alpen-Adria-Universität
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
Kari Kakkonen
 
Fueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte WebinarFueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte Webinar
Zilliz
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
panagenda
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
Kumud Singh
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
Uni Systems S.M.S.A.
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Safe Software
 

Recently uploaded (20)

OpenID AuthZEN Interop Read Out - Authorization
OpenID AuthZEN Interop Read Out - AuthorizationOpenID AuthZEN Interop Read Out - Authorization
OpenID AuthZEN Interop Read Out - Authorization
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
 
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdfMonitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdf
 
“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”
 
Things to Consider When Choosing a Website Developer for your Website | FODUU
Things to Consider When Choosing a Website Developer for your Website | FODUUThings to Consider When Choosing a Website Developer for your Website | FODUU
Things to Consider When Choosing a Website Developer for your Website | FODUU
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
 
Fueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte WebinarFueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte Webinar
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
 

HTML5: A brave new world of markup

Editor's Notes

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n
  12. \n
  13. \n
  14. \n
  15. \n
  16. \n
  17. \n
  18. \n
  19. \n
  20. \n
  21. \n
  22. \n
  23. \n
  24. \n
  25. \n
  26. \n
  27. \n
  28. \n
  29. \n
  30. \n
  31. \n
  32. \n
  33. \n
  34. \n
  35. \n
  36. \n
  37. \n
  38. \n
  39. \n
  40. \n
  41. \n
  42. \n
  43. \n
  44. \n
  45. \n
  46. \n
  47. \n
  48. \n
  49. \n
  50. \n
  51. \n
  52. \n
  53. \n
  54. \n
  55. \n
  56. \n
  57. \n
  58. \n
  59. \n
  60. \n
  61. \n
  62. \n
  63. \n
  64. \n
  65. \n
  66. \n
  67. \n
  68. \n
  69. \n
  70. \n
  71. \n
  72. \n
  73. \n
  74. \n
  75. \n
  76. \n
  77. \n
  78. \n
  79. \n
  80. \n
  81. \n
  82. \n
  83. \n