SlideShare uma empresa Scribd logo
1 de 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

Mais conteúdo relacionado

Mais procurados

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
 

Mais procurados (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
 

Semelhante a 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
 

Semelhante a 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
 

Último

08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
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
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
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
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 

Último (20)

08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
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
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 

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.

Notas do Editor

  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