SlideShare uma empresa Scribd logo
1 de 83
Baixar para ler offline
Designing the
Conversation
Aaron Gustafson

@AaronGustafson
slideshare.net/AaronGustafson
@AaronGustafsonDesigning the Conversation
I’m	<em>really</em>	happy	to	see	you.
@AaronGustafsonDesigning the Conversation
IPowerful Phrases
@AaronGustafsonDesigning the Conversation
I’m	<em>really</em>	happy	to	see	you.
Emphasis
@AaronGustafsonDesigning the Conversation
Please	fill	out	the	form	below	to	contact	us.	
<strong>All	fields	are	required.</strong>
Strong Importance
@AaronGustafsonDesigning the Conversation
I’m really happy to see you.
Please fill out the form below to contact us. All fields are required.
@AaronGustafsonDesigning the Conversation
It's	a	terrible	movie	and	it	made	$200	million.	
<i>Go	figure!</i>	
She	is	admired	for	her	energy	and	<i	lang="fr">joie

de	vivre</i>.
Alternate Voice or Mood
@AaronGustafsonDesigning the Conversation
For	12	years	and	running,	over	100,000	companies	have	adopted	
the	<b>Basecamp</b>	way	of	working.	Not	just	tried,	but	signed	
up,	said	“ah-ha!”,	and	never	looked	back.	There’s	nothing	else	
like	<b>Basecamp</b>.
Stylistically Offset
@AaronGustafsonDesigning the Conversation
A	ramp	embedded	in	staircase	of	Robson	Square	in	Vancouver,	
<abbr	aria-label="British	Columbia">BC</abbr>.
Abbreviations & Acronyms
@AaronGustafsonDesigning the Conversation
There	is	<span>nothing	particularly	interesting</span>	in	this	
sentence.
Generic Phrasing
@AaronGustafsonDesigning the Conversation
IIMindful Links
@AaronGustafsonDesigning the Conversation
A	ramp	embedded	in	staircase	of	<a	href="https://
en.wikipedia.org/wiki/Robson_Square">Robson	Square</a>	in	
Vancouver,	<abbr	aria-label="British	Columbia">BC</abbr>.
Connecting Content
@AaronGustafsonDesigning the Conversation
<a	href="…"><b	class="hidden">You	can	</b>finish	reading<b	
class="hidden">	<cite>The	Web	Should	Just	Work	for	Everyone</
cite>	in	less	than	10	minutes</b></a>
Connecting Content
@AaronGustafsonDesigning the Conversation
To	illustrate	the	concept	of	layering	styles,	perhaps	it’s	best	
to	start	at	the	beginning:	with	no	style	applied.

<a	href="#figure-3-3">Figure	3.3</a>	shows	the	lodging	article	
in	Safari	with	only	the	default	browser	styles	applied.	
…	
<figure	id="figure-3-3">	
		…	
</figure>
Connecting Content
@AaronGustafsonDesigning the Conversation
<a	href="…"	hreflang="es"><b	class="hidden">Lea	esta	página	en	
		</b>Español</a>
Creating Context
@AaronGustafsonDesigning the Conversation
<a	href="giant.mp4"	type="video/mp4">Download	this	movie</a>
Creating Context
@AaronGustafsonDesigning the Conversation
<a	href="giant.mp4"	type="video/mp4"	download>Download	this

		movie</a>
Triggering Actions
@AaronGustafsonDesigning the Conversation
<a	href="mailto:aaron@easy-designs.net">Send	me	an	email</a>	
<a	href="tel:18009346489">Call	Comcast	Customer	Service</a>
Connecting Tools
@AaronGustafsonDesigning the Conversation
IIIEffective
Organization
@AaronGustafsonDesigning the Conversation
@AaronGustafsonDesigning the Conversation
<h1>This	is	the	title	of	the	page</h1>	
…	
<h2>This	titles	a	section</h2>	
…	
<h3>This	titles	a	subsection</h3>	
…	
etc.
Headings
@AaronGustafsonDesigning the Conversation
<p>This	twist	is	what	<a	href="https://en.wikipedia.org/wiki/
John_Harsanyi">John	Harsanyi</a>—an	early	game	theorist—refers	
to	as	the	<a	href="https://en.wikipedia.org/wiki/
Veil_of_ignorance">“Veil	of	Ignorance”</a>	and	what	Rawls	found,	
time	and	time	again,	was	that	individuals	participating	in	the	
experiment	would	gravitate	toward	creating	the	most	egalitarian	
societies.</p>
Moving Focus
@AaronGustafsonDesigning the Conversation
<p	tabindex="0">Please	fill	out	the	form	below	completely.	
<strong>All	fields	are	required.</strong></p>
Moving Focus
@AaronGustafsonDesigning the Conversation
Accessible

Rich Internet
Applications
@AaronGustafsonDesigning the Conversation
<div	id="nav"	role="navigation">	
		<ul>	
				<li>	
						<a	href="/about/"><b	class="hidden">A	Bit	</b>About<b	
class="hidden">	Me</b></a>	
				</li>	
	 	 	 …	
		</ul>	
</div>
Navigation Region
@AaronGustafsonDesigning the Conversation
๏banner
๏navigation
๏search
๏main
๏complementary
๏contentinfo
ARIA Landmark Roles
@AaronGustafsonDesigning the Conversation
@AaronGustafsonDesigning the Conversation
<header	class="banner"	role="banner"	id="top">

		<h1	class="banner_logo"><a	href="/"	rel="home">

				24	ways	<span>to	impress	your	friends</span></a></h1>	
</header>
@AaronGustafsonDesigning the Conversation
<main	role="main">	
		…	
</main>
@AaronGustafsonDesigning the Conversation
<nav	class="navigation"	role="navigation"	id="menu">

		<h1	class="hidden">Browse	24	ways</h1>

		<ul	class="nav	nav-topics">	
				<li	class="nav_item"><a	href="/topics/business/"

						data-icon="&#x2655;">Business</a></li>	
				…	
		</ul>

		…	
</nav>
@AaronGustafsonDesigning the Conversation
<footer	class="contentinfo"	role="contentinfo">	
		<p	class="contentinfo_copyright">	
				<small>&#169;	2005-2016	24	ways	and	our	authors.

				<a	href="/about/#colophon">Colophon</a></small>	
		</p>	
		<p	class="contentinfo_social">	
				<a	href="http://feeds.feedburner.com/24ways"

						rel="alternate">Grab	our	RSS	feed</a>	
				<a	href="https://twitter.com/24ways"	rel="me">Follow	us

						on	Twitter</a>	
				<a	href="/newsletter">Subscribe	to	our	newsletter</a>	
		</p>	
</footer>
@AaronGustafsonDesigning the Conversation
๏banner - first header element not inside a sectioning element
๏navigation - nav
๏search
๏main - main
๏complementary - aside
๏contentinfo - first footer element not inside a sectioning element
HTML Landmarks
@AaronGustafsonDesigning the Conversation
<div>	
		This	is	simply	a	generic	division	of	content.	
</div>
@AaronGustafsonDesigning the Conversation
๏p - a paragraph
๏ol - a list of items whose order matters
๏ul - an list of items whose order doesn’t matter
๏li - an item in a list
๏dl - a list of items and their associated descriptions
๏dt - terms to be described within a dl
๏dd - description data within in a dl
๏figure - referenced content (images, tables, etc.)
๏figcaption - caption for a figure
Alterna-divs
@AaronGustafsonDesigning the Conversation
๏article - a piece of content that can stand on its own
๏section - a section of a document or article
๏header - preamble content for a document, article, or section
๏footer - supplementary information for a document, article, or section
๏main - the primary content of a document
๏nav - navigational content
๏aside - complementary content
Alterna-divs
@AaronGustafsonDesigning the Conversation
IVFriendly Forms
@AaronGustafsonDesigning the Conversation
What’s	your	first	name?	
<input	name="first_name">
@AaronGustafsonDesigning the Conversation
<label	for="first_name">What’s	your	first	name?</label>	
<input	id="first_name"	name="first_name">
@AaronGustafsonDesigning the Conversation
<label>	
		What’s	your	first	name?	
		<input	name="first_name">	
</label>
@AaronGustafsonDesigning the Conversation
<label	for="first_name">	
		What’s	your	first	name?	
		<input	id="first_name"	name="first_name">	
</label>
@AaronGustafsonDesigning the Conversation
<label	for="first_name">What’s	your	first	name?</label>	
<input	id="first_name"	name="first_name">
@AaronGustafsonDesigning the Conversation
Use the right

field type
@AaronGustafsonDesigning the Conversation
<label	for="first_name">What’s	Your	First	Name?</label>	
<input	type="text"	id="first_name"	name="first_name">
Free Response
@AaronGustafsonDesigning the Conversation
<label	for="email">What’s	Your	Business	Email	Address?</label>	
<input	type="email"	id="email"	name="email">
Free Response: Email
Appearance Native Validation
Text Field Maybe
@AaronGustafsonDesigning the Conversation
Browsers ignore
what they don’t
understand
@AaronGustafsonDesigning the Conversation
Progressive
Enhancement
@AaronGustafsonDesigning the Conversation
SHAMELESS PLUG!
Crafting Rich Experienceswith Progressive Enhancement
SECOND EDITION
ADAPTIVEWEBDESIGN
by Aaron GustafsonForeword by Jeremy Keith
Read Free at
http://is.gd/awd1st
25 Copies

free to good homes
@AaronGustafsonDesigning the Conversation
<label	for="url">What’s	Your	Website’s	URL?</label>	
<input	type="url"	id="url"	name="url">
Free Response: URL
Appearance Native Validation
Text Field Maybe
@AaronGustafsonDesigning the Conversation
Don’t introduce
unnecessary
complexity
@AaronGustafsonDesigning the Conversation
Phone Number:
@AaronGustafsonDesigning the Conversation
<label	for="tel">What’s	Your	Business	Phone	Number?</label>	
<input	type="tel"	id="tel"	name="business_phone">
Free Response: Telephone
Appearance Native Validation
Text Field No
@AaronGustafsonDesigning the Conversation
We should

work harder

so our users

don’t have to
@AaronGustafsonDesigning the Conversation
Help users

avoid errors
@AaronGustafsonDesigning the Conversation
Enable common
information to be
auto-filled
@AaronGustafsonDesigning the Conversation
<label	for="name">What’s	Your	Name?</label>	
<input	id="name"	name="name"	required	aria-required="true">
Keys for Auto-filling
@AaronGustafsonDesigning the Conversation
<label	for="passport">What’s	Your	Passport	Number?</label>	
<input	id="passport"	name="passport"

							required	aria-required="true"	
							autocomplete="off"	
							>
Don’t Store All Values
@AaronGustafsonDesigning the Conversation
๏ name
๏ honorific-prefix
๏ given-name
๏ additional-name
๏ family-name
๏ honorific-suffix
๏ nickname
๏ username
๏ new-password
๏ current-password
๏ organization-title
๏ organization
๏ street-address
๏ address-line1
๏ address-line2
๏ address-line3
๏ address-level4
๏ address-level3
๏ address-level2
๏ address-level1
๏ country
๏ country-name
๏ postal-code
๏ cc-name
๏ cc-given-name
๏ cc-additional-name
๏ cc-family-name
๏ cc-number
๏ cc-exp
๏ cc-exp-month
๏ cc-exp-year
๏ cc-csc
๏ cc-type
๏ transaction-currency
๏ transaction-amount
๏ language
๏ bday
๏ bday-day
๏ bday-month
๏ bday-year
๏ sex
๏ url
๏ photo
๏ tel
๏ tel-country-code
๏ tel-national
๏ tel-area-code
๏ tel-local
๏ tel-local-prefix
๏ tel-local-suffix
๏ tel-extension
๏ email
๏ impp
Autofill Tokens
@AaronGustafsonDesigning the Conversation
<label	for="shipping-mobile">Is	there	a	mobile	number	we	can		
		reach	you	on	regarding	delivery?</label>	
<input	type="tel"	id="shipping-mobile"	name="shipping-mobile"

							autocomplete="shipping	mobile	tel">
@AaronGustafsonDesigning the Conversation
Let users know
when a field is
required
@AaronGustafsonDesigning the Conversation
<p>Fields	marked	with	a	*	are	
		<strong	id="required">required</strong>.</p>	
…	
<label	for="first_name">What’s	Your	First	Name?	
		<b	role="presentation"	class="required">*</b>	
</label>	
<input	id="first_name"	name="first_name"	
										required	
										aria-required="true"	
										>
Required Fields
@AaronGustafsonDesigning the Conversation
<p><strong>All	of	the	fields	are	required.</strong></p>	
…	
<label	for="first_name">What’s	Your	First	Name?</label>	
<input	id="first_name"	name="first_name"	
										required	
										aria-required="true"	
										>
Required Fields
@AaronGustafsonDesigning the Conversation
<p><strong>All	of	the	fields	are	required.</strong></p>	
…	
<label	for="first_name">What’s	Your	First	Name?</label>	
<input	id="first_name"	name="first_name"	
										required	
										aria-required="true"	
										>
Required Fields
@AaronGustafsonDesigning the Conversation
Provide useful
hints as to the
type of response
you’re expecting
@AaronGustafsonDesigning the Conversation
<label	for="flight">What	flight	are	you	looking	for?</label>	
<input	id="flight"	name="flight"	
	 	 	 	pattern="DLd{2,}"	
	 	 	 	placeholder="e.g.	DL5407"	
	 	 	 	>	
Suggesting a response
@AaronGustafsonDesigning the Conversation
Validate

in the browser
@AaronGustafsonDesigning the Conversation
<label	for="first_name">What’s	Your	First	Name?</label>	
<input	id="first_name"	name="first_name"	
										required	
										aria-required="true"	
										>
Browser Validated
@AaronGustafsonDesigning the Conversation
<label	for="email">What’s	Your	Business	Email	Address?</label>	
<input	type="email"	id="email"	name="email">
Browser Validated
@AaronGustafsonDesigning the Conversation
<label	for="flight">What	flight	are	you	looking	for?</label>	
<input	id="flight"	name="flight"	
	 	 	 	pattern="DLd{2,}"	
	 	 	 	placeholder="e.g.	DL5407"	
	 	 	 	>
Browser Validated
@AaronGustafsonDesigning the Conversation
@AaronGustafsonDesigning the Conversation
<label	for="email">Your	Email	Address</label>	
<input	id="email"	type="email"	name="email"	
									required	aria-required="true"	
									aria-invalid="true"	
									aria-describedby="email-error"	
									>	
<strong	id="email-error"	class="validation-error-message">	
		Your	email	address	is	required</strong>
Inline Errors
@AaronGustafsonDesigning the Conversation
<label	for="email">Your	Email	Address</label>	
<input	id="email"	type="email"	name="email"	
									required	aria-required="true"	
									aria-invalid="true"	
									aria-errormessage="email-error"	
									>	
<strong	id="email-error"	class="validation-error-message">	
		Your	email	address	is	required</strong>
Inline Errors
@AaronGustafsonDesigning the Conversation
Validate

on the server
@AaronGustafsonDesigning the Conversation
<input type=“hidden” name=“price” value=“399.99”>
@AaronGustafsonDesigning the Conversation
<input type=“hidden” name=“price” value=“1”>
@AaronGustafsonDesigning the Conversation
Never trust

the client
@AaronGustafsonDesigning the Conversation
Summarize

server-side errors
@AaronGustafsonDesigning the Conversation
@AaronGustafsonDesigning the Conversation
<div	role="alert">	
		<p>There	were	errors	with	your	form	submission:</p>	
		<ol>	
				<li><a	href="#message">Message</a>	is	a	required	

						field</li>	
				<li><a	href="#name">Name</a>	is	a	required	field</li>	
				<li><a	href="#email">Email</a>	is	a	required	field</li>	
		</ol>	
</div>
@AaronGustafsonDesigning the Conversation
<div	role="alert">	
		<p>There	were	errors	with	your	form	submission:</p>	
		<ol>	
				<li><a	href="#message">Message</a>	is	a	required	

						field</li>	
				<li><a	href="#name">Name</a>	is	a	required	field</li>	
				<li><a	href="#email">Email</a>	is	a	required	field</li>	
		</ol>	
</div>
@AaronGustafsonDesigning the Conversation
<div	role="alert">	
		<p>There	were	errors	with	your	form	submission:</p>	
		<ol>	
				<li><a	href="#message">Message</a>	is	a	required	

						field</li>	
				<li><a	href="#name">Name</a>	is	a	required	field</li>	
				<li><a	href="#email">Email</a>	is	a	required	field</li>	
		</ol>	
</div>
@AaronGustafsonDesigning the Conversation
<div	role="alert">	
		<p>There	were	errors	with	your	form	submission:</p>	
		<ol>	
				<li><a	href="#message">Message</a>	is	a	required	

						field</li>	
				<li><a	href="#name">Name</a>	is	a	required	field</li>	
				<li><a	href="#email">Email</a>	is	a	required	field</li>	
		</ol>	
</div>
@AaronGustafsonDesigning the Conversation
<label	for="email">Your	Email	Address</label>	
<input	id="email"	type="email"	name="email"	
									required	aria-required="true"	
									aria-invalid="true"	
									aria-describedby="email-error"	
									>	
<strong	id="email-error"	class="validation-error-message">	
		Your	email	address	is	required</strong>
Inline Errors
Thank you!
@AaronGustafson
aaron-gustafson.com
slideshare.net/AaronGustafson

Mais conteúdo relacionado

Semelhante a Designing the Conversation [Concatenate 2018]

Getting Started with Progressive Web Apps [Beyond Tellerrand 2019]
Getting Started with Progressive Web Apps [Beyond Tellerrand 2019]Getting Started with Progressive Web Apps [Beyond Tellerrand 2019]
Getting Started with Progressive Web Apps [Beyond Tellerrand 2019]Aaron Gustafson
 
Fonts in the Age of the Interface
Fonts in the Age of the InterfaceFonts in the Age of the Interface
Fonts in the Age of the InterfaceClint Schnee
 
Designing the Conversation [SmashingConf 2016]
Designing the Conversation [SmashingConf 2016]Designing the Conversation [SmashingConf 2016]
Designing the Conversation [SmashingConf 2016]Aaron Gustafson
 
presentation on business opportunity in africa.pptx
presentation on business opportunity in africa.pptxpresentation on business opportunity in africa.pptx
presentation on business opportunity in africa.pptxTicher Nur
 

Semelhante a Designing the Conversation [Concatenate 2018] (7)

Getting Started with Progressive Web Apps [Beyond Tellerrand 2019]
Getting Started with Progressive Web Apps [Beyond Tellerrand 2019]Getting Started with Progressive Web Apps [Beyond Tellerrand 2019]
Getting Started with Progressive Web Apps [Beyond Tellerrand 2019]
 
Fonts in the Age of the Interface
Fonts in the Age of the InterfaceFonts in the Age of the Interface
Fonts in the Age of the Interface
 
Designing the Conversation [SmashingConf 2016]
Designing the Conversation [SmashingConf 2016]Designing the Conversation [SmashingConf 2016]
Designing the Conversation [SmashingConf 2016]
 
FILTRATION.pptx
FILTRATION.pptxFILTRATION.pptx
FILTRATION.pptx
 
flota vehicular.pptx
flota vehicular.pptxflota vehicular.pptx
flota vehicular.pptx
 
12 none
12 none12 none
12 none
 
presentation on business opportunity in africa.pptx
presentation on business opportunity in africa.pptxpresentation on business opportunity in africa.pptx
presentation on business opportunity in africa.pptx
 

Mais de Aaron Gustafson

Delivering Critical Information and Services [JavaScript & Friends 2021]
Delivering Critical Information and Services [JavaScript & Friends 2021]Delivering Critical Information and Services [JavaScript & Friends 2021]
Delivering Critical Information and Services [JavaScript & Friends 2021]Aaron Gustafson
 
Adapting to Reality [Guest Lecture, March 2021]
Adapting to Reality [Guest Lecture, March 2021]Adapting to Reality [Guest Lecture, March 2021]
Adapting to Reality [Guest Lecture, March 2021]Aaron Gustafson
 
Progressive Web Apps: Where Do I Begin?
Progressive Web Apps: Where Do I Begin?Progressive Web Apps: Where Do I Begin?
Progressive Web Apps: Where Do I Begin?Aaron Gustafson
 
Media in the Age of PWAs [ImageCon 2019]
Media in the Age of PWAs [ImageCon 2019]Media in the Age of PWAs [ImageCon 2019]
Media in the Age of PWAs [ImageCon 2019]Aaron Gustafson
 
Adapting to Reality [Starbucks Lunch & Learn]
Adapting to Reality [Starbucks Lunch & Learn]Adapting to Reality [Starbucks Lunch & Learn]
Adapting to Reality [Starbucks Lunch & Learn]Aaron Gustafson
 
Better Performance === Greater Accessibility [Inclusive Design 24 2018]
Better Performance === Greater Accessibility [Inclusive Design 24 2018]Better Performance === Greater Accessibility [Inclusive Design 24 2018]
Better Performance === Greater Accessibility [Inclusive Design 24 2018]Aaron Gustafson
 
PWA: Where Do I Begin? [Microsoft Ignite 2018]
PWA: Where Do I Begin? [Microsoft Ignite 2018]PWA: Where Do I Begin? [Microsoft Ignite 2018]
PWA: Where Do I Begin? [Microsoft Ignite 2018]Aaron Gustafson
 
Performance as User Experience [AEADC 2018]
Performance as User Experience [AEADC 2018]Performance as User Experience [AEADC 2018]
Performance as User Experience [AEADC 2018]Aaron Gustafson
 
The Web Should Just Work for Everyone
The Web Should Just Work for EveryoneThe Web Should Just Work for Everyone
The Web Should Just Work for EveryoneAaron Gustafson
 
Performance as User Experience [AEA SEA 2018]
Performance as User Experience [AEA SEA 2018]Performance as User Experience [AEA SEA 2018]
Performance as User Experience [AEA SEA 2018]Aaron Gustafson
 
Performance as User Experience [An Event Apart Denver 2017]
Performance as User Experience [An Event Apart Denver 2017]Performance as User Experience [An Event Apart Denver 2017]
Performance as User Experience [An Event Apart Denver 2017]Aaron Gustafson
 
Advanced Design Methods 1, Day 2
Advanced Design Methods 1, Day 2Advanced Design Methods 1, Day 2
Advanced Design Methods 1, Day 2Aaron Gustafson
 
Advanced Design Methods 1, Day 1
Advanced Design Methods 1, Day 1Advanced Design Methods 1, Day 1
Advanced Design Methods 1, Day 1Aaron Gustafson
 
Exploring Adaptive Interfaces [Generate 2017]
Exploring Adaptive Interfaces [Generate 2017]Exploring Adaptive Interfaces [Generate 2017]
Exploring Adaptive Interfaces [Generate 2017]Aaron Gustafson
 
Progressive Web Apps and the Windows Ecosystem [Build 2017]
Progressive Web Apps and the Windows Ecosystem [Build 2017]Progressive Web Apps and the Windows Ecosystem [Build 2017]
Progressive Web Apps and the Windows Ecosystem [Build 2017]Aaron Gustafson
 
Writing for Engagement [TechReady 22]
Writing for Engagement [TechReady 22]Writing for Engagement [TechReady 22]
Writing for Engagement [TechReady 22]Aaron Gustafson
 
The Features of Highly Effective Forms [SmashingConf NYC 2016]
The Features of Highly Effective Forms [SmashingConf NYC 2016]The Features of Highly Effective Forms [SmashingConf NYC 2016]
The Features of Highly Effective Forms [SmashingConf NYC 2016]Aaron Gustafson
 
Planning Adaptive Interfaces [RWD Summit 2016]
Planning Adaptive Interfaces [RWD Summit 2016]Planning Adaptive Interfaces [RWD Summit 2016]
Planning Adaptive Interfaces [RWD Summit 2016]Aaron Gustafson
 
The Features of Highly Effective Forms [An Event Apart Nashville 2016]
The Features of Highly Effective Forms [An Event Apart Nashville 2016]The Features of Highly Effective Forms [An Event Apart Nashville 2016]
The Features of Highly Effective Forms [An Event Apart Nashville 2016]Aaron Gustafson
 
Planning Adaptive Interfaces [EnhanceConf 2016]
Planning Adaptive Interfaces [EnhanceConf 2016]Planning Adaptive Interfaces [EnhanceConf 2016]
Planning Adaptive Interfaces [EnhanceConf 2016]Aaron Gustafson
 

Mais de Aaron Gustafson (20)

Delivering Critical Information and Services [JavaScript & Friends 2021]
Delivering Critical Information and Services [JavaScript & Friends 2021]Delivering Critical Information and Services [JavaScript & Friends 2021]
Delivering Critical Information and Services [JavaScript & Friends 2021]
 
Adapting to Reality [Guest Lecture, March 2021]
Adapting to Reality [Guest Lecture, March 2021]Adapting to Reality [Guest Lecture, March 2021]
Adapting to Reality [Guest Lecture, March 2021]
 
Progressive Web Apps: Where Do I Begin?
Progressive Web Apps: Where Do I Begin?Progressive Web Apps: Where Do I Begin?
Progressive Web Apps: Where Do I Begin?
 
Media in the Age of PWAs [ImageCon 2019]
Media in the Age of PWAs [ImageCon 2019]Media in the Age of PWAs [ImageCon 2019]
Media in the Age of PWAs [ImageCon 2019]
 
Adapting to Reality [Starbucks Lunch & Learn]
Adapting to Reality [Starbucks Lunch & Learn]Adapting to Reality [Starbucks Lunch & Learn]
Adapting to Reality [Starbucks Lunch & Learn]
 
Better Performance === Greater Accessibility [Inclusive Design 24 2018]
Better Performance === Greater Accessibility [Inclusive Design 24 2018]Better Performance === Greater Accessibility [Inclusive Design 24 2018]
Better Performance === Greater Accessibility [Inclusive Design 24 2018]
 
PWA: Where Do I Begin? [Microsoft Ignite 2018]
PWA: Where Do I Begin? [Microsoft Ignite 2018]PWA: Where Do I Begin? [Microsoft Ignite 2018]
PWA: Where Do I Begin? [Microsoft Ignite 2018]
 
Performance as User Experience [AEADC 2018]
Performance as User Experience [AEADC 2018]Performance as User Experience [AEADC 2018]
Performance as User Experience [AEADC 2018]
 
The Web Should Just Work for Everyone
The Web Should Just Work for EveryoneThe Web Should Just Work for Everyone
The Web Should Just Work for Everyone
 
Performance as User Experience [AEA SEA 2018]
Performance as User Experience [AEA SEA 2018]Performance as User Experience [AEA SEA 2018]
Performance as User Experience [AEA SEA 2018]
 
Performance as User Experience [An Event Apart Denver 2017]
Performance as User Experience [An Event Apart Denver 2017]Performance as User Experience [An Event Apart Denver 2017]
Performance as User Experience [An Event Apart Denver 2017]
 
Advanced Design Methods 1, Day 2
Advanced Design Methods 1, Day 2Advanced Design Methods 1, Day 2
Advanced Design Methods 1, Day 2
 
Advanced Design Methods 1, Day 1
Advanced Design Methods 1, Day 1Advanced Design Methods 1, Day 1
Advanced Design Methods 1, Day 1
 
Exploring Adaptive Interfaces [Generate 2017]
Exploring Adaptive Interfaces [Generate 2017]Exploring Adaptive Interfaces [Generate 2017]
Exploring Adaptive Interfaces [Generate 2017]
 
Progressive Web Apps and the Windows Ecosystem [Build 2017]
Progressive Web Apps and the Windows Ecosystem [Build 2017]Progressive Web Apps and the Windows Ecosystem [Build 2017]
Progressive Web Apps and the Windows Ecosystem [Build 2017]
 
Writing for Engagement [TechReady 22]
Writing for Engagement [TechReady 22]Writing for Engagement [TechReady 22]
Writing for Engagement [TechReady 22]
 
The Features of Highly Effective Forms [SmashingConf NYC 2016]
The Features of Highly Effective Forms [SmashingConf NYC 2016]The Features of Highly Effective Forms [SmashingConf NYC 2016]
The Features of Highly Effective Forms [SmashingConf NYC 2016]
 
Planning Adaptive Interfaces [RWD Summit 2016]
Planning Adaptive Interfaces [RWD Summit 2016]Planning Adaptive Interfaces [RWD Summit 2016]
Planning Adaptive Interfaces [RWD Summit 2016]
 
The Features of Highly Effective Forms [An Event Apart Nashville 2016]
The Features of Highly Effective Forms [An Event Apart Nashville 2016]The Features of Highly Effective Forms [An Event Apart Nashville 2016]
The Features of Highly Effective Forms [An Event Apart Nashville 2016]
 
Planning Adaptive Interfaces [EnhanceConf 2016]
Planning Adaptive Interfaces [EnhanceConf 2016]Planning Adaptive Interfaces [EnhanceConf 2016]
Planning Adaptive Interfaces [EnhanceConf 2016]
 

Último

Call Girls In Defence Colony Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Defence Colony Delhi 💯Call Us 🔝8264348440🔝Call Girls In Defence Colony Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Defence Colony Delhi 💯Call Us 🔝8264348440🔝soniya singh
 
₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...
₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...
₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...Diya Sharma
 
Call Girls In Sukhdev Vihar Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Sukhdev Vihar Delhi 💯Call Us 🔝8264348440🔝Call Girls In Sukhdev Vihar Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Sukhdev Vihar Delhi 💯Call Us 🔝8264348440🔝soniya singh
 
SEO Growth Program-Digital optimization Specialist
SEO Growth Program-Digital optimization SpecialistSEO Growth Program-Digital optimization Specialist
SEO Growth Program-Digital optimization SpecialistKHM Anwar
 
Call Girls In Ashram Chowk Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Ashram Chowk Delhi 💯Call Us 🔝8264348440🔝Call Girls In Ashram Chowk Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Ashram Chowk Delhi 💯Call Us 🔝8264348440🔝soniya singh
 
Pune Airport ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready...
Pune Airport ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready...Pune Airport ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready...
Pune Airport ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready...tanu pandey
 
Call Now ☎ 8264348440 !! Call Girls in Shahpur Jat Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Shahpur Jat Escort Service Delhi N.C.R.Call Now ☎ 8264348440 !! Call Girls in Shahpur Jat Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Shahpur Jat Escort Service Delhi N.C.R.soniya singh
 
Call Girls in Mayur Vihar ✔️ 9711199171 ✔️ Delhi ✔️ Enjoy Call Girls With Our...
Call Girls in Mayur Vihar ✔️ 9711199171 ✔️ Delhi ✔️ Enjoy Call Girls With Our...Call Girls in Mayur Vihar ✔️ 9711199171 ✔️ Delhi ✔️ Enjoy Call Girls With Our...
Call Girls in Mayur Vihar ✔️ 9711199171 ✔️ Delhi ✔️ Enjoy Call Girls With Our...sonatiwari757
 
Call Girls Dubai Prolapsed O525547819 Call Girls In Dubai Princes$
Call Girls Dubai Prolapsed O525547819 Call Girls In Dubai Princes$Call Girls Dubai Prolapsed O525547819 Call Girls In Dubai Princes$
Call Girls Dubai Prolapsed O525547819 Call Girls In Dubai Princes$kojalkojal131
 
Moving Beyond Twitter/X and Facebook - Social Media for local news providers
Moving Beyond Twitter/X and Facebook - Social Media for local news providersMoving Beyond Twitter/X and Facebook - Social Media for local news providers
Moving Beyond Twitter/X and Facebook - Social Media for local news providersDamian Radcliffe
 
AWS Community DAY Albertini-Ellan Cloud Security (1).pptx
AWS Community DAY Albertini-Ellan Cloud Security (1).pptxAWS Community DAY Albertini-Ellan Cloud Security (1).pptx
AWS Community DAY Albertini-Ellan Cloud Security (1).pptxellan12
 
✂️ 👅 Independent Andheri Escorts With Room Vashi Call Girls 💃 9004004663
✂️ 👅 Independent Andheri Escorts With Room Vashi Call Girls 💃 9004004663✂️ 👅 Independent Andheri Escorts With Room Vashi Call Girls 💃 9004004663
✂️ 👅 Independent Andheri Escorts With Room Vashi Call Girls 💃 9004004663Call Girls Mumbai
 
All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445
All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445
All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445ruhi
 
10.pdfMature Call girls in Dubai +971563133746 Dubai Call girls
10.pdfMature Call girls in Dubai +971563133746 Dubai Call girls10.pdfMature Call girls in Dubai +971563133746 Dubai Call girls
10.pdfMature Call girls in Dubai +971563133746 Dubai Call girlsstephieert
 
On Starlink, presented by Geoff Huston at NZNOG 2024
On Starlink, presented by Geoff Huston at NZNOG 2024On Starlink, presented by Geoff Huston at NZNOG 2024
On Starlink, presented by Geoff Huston at NZNOG 2024APNIC
 
VIP 7001035870 Find & Meet Hyderabad Call Girls Dilsukhnagar high-profile Cal...
VIP 7001035870 Find & Meet Hyderabad Call Girls Dilsukhnagar high-profile Cal...VIP 7001035870 Find & Meet Hyderabad Call Girls Dilsukhnagar high-profile Cal...
VIP 7001035870 Find & Meet Hyderabad Call Girls Dilsukhnagar high-profile Cal...aditipandeya
 
𓀤Call On 7877925207 𓀤 Ahmedguda Call Girls Hot Model With Sexy Bhabi Ready Fo...
𓀤Call On 7877925207 𓀤 Ahmedguda Call Girls Hot Model With Sexy Bhabi Ready Fo...𓀤Call On 7877925207 𓀤 Ahmedguda Call Girls Hot Model With Sexy Bhabi Ready Fo...
𓀤Call On 7877925207 𓀤 Ahmedguda Call Girls Hot Model With Sexy Bhabi Ready Fo...Neha Pandey
 
VIP 7001035870 Find & Meet Hyderabad Call Girls LB Nagar high-profile Call Girl
VIP 7001035870 Find & Meet Hyderabad Call Girls LB Nagar high-profile Call GirlVIP 7001035870 Find & Meet Hyderabad Call Girls LB Nagar high-profile Call Girl
VIP 7001035870 Find & Meet Hyderabad Call Girls LB Nagar high-profile Call Girladitipandeya
 

Último (20)

Call Girls In Defence Colony Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Defence Colony Delhi 💯Call Us 🔝8264348440🔝Call Girls In Defence Colony Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Defence Colony Delhi 💯Call Us 🔝8264348440🔝
 
₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...
₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...
₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...
 
Call Girls In Sukhdev Vihar Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Sukhdev Vihar Delhi 💯Call Us 🔝8264348440🔝Call Girls In Sukhdev Vihar Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Sukhdev Vihar Delhi 💯Call Us 🔝8264348440🔝
 
SEO Growth Program-Digital optimization Specialist
SEO Growth Program-Digital optimization SpecialistSEO Growth Program-Digital optimization Specialist
SEO Growth Program-Digital optimization Specialist
 
Call Girls In Ashram Chowk Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Ashram Chowk Delhi 💯Call Us 🔝8264348440🔝Call Girls In Ashram Chowk Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Ashram Chowk Delhi 💯Call Us 🔝8264348440🔝
 
Pune Airport ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready...
Pune Airport ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready...Pune Airport ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready...
Pune Airport ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready...
 
Rohini Sector 26 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
Rohini Sector 26 Call Girls Delhi 9999965857 @Sabina Saikh No AdvanceRohini Sector 26 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
Rohini Sector 26 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
 
Call Now ☎ 8264348440 !! Call Girls in Shahpur Jat Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Shahpur Jat Escort Service Delhi N.C.R.Call Now ☎ 8264348440 !! Call Girls in Shahpur Jat Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Shahpur Jat Escort Service Delhi N.C.R.
 
Call Girls in Mayur Vihar ✔️ 9711199171 ✔️ Delhi ✔️ Enjoy Call Girls With Our...
Call Girls in Mayur Vihar ✔️ 9711199171 ✔️ Delhi ✔️ Enjoy Call Girls With Our...Call Girls in Mayur Vihar ✔️ 9711199171 ✔️ Delhi ✔️ Enjoy Call Girls With Our...
Call Girls in Mayur Vihar ✔️ 9711199171 ✔️ Delhi ✔️ Enjoy Call Girls With Our...
 
Call Girls Dubai Prolapsed O525547819 Call Girls In Dubai Princes$
Call Girls Dubai Prolapsed O525547819 Call Girls In Dubai Princes$Call Girls Dubai Prolapsed O525547819 Call Girls In Dubai Princes$
Call Girls Dubai Prolapsed O525547819 Call Girls In Dubai Princes$
 
Moving Beyond Twitter/X and Facebook - Social Media for local news providers
Moving Beyond Twitter/X and Facebook - Social Media for local news providersMoving Beyond Twitter/X and Facebook - Social Media for local news providers
Moving Beyond Twitter/X and Facebook - Social Media for local news providers
 
AWS Community DAY Albertini-Ellan Cloud Security (1).pptx
AWS Community DAY Albertini-Ellan Cloud Security (1).pptxAWS Community DAY Albertini-Ellan Cloud Security (1).pptx
AWS Community DAY Albertini-Ellan Cloud Security (1).pptx
 
✂️ 👅 Independent Andheri Escorts With Room Vashi Call Girls 💃 9004004663
✂️ 👅 Independent Andheri Escorts With Room Vashi Call Girls 💃 9004004663✂️ 👅 Independent Andheri Escorts With Room Vashi Call Girls 💃 9004004663
✂️ 👅 Independent Andheri Escorts With Room Vashi Call Girls 💃 9004004663
 
Dwarka Sector 26 Call Girls | Delhi | 9999965857 🫦 Vanshika Verma More Our Se...
Dwarka Sector 26 Call Girls | Delhi | 9999965857 🫦 Vanshika Verma More Our Se...Dwarka Sector 26 Call Girls | Delhi | 9999965857 🫦 Vanshika Verma More Our Se...
Dwarka Sector 26 Call Girls | Delhi | 9999965857 🫦 Vanshika Verma More Our Se...
 
All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445
All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445
All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445
 
10.pdfMature Call girls in Dubai +971563133746 Dubai Call girls
10.pdfMature Call girls in Dubai +971563133746 Dubai Call girls10.pdfMature Call girls in Dubai +971563133746 Dubai Call girls
10.pdfMature Call girls in Dubai +971563133746 Dubai Call girls
 
On Starlink, presented by Geoff Huston at NZNOG 2024
On Starlink, presented by Geoff Huston at NZNOG 2024On Starlink, presented by Geoff Huston at NZNOG 2024
On Starlink, presented by Geoff Huston at NZNOG 2024
 
VIP 7001035870 Find & Meet Hyderabad Call Girls Dilsukhnagar high-profile Cal...
VIP 7001035870 Find & Meet Hyderabad Call Girls Dilsukhnagar high-profile Cal...VIP 7001035870 Find & Meet Hyderabad Call Girls Dilsukhnagar high-profile Cal...
VIP 7001035870 Find & Meet Hyderabad Call Girls Dilsukhnagar high-profile Cal...
 
𓀤Call On 7877925207 𓀤 Ahmedguda Call Girls Hot Model With Sexy Bhabi Ready Fo...
𓀤Call On 7877925207 𓀤 Ahmedguda Call Girls Hot Model With Sexy Bhabi Ready Fo...𓀤Call On 7877925207 𓀤 Ahmedguda Call Girls Hot Model With Sexy Bhabi Ready Fo...
𓀤Call On 7877925207 𓀤 Ahmedguda Call Girls Hot Model With Sexy Bhabi Ready Fo...
 
VIP 7001035870 Find & Meet Hyderabad Call Girls LB Nagar high-profile Call Girl
VIP 7001035870 Find & Meet Hyderabad Call Girls LB Nagar high-profile Call GirlVIP 7001035870 Find & Meet Hyderabad Call Girls LB Nagar high-profile Call Girl
VIP 7001035870 Find & Meet Hyderabad Call Girls LB Nagar high-profile Call Girl
 

Designing the Conversation [Concatenate 2018]