SlideShare a Scribd company logo
Rich & Beautiful:
Making Attractive Apps with HTML5
David Wesst
ATARI.COM/ARCADE
IE10BETHETHIEF.COM
EXPLORETOUCH.IE
THESE ARE SOME COOL
APPS, BUT...
• I don’t have the resources (time or money) to build
those
• My client doesn’t care about making things pretty
• I am not a designer, so I can’t do things like that.
RICH & BEAUTIFUL:
MAKING ATTRACTIVE
APPS WITH HTML5
DAVID WESST
PRAIRIE DEV CON 2013 – WINNIPEG, MB
Rich and Beautiful: Making Attractive Apps in HTML5 [Wpg 2013]
Rich and Beautiful: Making Attractive Apps in HTML5 [Wpg 2013]
Rich and Beautiful: Making Attractive Apps in HTML5 [Wpg 2013]
IE userAgent (http://useragents.ie/)
Rich and Beautiful: Making Attractive Apps in HTML5 [Wpg 2013]
Rich and Beautiful: Making Attractive Apps in HTML5 [Wpg 2013]
www.brewpubgames.com/lovebucket
http://on.fb.me/YQ9viX
www.davidwesst.com
@davidwesst
dw@davidwesst.com
GOALS
• To learn ways to think about “rich and beautiful” apps
• To see the broad range of HTML tools for the rich and
beautiful
• To better understand your existing HTML skill set
• To get ideas on how YOU can make rich and beautiful
features in your apps
• To teach you that rich and beautiful apps aren’t
unattainable
WHAT THIS PRESENTATION IS
(AGENDA)
• Warm Up: Thinking UX
• Understanding the Toolbox
• HTML5 Multimedia
• SVG (Scalable Vector Graphics)
• CSS3 (Cascading Style Sheets v3)
• HTML5 Canvas & WebGL (Web Graphics Library)
• Next Steps
WHAT THIS PRESENTATION IS
NOT
• A course on user experience design and
development
• An introduction to HTML5 and/or HTML
Development
• A deep dive to HTML/CSS/JavaScript coding
• …but we will see code
• A focus on specific HTML5 features
WARM UP EXERCISE!
WARM UP EXERCISE: THINKING
UX
• What? Paint the house
• Why? House should stand out more in the neighborhood
• How?
• Paint the house in the same colour it already is
• How?
• Paint the house one colour and paint the trim another
• How?
• Paint the house a base colour, then finish by painting a mural of the residents on
the side of the house
WARM UP EXERCISE: THINKING
UX
• What? Display a profile page for the user
• Why? User needs to view their profile to ensure their data is correct
• How?
• Display a form with the data in form controls
• How?
• Display a form with the data in form controls and all associated data interactions
with them
• How?
• Display a contact card that shows the basic information of the person, in
combination with their photos and other interactions
WARM UP EXERCISE: THINKING
UX
• What? The Requirement
• Why? The rational behind the requirement
• How? (Part 1)
• Regular Solution  “It will get the job done”
• How? (Part 2)
• Out of the Box  “It will get the job done and then some”
• How? (Part 3)
• Out of this World  “It will get the job done and blow there hair
back…”
WARM UP EXERCISE: THINKING
UX
• Fundamentals points when thinking User
Experience
• Understand not just what but why the feature is being
implemented
• Thinking of multiple solutions (at least three) before
deciding on a solution
• Finding a balance between the solutions, with respect to
project scope
WARM UP EXERCISE: THINKING
UX
Remember
• User Experience is important to all users…even if
they don’t know it
• Better User Experience = Better User Acceptance
• Happy Users = Happy Consumers and/or
Employees = Happy Clients
RICH AND BEAUTIFUL HTML
APPS
• What are they made of?
• Multimedia
• AJAX / Dynamic User Interfaces
• Animations (i.e. Movement on the Screen)
• Graphics
HTML TOOLBOX
Markup
• Document
Object Model
• Elements and
Attributes
CSS
• Styling Code
• Basic
Presentation
Logic
JavaScript
• Application
Logic
• Supporting
Libraries
MULTIMEDIA
Markup
CSS
JavaScript
HTML MULTIMEDIA
• Multimedia = Rich and Beautiful Content
• Video Blogs
• Podcasts
• Music
• Commercials
• Etc…
HTML AUDIO
• Introduced updated HTML5 spec
• Allows HTML applications to play audio files
• Full browser support requires multiple file types
• MP3
• OGG
• Configurable through HTML and JavaScript
HTML AUDIO
<audio src="/_demo/media/dotnetrocks.mp3"
controls />
• Similar to images
• Has a number of decorator attributes
• Autoplay
• Controls
• Loop
• Muted
HTML AUDIO
<audio controls>
<source src="/_demo/media/dotnetrocks.mp3" />
<source src="/_demo/media/dotnetrocks.ogg" />
<p>Your browser does not support HTML5 Audio. :(</p>
</audio>
• Supports multiple sources of audio (MPG & OGG)
• Also, fallback support for alternate experience for legacy
browsers
• E.g. <p>This is my message</p>
• E.g. <object>….</object>
DEMO
(Chrome) http://studio.html5rocks.com/#PiP
HTML AUDIO VIDEO
• Introduced updated HTML5 standard
• Allows HTML applications to play audio video files
• Full browser support requires multiple file types
• MP4
• OGG
• WebM
• Configurable through HTML and JavaScript
HTML AUDIO VIDEO
<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 type="application/x-shockwave-flash"
data="flowplayer-3.2.1.swf">
…
</object>
</video>
• Supports multiple sources of audio (MPG & OGG)
• Also, fallback support for alternate experience for legacy
browsers
• E.g. <p>This is my message</p>
DEMO
(IE) http://demos.w3avenue.com/html5-unleashed-tips-tricks-and-
techniques/sample-05-video-custom-controls-demo.html
BUT WAIT…AREN’T IMAGES
HTML MULTIMEDIA TOO?
YES. YES THEY ARE.
THAT IS A GREAT QUESTION!
SVG
Markup
CSS
JavaScript
SCALABLE VECTOR GRAPHICS
(A.K.A. SVG)
• SVG’s are images that are
defined using XML
• As of HTML5, SVG is a
subset of HTML
• That means you can embed
image code directly in your
HTML
• It ALSO means that SVG
elements are regular DOM
elements
SCALABLE VECTOR GRAPHICS
(A.K.A. SVG)<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">
<title>HTML5 Logo</title>
<polygon fill="#E44D26" points="107.644,470.877 74.633,100.62
437.367,100.62 404.321,470.819 255.778,512
"/>
<polygon fill="#F16529" points="256,480.523 376.03,447.246
404.27,130.894 256,130.894
"/>
<polygon fill="#EBEBEB" points="256,268.217 195.91,268.217
191.76,221.716 256,221.716 256,176.305 255.843,176.305
142.132,176.305 143.219,188.488 154.38,313.627 256,313.627"/>
<polygon fill="#EBEBEB" points="256,386.153 255.801,386.206
205.227,372.55 201.994,336.333 177.419,336.333 156.409,336.333
162.771,407.634 255.791,433.457 256,433.399"/>
<path d="M108.382,0h23.077v22.8h21.11V0h23.078v69.044H152.57v-
23.12h-21.11v23.12h-23.077V0z"/>
<path d="M205.994,22.896h-20.316V0h63.72v22.896h-20.325v46.148h-
23.078V22.896z"/>
<path d="M259.511,0h24.063l14.802,24.26L313.163,0h24.072v69.044h-
22.982V34.822l-15.877,24.549h-0.397l-15.888-24.549v34.222h-
22.58V0z"/>
<path d="M348.72,0h23.084v46.222h32.453v22.822H348.72V0z"/>
<polygon fill="#FFFFFF" points="255.843,268.217 255.843,313.627
311.761,313.627 306.49,372.521 255.843,386.191 255.843,433.435
348.937,407.634 349.62,399.962 360.291,280.411 361.399,268.217
349.162,268.217"/>
<polygon fill="#FFFFFF" points="255.843,176.305 255.843,204.509
255.843,221.605 255.843,221.716 365.385,221.716 365.385,221.716
365.531,221.716 366.442,211.509 368.511,188.488 369.597,176.305"/>
</svg>
DEMO
INSPIRATION DEMO
HTTP://SVG-WOW.ORG/CAMERA/CAMERA.XHTML
CSS 3
Markup
CSS
JavaScript
CSS3
• Cascading Style Sheets v3
• Considered part of HTML5 movement
• Significant improvements over v2
• Text Styles
• Transitions
• Transforms
• 3D Transforms
• Animations
• Filters
CSS3
Selector[:pseudo-class] {
property: value;
property: value;
…
}
CSS3 - TRANSITIONS
• You can manage transitions between by defining rules in CSS
#id_of_element {
-webkit-transition: all 1s ease-in-out;
-moz-transition: all 1s ease-in-out;
-o-transition: all 1s ease-in-out;
transition: all 1s ease-in-out;
}
CSS3 - TRANSITIONS
• You can manage transitions between by defining rules in
CSS
• transition-property
• e.g. all, margin-left, color
• transition-duration
• e.g. 1s, 1000ms
• transition-timing-function
• e.g. ease | linear | ease-in | ease-out | ease-in-out
• e.g. cubic-bezier(<number>, <number>, <number>, <number>)
• transition-delay
• e.g. 1s, 1000ms
CSS3 - TRANSITIONS
• Or you can condense it into a single property:
Transition:
<transition-property>
<transition-duration>
<transition-timing-function>
<transition-delay>
DEMO - TRANSITIONS
CSS3 - ANIMATIONS
• Similar to CSS Transitions
• Allow you to define animations in CSS using @keyframes
• Apply and configure them using animation-* properties
• animation-name
• animation-duration
• animation-timing-function
• animation-delay
• animation-direction
• animation-play-state
DEMO - ANIMATIONS
CSS3 - TRANSFORMS
• Available in both 2D & 3D
• 2D Transforms
• Matrix (transformation matrix)
• Translate or TranslateX | TranslateY
• Scale or ScaleX | ScaleY
• Skew or SkewX } SkewY
CSS3 - TRANSFORMS
• Available in both 2D & 3D
• 3D Transforms
• Matrix3d
• Translate3d
• TranslateZ
• Scale3d
• ScaleZ
• Rotate3d or RotateX | RotateY | RotateZ
• Perspective
DEMO – TRANSFORMS
WAIT! THERE’S STILL MORE!
• More CSS3 that can make your app rich and
beautiful
• CSS Transforms (2D & 3D)
• Text Effects
• Box Shadow
• Multiple Backgrounds
• ROUNDED CORNERS (a.k.a. BORDER RADIUS)
CANVAS & WEBGL
Markup
CSS
JavaScript
CANVAS & WEBGL
• Provide you with stateless visuals
• i.e. must constantly repaint the screen
• Canvas provides 2D context
• WebGL provides 3D context
• Used for graphically rich applications and games
DEMO - CANVAS
DEMO - WEBGL
HTTP://WORKSHOP.CHROMEEXPERIMENTS.COM/BOOKCASE/
GOALS
• To learn ways to think about “rich and beautiful” apps
• To see the broad range of HTML tools for the rich and
beautiful
• To better understand your existing HTML skill set
• To get ideas on how YOU can make rich and beautiful
features in your apps
• To teach you that rich and beautiful apps aren’t
unattainable
NEXT STEPS
Read
and
learn
more
Warm
up and
think
“outsid
e the
box”
Pitch
“outsid
e the
box”
feature
s
Implem
ent a
Rich
and
Beautif
ul
feature
REFERENCES & RESOURCES
• http://diveintohtml5.org
• http://css3.bradshawenterprises.com
QUESTIONS / COMMENTS /
FEEDBACK
Rich and Beautiful: Making Attractive Apps in HTML5 [Wpg 2013]
@davidwesst
www.davidwesst.com
dw@davidwesst.com

More Related Content

PDF
HTML5: The Parts You Care About - 4/Nov/13 - PrDC Saskatoon, SK
PPTX
5 Reasons Why Your Website Is[n’t] a Native App (PrDC 2015)
PDF
JavaScript Revolution - 5/Nov/13 - PrDC Saskatoon, SK
PPTX
Learning to be IDE Free (PrDC 2015)
PDF
Understand front end developer
KEY
Why You Need a Front End Developer
PDF
Angular mobile angular_u
PDF
Responsive Web Design: Clever Tips and Techniques
HTML5: The Parts You Care About - 4/Nov/13 - PrDC Saskatoon, SK
5 Reasons Why Your Website Is[n’t] a Native App (PrDC 2015)
JavaScript Revolution - 5/Nov/13 - PrDC Saskatoon, SK
Learning to be IDE Free (PrDC 2015)
Understand front end developer
Why You Need a Front End Developer
Angular mobile angular_u
Responsive Web Design: Clever Tips and Techniques

What's hot (20)

PDF
Going native with html5 web components
PDF
Front-End Frameworks: a quick overview
PDF
Web Development for UX Designers
PDF
What is front-end development ?
PDF
Unobtrusive JavaScript
PDF
"Responsive Web Design: Clever Tips and Techniques". Vitaly Friedman, Smashin...
PDF
Practical tipsmakemobilefaster oscon2016
PDF
Style Guides, Pattern Libraries, Design Systems and other amenities.
PDF
CSS Lessons Learned the Hard Way (Generate Conf)
PDF
Lastest Trends in Web Development
PDF
Design Systems, Pattern Libraries & WordPress
PDF
Style Guides Are The New Photoshop (Fronteers 2012)
PDF
Unobtrusive JavaScript with jQuery
PDF
Front end development best practices
PDF
Scalable front-end architecture with Bootstrap 3 + Atomic CSS
PDF
How to write good quality code
PPTX
Untangling the web11
PDF
Road to Rails
PPT
Lecture 6 Data Driven Design
PDF
HTML CSS JavaScript jQuery Training
Going native with html5 web components
Front-End Frameworks: a quick overview
Web Development for UX Designers
What is front-end development ?
Unobtrusive JavaScript
"Responsive Web Design: Clever Tips and Techniques". Vitaly Friedman, Smashin...
Practical tipsmakemobilefaster oscon2016
Style Guides, Pattern Libraries, Design Systems and other amenities.
CSS Lessons Learned the Hard Way (Generate Conf)
Lastest Trends in Web Development
Design Systems, Pattern Libraries & WordPress
Style Guides Are The New Photoshop (Fronteers 2012)
Unobtrusive JavaScript with jQuery
Front end development best practices
Scalable front-end architecture with Bootstrap 3 + Atomic CSS
How to write good quality code
Untangling the web11
Road to Rails
Lecture 6 Data Driven Design
HTML CSS JavaScript jQuery Training
Ad

Similar to Rich and Beautiful: Making Attractive Apps in HTML5 [Wpg 2013] (20)

PPTX
Html5 more than just html5 v final
PPTX
Curtin University Frontend Web Development
PPTX
About Best friends - HTML, CSS and JS
PPTX
Introduction to HTML .pptx
PDF
A brief introduction on HTML5 and responsive layouts
PPTX
WEB DEVELOPMENT.pptx
PDF
CSS3: Are you experienced?
PDF
Design4Drupal Boston 2013 - Bumps in the Road to Responsive
KEY
Trendsetting: Web Design and Beyond
PPTX
web development
PDF
Web design training , Web Design Training In Kolkata
PPTX
Introduction to HTML language Web design.pptx
PDF
Intro to CSS3
PPTX
Training presentation.pptx
PPTX
Top 10 HTML5 features every developer should know!
KEY
It's a Mod World - A Practical Guide to Rocking Modernizr
PPT
Html5 Whats around the bend
PDF
web development
PPTX
25444215.pptx
KEY
The web standards gentleman: a matter of (evolving) standards)
Html5 more than just html5 v final
Curtin University Frontend Web Development
About Best friends - HTML, CSS and JS
Introduction to HTML .pptx
A brief introduction on HTML5 and responsive layouts
WEB DEVELOPMENT.pptx
CSS3: Are you experienced?
Design4Drupal Boston 2013 - Bumps in the Road to Responsive
Trendsetting: Web Design and Beyond
web development
Web design training , Web Design Training In Kolkata
Introduction to HTML language Web design.pptx
Intro to CSS3
Training presentation.pptx
Top 10 HTML5 features every developer should know!
It's a Mod World - A Practical Guide to Rocking Modernizr
Html5 Whats around the bend
web development
25444215.pptx
The web standards gentleman: a matter of (evolving) standards)
Ad

Recently uploaded (20)

PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Approach and Philosophy of On baking technology
PPT
Teaching material agriculture food technology
PDF
Encapsulation theory and applications.pdf
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PPTX
Cloud computing and distributed systems.
PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
PDF
KodekX | Application Modernization Development
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
PPTX
Big Data Technologies - Introduction.pptx
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Unlocking AI with Model Context Protocol (MCP)
Approach and Philosophy of On baking technology
Teaching material agriculture food technology
Encapsulation theory and applications.pdf
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Chapter 3 Spatial Domain Image Processing.pdf
Understanding_Digital_Forensics_Presentation.pptx
Review of recent advances in non-invasive hemoglobin estimation
Reach Out and Touch Someone: Haptics and Empathic Computing
Cloud computing and distributed systems.
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
KodekX | Application Modernization Development
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Dropbox Q2 2025 Financial Results & Investor Presentation
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
Big Data Technologies - Introduction.pptx
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...

Rich and Beautiful: Making Attractive Apps in HTML5 [Wpg 2013]

  • 1. Rich & Beautiful: Making Attractive Apps with HTML5 David Wesst
  • 5. THESE ARE SOME COOL APPS, BUT... • I don’t have the resources (time or money) to build those • My client doesn’t care about making things pretty • I am not a designer, so I can’t do things like that.
  • 6. RICH & BEAUTIFUL: MAKING ATTRACTIVE APPS WITH HTML5 DAVID WESST PRAIRIE DEV CON 2013 – WINNIPEG, MB
  • 17. GOALS • To learn ways to think about “rich and beautiful” apps • To see the broad range of HTML tools for the rich and beautiful • To better understand your existing HTML skill set • To get ideas on how YOU can make rich and beautiful features in your apps • To teach you that rich and beautiful apps aren’t unattainable
  • 18. WHAT THIS PRESENTATION IS (AGENDA) • Warm Up: Thinking UX • Understanding the Toolbox • HTML5 Multimedia • SVG (Scalable Vector Graphics) • CSS3 (Cascading Style Sheets v3) • HTML5 Canvas & WebGL (Web Graphics Library) • Next Steps
  • 19. WHAT THIS PRESENTATION IS NOT • A course on user experience design and development • An introduction to HTML5 and/or HTML Development • A deep dive to HTML/CSS/JavaScript coding • …but we will see code • A focus on specific HTML5 features
  • 21. WARM UP EXERCISE: THINKING UX • What? Paint the house • Why? House should stand out more in the neighborhood • How? • Paint the house in the same colour it already is • How? • Paint the house one colour and paint the trim another • How? • Paint the house a base colour, then finish by painting a mural of the residents on the side of the house
  • 22. WARM UP EXERCISE: THINKING UX • What? Display a profile page for the user • Why? User needs to view their profile to ensure their data is correct • How? • Display a form with the data in form controls • How? • Display a form with the data in form controls and all associated data interactions with them • How? • Display a contact card that shows the basic information of the person, in combination with their photos and other interactions
  • 23. WARM UP EXERCISE: THINKING UX • What? The Requirement • Why? The rational behind the requirement • How? (Part 1) • Regular Solution  “It will get the job done” • How? (Part 2) • Out of the Box  “It will get the job done and then some” • How? (Part 3) • Out of this World  “It will get the job done and blow there hair back…”
  • 24. WARM UP EXERCISE: THINKING UX • Fundamentals points when thinking User Experience • Understand not just what but why the feature is being implemented • Thinking of multiple solutions (at least three) before deciding on a solution • Finding a balance between the solutions, with respect to project scope
  • 25. WARM UP EXERCISE: THINKING UX Remember • User Experience is important to all users…even if they don’t know it • Better User Experience = Better User Acceptance • Happy Users = Happy Consumers and/or Employees = Happy Clients
  • 26. RICH AND BEAUTIFUL HTML APPS • What are they made of? • Multimedia • AJAX / Dynamic User Interfaces • Animations (i.e. Movement on the Screen) • Graphics
  • 27. HTML TOOLBOX Markup • Document Object Model • Elements and Attributes CSS • Styling Code • Basic Presentation Logic JavaScript • Application Logic • Supporting Libraries
  • 29. HTML MULTIMEDIA • Multimedia = Rich and Beautiful Content • Video Blogs • Podcasts • Music • Commercials • Etc…
  • 30. HTML AUDIO • Introduced updated HTML5 spec • Allows HTML applications to play audio files • Full browser support requires multiple file types • MP3 • OGG • Configurable through HTML and JavaScript
  • 31. HTML AUDIO <audio src="/_demo/media/dotnetrocks.mp3" controls /> • Similar to images • Has a number of decorator attributes • Autoplay • Controls • Loop • Muted
  • 32. HTML AUDIO <audio controls> <source src="/_demo/media/dotnetrocks.mp3" /> <source src="/_demo/media/dotnetrocks.ogg" /> <p>Your browser does not support HTML5 Audio. :(</p> </audio> • Supports multiple sources of audio (MPG & OGG) • Also, fallback support for alternate experience for legacy browsers • E.g. <p>This is my message</p> • E.g. <object>….</object>
  • 34. HTML AUDIO VIDEO • Introduced updated HTML5 standard • Allows HTML applications to play audio video files • Full browser support requires multiple file types • MP4 • OGG • WebM • Configurable through HTML and JavaScript
  • 35. HTML AUDIO VIDEO <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 type="application/x-shockwave-flash" data="flowplayer-3.2.1.swf"> … </object> </video> • Supports multiple sources of audio (MPG & OGG) • Also, fallback support for alternate experience for legacy browsers • E.g. <p>This is my message</p>
  • 38. YES. YES THEY ARE. THAT IS A GREAT QUESTION!
  • 40. SCALABLE VECTOR GRAPHICS (A.K.A. SVG) • SVG’s are images that are defined using XML • As of HTML5, SVG is a subset of HTML • That means you can embed image code directly in your HTML • It ALSO means that SVG elements are regular DOM elements
  • 41. SCALABLE VECTOR GRAPHICS (A.K.A. SVG)<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"> <title>HTML5 Logo</title> <polygon fill="#E44D26" points="107.644,470.877 74.633,100.62 437.367,100.62 404.321,470.819 255.778,512 "/> <polygon fill="#F16529" points="256,480.523 376.03,447.246 404.27,130.894 256,130.894 "/> <polygon fill="#EBEBEB" points="256,268.217 195.91,268.217 191.76,221.716 256,221.716 256,176.305 255.843,176.305 142.132,176.305 143.219,188.488 154.38,313.627 256,313.627"/> <polygon fill="#EBEBEB" points="256,386.153 255.801,386.206 205.227,372.55 201.994,336.333 177.419,336.333 156.409,336.333 162.771,407.634 255.791,433.457 256,433.399"/> <path d="M108.382,0h23.077v22.8h21.11V0h23.078v69.044H152.57v- 23.12h-21.11v23.12h-23.077V0z"/> <path d="M205.994,22.896h-20.316V0h63.72v22.896h-20.325v46.148h- 23.078V22.896z"/> <path d="M259.511,0h24.063l14.802,24.26L313.163,0h24.072v69.044h- 22.982V34.822l-15.877,24.549h-0.397l-15.888-24.549v34.222h- 22.58V0z"/> <path d="M348.72,0h23.084v46.222h32.453v22.822H348.72V0z"/> <polygon fill="#FFFFFF" points="255.843,268.217 255.843,313.627 311.761,313.627 306.49,372.521 255.843,386.191 255.843,433.435 348.937,407.634 349.62,399.962 360.291,280.411 361.399,268.217 349.162,268.217"/> <polygon fill="#FFFFFF" points="255.843,176.305 255.843,204.509 255.843,221.605 255.843,221.716 365.385,221.716 365.385,221.716 365.531,221.716 366.442,211.509 368.511,188.488 369.597,176.305"/> </svg>
  • 42. DEMO
  • 45. CSS3 • Cascading Style Sheets v3 • Considered part of HTML5 movement • Significant improvements over v2 • Text Styles • Transitions • Transforms • 3D Transforms • Animations • Filters
  • 47. CSS3 - TRANSITIONS • You can manage transitions between by defining rules in CSS #id_of_element { -webkit-transition: all 1s ease-in-out; -moz-transition: all 1s ease-in-out; -o-transition: all 1s ease-in-out; transition: all 1s ease-in-out; }
  • 48. CSS3 - TRANSITIONS • You can manage transitions between by defining rules in CSS • transition-property • e.g. all, margin-left, color • transition-duration • e.g. 1s, 1000ms • transition-timing-function • e.g. ease | linear | ease-in | ease-out | ease-in-out • e.g. cubic-bezier(<number>, <number>, <number>, <number>) • transition-delay • e.g. 1s, 1000ms
  • 49. CSS3 - TRANSITIONS • Or you can condense it into a single property: Transition: <transition-property> <transition-duration> <transition-timing-function> <transition-delay>
  • 51. CSS3 - ANIMATIONS • Similar to CSS Transitions • Allow you to define animations in CSS using @keyframes • Apply and configure them using animation-* properties • animation-name • animation-duration • animation-timing-function • animation-delay • animation-direction • animation-play-state
  • 53. CSS3 - TRANSFORMS • Available in both 2D & 3D • 2D Transforms • Matrix (transformation matrix) • Translate or TranslateX | TranslateY • Scale or ScaleX | ScaleY • Skew or SkewX } SkewY
  • 54. CSS3 - TRANSFORMS • Available in both 2D & 3D • 3D Transforms • Matrix3d • Translate3d • TranslateZ • Scale3d • ScaleZ • Rotate3d or RotateX | RotateY | RotateZ • Perspective
  • 56. WAIT! THERE’S STILL MORE! • More CSS3 that can make your app rich and beautiful • CSS Transforms (2D & 3D) • Text Effects • Box Shadow • Multiple Backgrounds • ROUNDED CORNERS (a.k.a. BORDER RADIUS)
  • 58. CANVAS & WEBGL • Provide you with stateless visuals • i.e. must constantly repaint the screen • Canvas provides 2D context • WebGL provides 3D context • Used for graphically rich applications and games
  • 61. GOALS • To learn ways to think about “rich and beautiful” apps • To see the broad range of HTML tools for the rich and beautiful • To better understand your existing HTML skill set • To get ideas on how YOU can make rich and beautiful features in your apps • To teach you that rich and beautiful apps aren’t unattainable
  • 62. NEXT STEPS Read and learn more Warm up and think “outsid e the box” Pitch “outsid e the box” feature s Implem ent a Rich and Beautif ul feature
  • 63. REFERENCES & RESOURCES • http://diveintohtml5.org • http://css3.bradshawenterprises.com
  • 64. QUESTIONS / COMMENTS / FEEDBACK

Editor's Notes

  • #30: DEMOAudio(Chrome) http://studio.html5rocks.com/#PlayerVideo(Chrome) http://studio.html5rocks.com/#PiP(IE) http://demos.w3avenue.com/html5-unleashed-tips-tricks-and-techniques/sample-05-video-custom-controls-demo.html
  • #37: http://demos.w3avenue.com/html5-unleashed-tips-tricks-and-techniques/sample-05-video-custom-controls-demo.html
  • #41: DEMOS-http://svg-wow.org/
  • #42: DEMOS-http://svg-wow.org/
  • #46: DEMOhttp://www.css3.info/preview/text-shadow/
  • #47: DEMOhttp://www.css3.info/preview/text-shadow/
  • #53: DEMOhttp://www.css3.info/preview/css3-transitions/
  • #56: http://css3.bradshawenterprises.com/transforms/#playground
  • #61: http://html5demos.com/canvashttp://html5demos.com/video-canvashttp://html5demos.com/canvas-grad