SlideShare a Scribd company logo
BEYOND
RESPONSIVE
Aaron Gustafson
@AaronGustafson
slideshare.net/AaronGustafson
© Brad Frost
[In 2008] the majority of our visitors
saw our website in Internet
Explorer on a Windows computer on a
minimum 1,024 pixel wide screen.
Times have really changed.
“
Jason Samuels
IT Manager,
National Council on Family Relations
Source
Windows users used to comprise
93.5% of our web visits. Now that
percentage is 68.2%.
“
The percentage visiting from a mobile
device or tablet … was just
0.2% in 2008. It has since grown
exponentially to 14.4% today.“ 14.4%
[In 2008] 74.9% of our web visitors
used Internet Explorer. That 

number has fallen to 19.7%. 

Firefox now comprises 20%, 

Safari 16.7%, and Chrome 37%.
“
In the second quarter of 2008
we detected 71 different
screen resolutions among our
visitors. In the first quarter of
2014 we detected
“
In the second quarter of 2008
we detected 71 different
screen resolutions among our
visitors. In the first quarter of
2014 we detected
“ 1062
In 2008, 27 screen 

resolutions showed up with
more than 10 visits, in 2014
that number was“ 200
© Brad Frost
Beyond Responsive [18F 2015]
Beyond Responsive [18F 2015]
Beyond Responsive [18F 2015]
Smartphones have reached
75% penetration in the US…
“ Source
…but that’s concentrated in
61% of households
U.S. Smartphone penetration #s
released in March 2015
Source
< $30k
50%
$30-50k
71%
$50-75k
72%
>$75k
84%
U.S. Smartphone penetration #s
released in March 2015
Source
$30k = Average US income 2013
< $30k
50%
$30-50k
71%
$50-75k
72%
>$75k
84%
< $30k
50%
$30-50k
71%
$50-75k
72%
>$75k
84%
Population(in
thousands)
0
30000
60000
90000
120000
<30k $30-50k $50-70k >$70k
U.S. Smartphone vs. Income distribution
Opportunity!
Smartphone users making < $30k/yr

experienced app errors

52% of the time
Source
Galaxy S5
5.1” (1920 × 1080)
2GB RAM
16GB Storage
16MP Camera
2.5GHz Quad-core
Android 4.4
$799
Galaxy S5
5.1” (1920 × 1080)
2GB RAM
16GB Storage
16MP Camera
2.5GHz Quad-core
Android 4.4
$799
Cloud FX
3.5” (480 × 320)
128MB RAM
256MB Storage
2MP Camera
1GHz Single-core
Firefox OS 1.3
$35
Galaxy S5
5.1” (1920 × 1080)
2GB RAM
16GB Storage
16MP Camera
2.5GHz Quad-core
Android 4.4
$799
Dash JR K
3.5" (480 × 320)
256 MB RAM
512MB Memory
2MP camera
1.3 GHz Dual-core
Android 4.4
$43
As of Q4 2014, 62% of new

non-phone AT&T subscriptions are

connected cars
Source
Beyond Responsive [18F 2015]
Beyond Responsive [18F 2015]
Beyond Responsive [18F 2015]
Beyond Responsive [18F 2015]
Beyond Responsive [18F 2015]
Beyond Responsive [18F 2015]
© Brad Frost
We DON’T know
Beyond Responsive [18F 2015]
We DON’T know
Even when
we think
we know,
WE ARE
PROBABLY
WRONG
So how
do we COPE?
Progressive
Enhancement
Technological

restrictions
UserExperience
Browser Capabilities
BASIC ADVANCED
UserExperience
Browser Capabilities
BASIC ADVANCED
Content
UserExperience
Browser Capabilities
BASIC ADVANCED
Content
Semantics
UserExperience
Browser Capabilities
BASIC ADVANCED
Content
Semantics
Design
UserExperience
Browser Capabilities
BASIC ADVANCED
Content
Semantics
Design
Interactivity
UserExperience
Browser Capabilities
BASIC ADVANCED
Content
Semantics
Design
Interactivity
Accessibility
UserExperience
Browser Capabilities
BASIC ADVANCED
Text & HTTP
HTML
CSS
JavaScript
¶
<>
{}
↖
ARIA
HTML
HTML
HTML5
Microformats
HTML4
Browsers ignore
what they don’t
understand
I like an escalator because
an escalator can never break,
it can only become stairs.
— Mitch Hedberg
Graceful
Degradation
Modern
Browsers
Older Browsers
Modern
Browsers
Older Browsers
Beyond Responsive [18F 2015]
a dynamic web page can
never break, it can only
become a web page.
Beyond Responsive [18F 2015]
Beyond Responsive [18F 2015]
Beyond Responsive [18F 2015]
๏Bugs
๏Browser Add-ons
๏Overzealous Firewalls
๏Underpowered devices
๏Page is still loading
Beyond Responsive [18F 2015]
Beyond Responsive [18F 2015]
Beyond Responsive [18F 2015]
SPoF
Graceful Degradation Progressive
Enhancement
Content
Beyond Responsive [18F 2015]
Beyond Responsive [18F 2015]
Mobile
First
Responsive
Web Design
:-)
BEYOND RESPONSIVE
Lightboxes
BEYOND RESPONSIVE
Lightboxes
BEYOND RESPONSIVE
IxMap
JS?
No
No lightboxLoad
BEYOND RESPONSIVE
IxMap
JS?
No
No lightboxLoad
BEYOND RESPONSIVE
IxMap
No
Yes
Verify browser
width condition
LIVE
JS?
No
No lightboxLoad
BEYOND RESPONSIVE
IxMap
No
Yes
Verify browser
width condition
LIVE
JS?
No
No lightboxLoad
BEYOND RESPONSIVE
IxMap
No
JS?
No
No lightboxLoad
Yes
Yes
Lightbox
Create link
Make image clickable
Verify browser
width condition
LIVE
BEYOND RESPONSIVE
IxMap
No
JS?
No
No lightboxLoad
Yes
Yes
Lightbox
Create link
Make image clickable
Verify browser
width condition
LIVE
BEYOND RESPONSIVE
No need to link
<figure id="fig-1">
<img src="/path/small.png"
data-enlarged="/path/large.png"
alt="">
<figcaption>
<h6>Retreats 4 Geeks</h6>
<p>We built this site for our intimate retreat series.</p>
</figcaption>
</figure>
BEYOND RESPONSIVE
Make the connection
<figure id="fig-1">
<img src="/path/small.png"
data-enlarged="/path/large.png"
alt=""
class="enlargable">
<p class="enlarge"><a href="#enlarge">Click to
Enlarge</a></p>
<figcaption>
<h6>Retreats 4 Geeks</h6>
<p>We built this site for our intimate retreat series.</p>
</figcaption>
</figure>
BEYOND RESPONSIVE
Lightboxes
BEYOND RESPONSIVE
Thumbnails
BEYOND RESPONSIVE
Thumbnails
BEYOND RESPONSIVE
IxMap
JS?
No
No imageLoad
BEYOND RESPONSIVE
IxMap
JS?
No
No imageLoad
BEYOND RESPONSIVE
IxMap
No
JS?
No
No imageLoad
Yes
Verify browser
width condition
BEYOND RESPONSIVE
IxMap
No
JS?
No
No imageLoad
Yes
Verify browser
width condition
BEYOND RESPONSIVE
IxMap
No
JS?
No
No imageLoad
Yes
Yes
Image
Adjust markup
Add custom CSS
Verify browser
width condition
BEYOND RESPONSIVE
IxMap
No
JS?
No
No imageLoad
Yes
Yes
Image
Adjust markup
Add custom CSS
Verify browser
width condition
BEYOND RESPONSIVE
IxMap
No
JS?
No
No imageLoad
Yes
Yes
Image
Adjust markup
Add custom CSS
Verify browser
width condition
BEYOND RESPONSIVE
There is no image…
<p class="entry-image"
data-image-src="/i/sample.jpg"></p>
BEYOND RESPONSIVE
Until there is
<p class="entry-image"
data-image-src="/i/sample.jpg"></p>
<p class="entry-image"
data-image-src="/i/sample.jpg"
data-has-image="true">
<img alt="" src="/i/sample.jpg"/>
</p>
BEYOND RESPONSIVE
CSS at rest
[data-image-src] {
display: none;
}
BEYOND RESPONSIVE
CSS at play
[data-image-src][data-image-loaded] {
display: block;
}
BEYOND RESPONSIVE
JS Watcher
window.watchResize = function(callback)
{
var resizing;
function done() {
clearTimeout( resizing );
resizing = null;
callback();
}
window.onresize = function(){
if ( resizing ) {
clearTimeout( resizing );
resizing = null;
}
resizing = setTimeout( done, 50 );
};
callback();
};
BEYOND RESPONSIVE
JS Watcher
var browser_width = 0;
window.watchResize(function(){
browser_width = window.innerWidth ||
document.body.offsetWidth;
});
BEYOND RESPONSIVE
JS Watcher
window.watchResize(function(){
var threshold = 400,
image = document.createElement('img'),
paragraphs = document.getElementsByTagName('p'),
i = paragraphs.length,
p, loaded, src, img;
if ( browser_width >= threshold ) {
image.setAttribute('alt','');
while ( i-- ) {
p = paragraphs[i];
src = p.getAttribute('data-image-src');
loaded = p.getAttribute('data-image-loaded');
if ( src != null && loaded == null ) {
img = image.cloneNode(true);
img.setAttribute('src',src);
p.appendChild( img );
p.setAttribute('data-image-loaded','');
}
}
image = paragraphs = p = img = null;
}
});
BEYOND RESPONSIVE
IxMap
No
JS?
No
No imageLoad
Yes
Yes
Image
Adjust markup
Add custom CSS
Verify browser
width condition
LIVE
BEYOND RESPONSIVE
Smart CSS
[data-image-src][data-image-loaded] {
display: block;
}
BEYOND RESPONSIVE
Smart CSS
[data-image-src][data-image-loaded] {
display: block;
}
@media only screen and (min-width:400px) {
[data-img-src][data-image-loaded] {
display: block;
}
}
BEYOND RESPONSIVE
Thumbnails
http://is.gd/lazyloading_demo
http://is.gd/lazyloading_demo
http://is.gd/lazyloading_demo
http://is.gd/lazyloading_demo
BEYOND RESPONSIVE
NO!!!!
#reviews {
display: none;
}
@media only screen and (min-width:50em) {
#reviews {
display: block;
}
}
BEYOND RESPONSIVE
IxMap
JS?
No
LinksLoad
BEYOND RESPONSIVE
IxMap
JS?
No
LinksLoad
BEYOND RESPONSIVE
IxMap
JS?
No
LinksLoad
Yes
Verify browser
width condition
LIVE
No
Hold for user action
BEYOND RESPONSIVE
IxMap
JS?
No
LinksLoad
Yes
Verify browser
width condition
LIVE
No
Hold for user action
BEYOND RESPONSIVE
IxMap
JS?
No
LinksLoad
Yes
Yes
Reviews
Lazy Load the reviews
Verify browser
width condition
LIVE
No
Hold for user action
BEYOND RESPONSIVE
IxMap
JS?
No
LinksLoad
Yes
Yes
Reviews
Lazy Load the reviews
Verify browser
width condition
LIVE
No
Hold for user action
BEYOND RESPONSIVE
IxMap
JS?
No
LinksLoad
Yes
Yes
Reviews
Lazy Load the reviews
Verify browser
width condition
LIVE Click
No
Hold for user action
BEYOND RESPONSIVE
IxMap
JS?
No
LinksLoad
Yes
Yes
Reviews
Lazy Load the reviews
Verify browser
width condition
LIVE Click
No
Hold for user action
BEYOND RESPONSIVE
Lazy Loading
<section class="aux reviews" id="reviews">
<header id="tab-reviews">
<a href="reviews.html" class="disabled">…</a>
</header>
</section>
BEYOND RESPONSIVE
Lazy Loading
<section class="aux reviews loaded" id="reviews">
<header id="tab-reviews">
<a href="reviews.html" class="disabled open">…</a>
</header>
<div role="tabpanel">
<div id="p-reviews" aria-labeledby="tab-reviews">
<ol class="reviews-list">
<li>
<img src="images/avatar.png" alt="Commenter Name">
<div class="review-meta">
<h3>Awesome shirt!</h3>
<a href="#"><time datetime="2010-01-20" pubdate="">11/12/2011</time></a>
By Bruce Bosco
</div>
<div class="review-content">
<p>This shirt looks awesome and is really comfortable to wear. It did shrink
quite a lot when washed, but that could have just been how I ran it. All in all, it's my
favourite shirt, and I love wearing it.</p>
</div>
</li>
<!-- … -->
</ol>
</div>
</div>
</section>
http://is.gd/lazyloading_demo
BEYOND RESPONSIVE
Tabbed Interface
BEYOND RESPONSIVE
Traditional approach
<h1>Pumpkin Pie</h1>
<div class="container">

<ul class="tabs">
<li><a href="#">Overview</a></li>
<li><a href="#">Ingredients</a></li>
<li><a href="#">Directions</a></li>
<li><a href="#">Nutrition</a></li>
</ul>
<div class="section">
<h2>Overview</h2>
<img src="pie.jpg" alt="">
<p>Whether you're hosting a festive party or a casual

get-together with friends, our Pumpkin Pie will make

entertaining easy!</p>
<!-- ... -->
</div>
<!-- ... -->
</div>
BEYOND RESPONSIVE
Cleaner approach
<h1>Pumpkin Pie</h1>
<div class="tabbed-interface">

<h2>Overview</h2>
<img src="pie.jpg" alt="" />
<p>Whether you're hosting a festive party or a casual

get-together with friends, our Pumpkin Pie will make

entertaining easy!</p>
<!-- ... -->
<h2>Ingredients</h2>
<ul>
<li>1 (9<abbr title="inch">in</abbr>) unbaked deep

dish pie crust</li>
<li> cup white sugar</li>
<!-- ... -->
</ul>
<h2>Directions</h2>
<!-- ... -->
</div>
BEYOND RESPONSIVE
Cleaner approach
<h1>Pumpkin Pie</h1>
<div class="tabbed-interface">

<h2>Overview</h2>
<img src="pie.jpg" alt="" />
<p>Whether you're hosting a festive party or a casual

get-together with friends, our Pumpkin Pie will make

entertaining easy!</p>
<!-- ... -->
<h2>Ingredients</h2>
<ul>
<li>1 (9<abbr title="inch">in</abbr>) unbaked deep

dish pie crust</li>
<li> cup white sugar</li>
<!-- ... -->
</ul>
<h2>Directions</h2>
<!-- ... -->
</div>
BEYOND RESPONSIVE
No JS, basic CSS
BEYOND RESPONSIVE
IxMap
JS?
No
LinearLoad
BEYOND RESPONSIVE
IxMap
JS?
No
LinearLoad
BEYOND RESPONSIVE
IxMap
JS?
No
LinearLoad
Yes
Tabs
Split content into sections
Make tabs
Assign event handlers (mouse & keyboard)
BEYOND RESPONSIVE
IxMap
JS?
No
LinearLoad
Yes
Tabs
Split content into sections
Make tabs
Assign event handlers (mouse & keyboard)
BEYOND RESPONSIVE
Linear HTML
<h1>Pumpkin Pie</h1>
<div class="tabbed-interface">

<h2>Overview</h2>
<img src="pie.jpg" alt="" />
<p>Whether you're hosting a festive party or a casual

get-together with friends, our Pumpkin Pie will make

entertaining easy!</p>
<!-- ... -->
<h2>Ingredients</h2>
<ul>
<li>1 (9<abbr title="inch">in</abbr>) unbaked deep

dish pie crust</li>
<li> cup white sugar</li>
<!-- ... -->
</ul>
<h2>Directions</h2>
<!-- ... -->
</div>
BEYOND RESPONSIVE
Tabbed
<h1>Pumpkin Pie</h1>
<div class="tabbed-interface TabInterface-enabled">

<ul class="tabs">
<li><a href="#folder-1">Overview</a></li>
<li><a href="#folder-2">Ingredients</a></li>
<li><a href="#folder-3">Directions</a></li>
<li><a href="#folder-4">Nutrition</a></li>
</ul>
<section id=”folder-1”>
<h2>Overview</h2>
<img src="pie.jpg" alt="">
<p>Whether you're hosting a festive party or a casual

get-together with friends, our Pumpkin Pie will make

entertaining easy!</p>
<!-- ... -->
</section>
<!-- ... -->
</div>
BEYOND RESPONSIVE
Tabbed
<h1>Pumpkin Pie</h1>
<div class="tabbed-interface TabInterface-enabled">

<ul class="tabs">
<li><a href="#folder-1">Overview</a></li>
<li><a href="#folder-2">Ingredients</a></li>
<li><a href="#folder-3">Directions</a></li>
<li><a href="#folder-4">Nutrition</a></li>
</ul>
<section id=”folder-1”>
<h2>Overview</h2>
<img src="pie.jpg" alt="">
<p>Whether you're hosting a festive party or a casual

get-together with friends, our Pumpkin Pie will make

entertaining easy!</p>
<!-- ... -->
</section>
<!-- ... -->
</div>
BEYOND RESPONSIVE
IxMap
JS?
No
LinearLoad
BEYOND RESPONSIVE
IxMap
JS?
No
LinearLoad
Yes
Verify space
for tabs
LIVE
BEYOND RESPONSIVE
IxMap
JS?
No
LinearLoad
Yes
Verify space
for tabs
LIVE
No
Accordion
Build accordion
BEYOND RESPONSIVE
IxMap
JS?
No
LinearLoad
Yes
Tabs
Split content into sections
Make tabs
Assign event handlers (mouse & keyboard)
Yes
Verify space
for tabs
LIVE
No
Accordion
Build accordion
BEYOND RESPONSIVE
JS?Load
IxMap
Yes
Tabs
Yes
Verify space
for tabs
LIVE
No
Linear
No
Accordion
Build accordion
<?>
Yes
Native
Insert details
& summary
Support details & summary?
BEYOND RESPONSIVE
role="tablist"
108
Adding ARIA
BEYOND RESPONSIVE
role="tab"
aria-selected="true"
aria-controls="folder-1"
Adding ARIA
BEYOND RESPONSIVE
role="tab"
aria-selected="false"
aria-controls="folder-4"
Adding ARIA
BEYOND RESPONSIVE
role="tabpanel"
aria-hidden="false"
aria-labelledby="folder-1-tab"
Adding ARIA
BEYOND RESPONSIVE
Result!
BEYOND RESPONSIVE
Result!
BEYOND RESPONSIVE
Tabbed Interface
Questions?
Tweet me at

@AaronGustafson
Thank you!
@AaronGustafson
aaron-gustafson.com
slideshare.net/AaronGustafson

More Related Content

PDF
There Are No “Buts” in Progressive Enhancement [Øredev 2015]
PDF
Beyond Responsive [Web Design Day]
PDF
Planning Adaptive Interfaces [EnhanceConf 2016]
PPT
Responsive web design & mobile web development - a technical and business app...
PPT
Skill Session - Web Multi Device
PPTX
High Performance Mobile Web
PPT
Optimizing Sites for Mobile Devices
PDF
RESS: An Evolution of Responsive Web Design
There Are No “Buts” in Progressive Enhancement [Øredev 2015]
Beyond Responsive [Web Design Day]
Planning Adaptive Interfaces [EnhanceConf 2016]
Responsive web design & mobile web development - a technical and business app...
Skill Session - Web Multi Device
High Performance Mobile Web
Optimizing Sites for Mobile Devices
RESS: An Evolution of Responsive Web Design

What's hot (18)

PDF
Mobile First Responsive Web Design — BD Conf Oct 2013
PDF
Beyond Responsive Workshop [Beyond Tellerrand 2014]
PDF
Responsive and Fast
PDF
Responsive Enhancement
PPTX
Building jQuery Mobile Web Apps
PDF
Responsive images are here. Now what?
PPTX
Using Responsive Web Design To Make Your Web Work Everywhere
PDF
State of jQuery '09
PDF
Creating mobile apps without native code
PDF
Dreamweaver CS6, jQuery, PhoneGap, mobile design
PPTX
Responsive Web Design for Universal Access 2016
PPTX
Building a Simple Mobile-optimized Web App Using the jQuery Mobile Framework
PDF
High Performance Web Design
PDF
Introduction to jQuery Mobile - Web Deliver for All
PDF
Now you see me... Adaptive Web Design and Development
PPT
Lecture 1: Web Design + Usability
PDF
Responsive Websites
PPTX
Web Standards And Protocols
Mobile First Responsive Web Design — BD Conf Oct 2013
Beyond Responsive Workshop [Beyond Tellerrand 2014]
Responsive and Fast
Responsive Enhancement
Building jQuery Mobile Web Apps
Responsive images are here. Now what?
Using Responsive Web Design To Make Your Web Work Everywhere
State of jQuery '09
Creating mobile apps without native code
Dreamweaver CS6, jQuery, PhoneGap, mobile design
Responsive Web Design for Universal Access 2016
Building a Simple Mobile-optimized Web App Using the jQuery Mobile Framework
High Performance Web Design
Introduction to jQuery Mobile - Web Deliver for All
Now you see me... Adaptive Web Design and Development
Lecture 1: Web Design + Usability
Responsive Websites
Web Standards And Protocols
Ad

Viewers also liked (9)

PDF
The Features of Highly Effective Forms [SmashingConf NYC 2016]
PDF
Falling in Love with Forms [Øredev 2015]
PDF
Falling in Love with Forms [F0WD 2015]
PDF
Ruining the User Experience [SXSW 2007]
PDF
Falling in Love With Forms [An Event Apart DC 2015]
PDF
Designing the Conversation [SmashingConf 2016]
PDF
Writing for Engagement [TechReady 22]
PDF
Designing the Conversation [SpeechTek 2016]
PDF
Designing with Empathy [Code & Creativity 2014]
The Features of Highly Effective Forms [SmashingConf NYC 2016]
Falling in Love with Forms [Øredev 2015]
Falling in Love with Forms [F0WD 2015]
Ruining the User Experience [SXSW 2007]
Falling in Love With Forms [An Event Apart DC 2015]
Designing the Conversation [SmashingConf 2016]
Writing for Engagement [TechReady 22]
Designing the Conversation [SpeechTek 2016]
Designing with Empathy [Code & Creativity 2014]
Ad

Similar to Beyond Responsive [18F 2015] (20)

PDF
Beyond Responsive [ConvergeSE 2015]
PDF
Adaptive Designs Across Devices [UXIM 2015]
PDF
Planning Adaptive Interfaces [RWD Summit 2016]
PDF
Beyond Responsive [Future of Web Design 2015]
PDF
Intro to Adaptive Web Design [edUi 2013]
PDF
Intro to Adaptive Web Design [ChaDev Lunch]
PDF
Planning Adaptive Interfaces [From the Front 2013]
PDF
Planning Adaptive Interfaces [dConstruct Workshop 2013]
PDF
Responsive Web Design
PDF
Progressive Enhancement & Mobile [Funka 2012]
PDF
Planning Adaptive Interfaces [Breaking Development Nashville 2013]
PDF
Mixd RWD Workshop
PDF
Pinkoi Mobile Web
KEY
Fake it 'til you make it
PDF
Planning Adaptive Interfaces [UXLx 2013]
PPTX
Responsive web design
PDF
Breaking the Box: Pushing the Boundaries of UX with Drupal
PDF
Delivering Optimal Images for Phones and Tablets on the Modern Web
PDF
Responsive design: techniques and tricks to prepare your websites for the mul...
PDF
Progressive Web App Challenges
Beyond Responsive [ConvergeSE 2015]
Adaptive Designs Across Devices [UXIM 2015]
Planning Adaptive Interfaces [RWD Summit 2016]
Beyond Responsive [Future of Web Design 2015]
Intro to Adaptive Web Design [edUi 2013]
Intro to Adaptive Web Design [ChaDev Lunch]
Planning Adaptive Interfaces [From the Front 2013]
Planning Adaptive Interfaces [dConstruct Workshop 2013]
Responsive Web Design
Progressive Enhancement & Mobile [Funka 2012]
Planning Adaptive Interfaces [Breaking Development Nashville 2013]
Mixd RWD Workshop
Pinkoi Mobile Web
Fake it 'til you make it
Planning Adaptive Interfaces [UXLx 2013]
Responsive web design
Breaking the Box: Pushing the Boundaries of UX with Drupal
Delivering Optimal Images for Phones and Tablets on the Modern Web
Responsive design: techniques and tricks to prepare your websites for the mul...
Progressive Web App Challenges

More from Aaron Gustafson (20)

PDF
Delivering Critical Information and Services [JavaScript & Friends 2021]
PDF
Adapting to Reality [Guest Lecture, March 2021]
PDF
Designing the Conversation [Beyond Tellerrand 2019]
PPTX
Getting Started with Progressive Web Apps [Beyond Tellerrand 2019]
PDF
Progressive Web Apps: Where Do I Begin?
PDF
Media in the Age of PWAs [ImageCon 2019]
PDF
Adapting to Reality [Starbucks Lunch & Learn]
PDF
Conversational Semantics for the Web [CascadiaJS 2018]
PDF
Better Performance === Greater Accessibility [Inclusive Design 24 2018]
PDF
PWA: Where Do I Begin? [Microsoft Ignite 2018]
PDF
Designing the Conversation [Concatenate 2018]
PDF
Designing the Conversation [Accessibility DC 2018]
PDF
Performance as User Experience [AEADC 2018]
PDF
The Web Should Just Work for Everyone
PDF
Performance as User Experience [AEA SEA 2018]
PDF
Performance as User Experience [An Event Apart Denver 2017]
PDF
Advanced Design Methods 1, Day 2
PDF
Advanced Design Methods 1, Day 1
PDF
Designing the Conversation [Paris Web 2017]
PDF
Exploring Adaptive Interfaces [Generate 2017]
Delivering Critical Information and Services [JavaScript & Friends 2021]
Adapting to Reality [Guest Lecture, March 2021]
Designing the Conversation [Beyond Tellerrand 2019]
Getting Started with Progressive Web Apps [Beyond Tellerrand 2019]
Progressive Web Apps: Where Do I Begin?
Media in the Age of PWAs [ImageCon 2019]
Adapting to Reality [Starbucks Lunch & Learn]
Conversational Semantics for the Web [CascadiaJS 2018]
Better Performance === Greater Accessibility [Inclusive Design 24 2018]
PWA: Where Do I Begin? [Microsoft Ignite 2018]
Designing the Conversation [Concatenate 2018]
Designing the Conversation [Accessibility DC 2018]
Performance as User Experience [AEADC 2018]
The Web Should Just Work for Everyone
Performance as User Experience [AEA SEA 2018]
Performance as User Experience [An Event Apart Denver 2017]
Advanced Design Methods 1, Day 2
Advanced Design Methods 1, Day 1
Designing the Conversation [Paris Web 2017]
Exploring Adaptive Interfaces [Generate 2017]

Recently uploaded (20)

PPTX
A Presentation on Artificial Intelligence
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PPTX
Big Data Technologies - Introduction.pptx
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Machine learning based COVID-19 study performance prediction
PPT
Teaching material agriculture food technology
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
cuic standard and advanced reporting.pdf
A Presentation on Artificial Intelligence
Diabetes mellitus diagnosis method based random forest with bat algorithm
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Big Data Technologies - Introduction.pptx
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
Digital-Transformation-Roadmap-for-Companies.pptx
Unlocking AI with Model Context Protocol (MCP)
Machine learning based COVID-19 study performance prediction
Teaching material agriculture food technology
NewMind AI Weekly Chronicles - August'25 Week I
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Mobile App Security Testing_ A Comprehensive Guide.pdf
Encapsulation_ Review paper, used for researhc scholars
Reach Out and Touch Someone: Haptics and Empathic Computing
The AUB Centre for AI in Media Proposal.docx
Review of recent advances in non-invasive hemoglobin estimation
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
cuic standard and advanced reporting.pdf

Beyond Responsive [18F 2015]