SlideShare ist ein Scribd-Unternehmen logo
1 von 66
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
IE userAgent (http://useragents.ie/)
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
@davidwesst
www.davidwesst.com
dw@davidwesst.com

Weitere ähnliche Inhalte

Was ist angesagt?

Going native with html5 web components
Going native with html5 web componentsGoing native with html5 web components
Going native with html5 web componentsJames York
 
Front-End Frameworks: a quick overview
Front-End Frameworks: a quick overviewFront-End Frameworks: a quick overview
Front-End Frameworks: a quick overviewDiacode
 
Web Development for UX Designers
Web Development for UX DesignersWeb Development for UX Designers
Web Development for UX DesignersAshlimarie
 
What is front-end development ?
What is front-end development ?What is front-end development ?
What is front-end development ?Mahmoud Shaker
 
Unobtrusive JavaScript
Unobtrusive JavaScriptUnobtrusive JavaScript
Unobtrusive JavaScriptdaveverwer
 
"Responsive Web Design: Clever Tips and Techniques". Vitaly Friedman, Smashin...
"Responsive Web Design: Clever Tips and Techniques". Vitaly Friedman, Smashin..."Responsive Web Design: Clever Tips and Techniques". Vitaly Friedman, Smashin...
"Responsive Web Design: Clever Tips and Techniques". Vitaly Friedman, Smashin...Yandex
 
Practical tipsmakemobilefaster oscon2016
Practical tipsmakemobilefaster oscon2016Practical tipsmakemobilefaster oscon2016
Practical tipsmakemobilefaster oscon2016Doris Chen
 
Style Guides, Pattern Libraries, Design Systems and other amenities.
 Style Guides, Pattern Libraries, Design Systems and other amenities. Style Guides, Pattern Libraries, Design Systems and other amenities.
Style Guides, Pattern Libraries, Design Systems and other amenities.Cristiano Rastelli
 
CSS Lessons Learned the Hard Way (Generate Conf)
CSS Lessons Learned the Hard Way (Generate Conf)CSS Lessons Learned the Hard Way (Generate Conf)
CSS Lessons Learned the Hard Way (Generate Conf)Zoe Gillenwater
 
Lastest Trends in Web Development
Lastest Trends in Web DevelopmentLastest Trends in Web Development
Lastest Trends in Web DevelopmentDoris Chen
 
Design Systems, Pattern Libraries & WordPress
Design Systems, Pattern Libraries & WordPressDesign Systems, Pattern Libraries & WordPress
Design Systems, Pattern Libraries & WordPressJesse James Arnold
 
Style Guides Are The New Photoshop (Fronteers 2012)
Style Guides Are The New Photoshop (Fronteers 2012)Style Guides Are The New Photoshop (Fronteers 2012)
Style Guides Are The New Photoshop (Fronteers 2012)Stephen Hay
 
Unobtrusive JavaScript with jQuery
Unobtrusive JavaScript with jQueryUnobtrusive JavaScript with jQuery
Unobtrusive JavaScript with jQuerySimon Willison
 
Front end development best practices
Front end development best practicesFront end development best practices
Front end development best practicesKarolina Coates
 
Scalable front-end architecture with Bootstrap 3 + Atomic CSS
Scalable front-end architecture with Bootstrap 3 + Atomic CSSScalable front-end architecture with Bootstrap 3 + Atomic CSS
Scalable front-end architecture with Bootstrap 3 + Atomic CSSHayden Bleasel
 
How to write good quality code
How to write good quality codeHow to write good quality code
How to write good quality codeHayden Bleasel
 
Untangling the web11
Untangling the web11Untangling the web11
Untangling the web11Derek Jacoby
 
HTML CSS JavaScript jQuery Training
HTML CSS JavaScript jQuery TrainingHTML CSS JavaScript jQuery Training
HTML CSS JavaScript jQuery Trainingubshreenath
 

Was ist angesagt? (20)

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

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

Curtin University Frontend Web Development
Curtin University Frontend Web DevelopmentCurtin University Frontend Web Development
Curtin University Frontend Web DevelopmentDaryll Chu
 
About Best friends - HTML, CSS and JS
About Best friends - HTML, CSS and JSAbout Best friends - HTML, CSS and JS
About Best friends - HTML, CSS and JSNaga Harish M
 
A brief introduction on HTML5 and responsive layouts
A brief introduction on HTML5 and responsive layoutsA brief introduction on HTML5 and responsive layouts
A brief introduction on HTML5 and responsive layoutsTim Wray
 
WEB DEVELOPMENT.pptx
WEB DEVELOPMENT.pptxWEB DEVELOPMENT.pptx
WEB DEVELOPMENT.pptxsilvers5
 
CSS3: Are you experienced?
CSS3: Are you experienced?CSS3: Are you experienced?
CSS3: Are you experienced?Denise Jacobs
 
Design4Drupal Boston 2013 - Bumps in the Road to Responsive
Design4Drupal Boston 2013 - Bumps in the Road to ResponsiveDesign4Drupal Boston 2013 - Bumps in the Road to Responsive
Design4Drupal Boston 2013 - Bumps in the Road to ResponsiveSalem Ghoweri
 
Trendsetting: Web Design and Beyond
Trendsetting: Web Design and BeyondTrendsetting: Web Design and Beyond
Trendsetting: Web Design and BeyondAndy Stratton
 
Web design training , Web Design Training In Kolkata
Web design training , Web Design Training In KolkataWeb design training , Web Design Training In Kolkata
Web design training , Web Design Training In KolkataW3webschool
 
Introduction to HTML language Web design.pptx
Introduction to HTML language Web design.pptxIntroduction to HTML language Web design.pptx
Introduction to HTML language Web design.pptxlekhacce
 
Training presentation.pptx
Training presentation.pptxTraining presentation.pptx
Training presentation.pptxNishchaiyaBayla1
 
Top 10 HTML5 features every developer should know!
Top 10 HTML5 features every developer should know!Top 10 HTML5 features every developer should know!
Top 10 HTML5 features every developer should know!Gill Cleeren
 
It's a Mod World - A Practical Guide to Rocking Modernizr
It's a Mod World - A Practical Guide to Rocking ModernizrIt's a Mod World - A Practical Guide to Rocking Modernizr
It's a Mod World - A Practical Guide to Rocking ModernizrMichael Enslow
 
Html5 Whats around the bend
Html5 Whats around the bendHtml5 Whats around the bend
Html5 Whats around the bendRaj Lal
 
The web standards gentleman: a matter of (evolving) standards)
The web standards gentleman: a matter of (evolving) standards)The web standards gentleman: a matter of (evolving) standards)
The web standards gentleman: a matter of (evolving) standards)Chris Mills
 

Ähnlich wie Rich and Beautiful: Making Attractive Apps in HTML5 [Wpg 2013] (20)

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

Kürzlich hochgeladen

From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 

Kürzlich hochgeladen (20)

From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 

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
  • 7.
  • 8.
  • 9.
  • 11.
  • 12.
  • 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
  • 65.

Hinweis der Redaktion

  1. 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
  2. http://demos.w3avenue.com/html5-unleashed-tips-tricks-and-techniques/sample-05-video-custom-controls-demo.html
  3. DEMOS-http://svg-wow.org/
  4. DEMOS-http://svg-wow.org/
  5. DEMOhttp://www.css3.info/preview/text-shadow/
  6. DEMOhttp://www.css3.info/preview/text-shadow/
  7. DEMOhttp://www.css3.info/preview/css3-transitions/
  8. http://css3.bradshawenterprises.com/transforms/#playground
  9. http://html5demos.com/canvashttp://html5demos.com/video-canvashttp://html5demos.com/canvas-grad