SlideShare a Scribd company logo
1 of 169
Download to read offline
Max Firtman @firt
BREAKING LIMITS
ON MOBILE
HTML5
Amsterdam, May 16th, 2013
Thursday, May 16, 13
mobile+web developer
maximiliano
@firt
Thursday, May 16, 13
Thursday, May 16, 13
Thursday, May 16, 13
hacks, why?
Thursday, May 16, 13
Thursday, May 16, 13
Thursday, May 16, 13
Thursday, May 16, 13
Thursday, May 16, 13
Thursday, May 16, 13
1- UI hacks
Thursday, May 16, 13
UI
Full screen
Thursday, May 16, 13
full screen
Thursday, May 16, 13
full screen
4 solutions
Thursday, May 16, 13
full screen
Solution #1
Thursday, May 16, 13
full screen
<meta name="apple-mobile-web-app-capable"
content="yes">
Thursday, May 16, 13
full screen
<meta name="apple-mobile-web-app-capable"
content="yes">
if (navigator.standalone) { }
Thursday, May 16, 13
<meta name="apple-mobile-web-app-capable"
content="yes">
<meta name="viewport"
content="width=device-width">
Thursday, May 16, 13
Thursday, May 16, 13
Thursday, May 16, 13
full screen
<meta name="apple-mobile-web-app-capable"
content="yes">
<meta name="viewport"
content="width=320.1">
Thursday, May 16, 13
full screen
<meta name="apple-mobile-web-app-capable"
content="yes">
<meta name="viewport"
content="width=device-width">
<meta name="viewport"
content="..."
media="device-height: 568px">
Thursday, May 16, 13
full screen
Thursday, May 16, 13
full screen
Solution #2
Thursday, May 16, 13
full screen
Thursday, May 16, 13
full screen
@media (orientation: landscape) and (height: 214px),
(orientation: landscape) and (height: 181px)
{
}
Thursday, May 16, 13
full screen
Solution #3
future platforms
Thursday, May 16, 13
full screen
var body = document.documentElement;
if (body.requestFullScreen) {
body.requestFullScreen();
}
Thursday, May 16, 13
full screen
var body = document.documentElement;
if (body.requestFullScreen) {
body.requestFullScreen();
} else if (body.webkitRequestFullScreen) {
body.webkitRequestFullScreen();
}
Thursday, May 16, 13
full screen
var body = document.documentElement;
if (body.requestFullScreen) {
body.requestFullScreen();
} else if (body.webkitRequestFullScreen) {
body.webkitRequestFullScreen();
} else if (body.mozRequestFullScreen) {
body.mozRequestFullScreen();
}
Thursday, May 16, 13
full screen
Solution #4
...
Thursday, May 16, 13
full screen
window.addEventListener("load",
function() { window.scrollTo(0, 0); });
// use with care
document.addEventListener("touchmove",
function(e) { e.preventDefault() });
Thursday, May 16, 13
UI
Snapped mode
Windows 8
Thursday, May 16, 13
snapped mode
Thursday, May 16, 13
snapped mode
@media only screen and (max-width: 400px) {
@-ms-viewport { 
width: 320px; 
}
}
Thursday, May 16, 13
UI
High resolution
canvas
Thursday, May 16, 13
hi-res canvas
<canvas width="300" height="200">
</canvas>
300px
Thursday, May 16, 13
hi-res canvas
300 CSS pixels
300 1.00
390 1.30
450 1.50
600 2.00
672 2.24
900 3.00
device px px ratio
Thursday, May 16, 13
hi res canvas
<canvas width="300" height="200">
</canvas>
300px
Thursday, May 16, 13
hi res canvas
var devPxRatio = window.devicePixelRatio;
var canvasPxRatio =
document.querySelector("canvas")
.getContext("2d")
.webkitBackingStorePixelRatio;
Thursday, May 16, 13
hi res canvas
<canvas width="300" height="200">
</canvas>
300px
devPxRatio = 2
canvasPxRatio = 1
Thursday, May 16, 13
hi res canvas
<canvas width="300" height="200">
</canvas>
300px
devPxRatio >= 1
canvasPxRatio = undefined
Thursday, May 16, 13
Solution #1
hi res canvas
Thursday, May 16, 13
hi res canvas
<meta name="viewport" content="width=640">
<canvas width="600" height="400">
</canvas>
600px
Thursday, May 16, 13
Solution #2
hi res canvas
Thursday, May 16, 13
hi res canvas
<script>
document.querySelector("canvas")
.getContext("2d")
.setScale(2, 2);
</script>
300px
Thursday, May 16, 13
hi res canvas
<canvas width="600" height="400">
</canvas>
300px
<script>
document.querySelector("canvas")
.getContext("2d")
.setScale(2, 2);
</script>
Thursday, May 16, 13
hi res canvas
<canvas width="600" height="400"
style="width: 300px; height: 200px">
</canvas>
300px
<script>
document.querySelector("canvas")
.getContext("2d")
.setScale(2, 2);
</script>
Thursday, May 16, 13
multi-platform &
multi-resolution
Thursday, May 16, 13
execution &
memory
Thursday, May 16, 13
UI
truly numeric field
Thursday, May 16, 13
numeric
<input type="number">
Thursday, May 16, 13
numeric
<input type="number">
Thursday, May 16, 13
numeric
<input type="number">
Thursday, May 16, 13
Solution
Thursday, May 16, 13
numeric
<input type="number"
pattern="[0-9]*">
Thursday, May 16, 13
numeric
<input type="password"
pattern="[0-9]*">
Thursday, May 16, 13
UI
rich editor
Thursday, May 16, 13
rich editor
<ul contenteditable>
<li>First item
</ul>
Thursday, May 16, 13
rich editor
<ul contenteditable>
<li>First item
</ul>
Thursday, May 16, 13
rich editor
<ul contenteditable>
<li>First item
</ul>
Thursday, May 16, 13
UI
background tab
resurrection
Thursday, May 16, 13
background
Thursday, May 16, 13
background
Thursday, May 16, 13
Thursday, May 16, 13
<blink>Welcome to my website!</blink>
Thursday, May 16, 13
<bgsound src="welcome.wav">
Thursday, May 16, 13
<font family="Arial" size="20">
Thursday, May 16, 13
background
<meta http-equiv="refresh"
content="60">
Thursday, May 16, 13
background
<meta http-equiv="refresh" content="2">
Thursday, May 16, 13
background
<meta http-equiv="refresh" content="2">
<script>
var mr = document.querySelector("meta");
setInterval(function() {
mr.content=mr.content;
}, 1000);
</script>
Thursday, May 16, 13
Thursday, May 16, 13
background
Thursday, May 16, 13
DISCLAIMER
Thursday, May 16, 13
only from iOS 6.1
(5.0+ similar)
Thursday, May 16, 13
UI
images for different
screen densities
Thursday, May 16, 13
screen densities
<img src="photo.png" width="300">
Thursday, May 16, 13
screen densities
Thursday, May 16, 13
300 CSS pixels
300 1.00
390 1.30
450 1.50
600 2.00
672 2.24
900 3.00
device px px ratio
screen densities
Thursday, May 16, 13
Solution #1
Thursday, May 16, 13
screen densities
use vector images
<img src="photo.svg" width="300">
<svg></svg>
@font-face {}
Thursday, May 16, 13
screen densities
Thursday, May 16, 13
screen densities
Thursday, May 16, 13
Solution #2
Thursday, May 16, 13
screen densities
<img src="photo.png" width="300">
if (window.devicePixelRatio > 1.5) {
// change URL
}
Thursday, May 16, 13
Solution #3
Thursday, May 16, 13
screen densities
<div id="photoContainer">
#photoContainer {
background-image:
-webkit-image-set(url('photo-lo.png') 1x,
url('photo-hi.png') 2x);
width: 300px; height: 200px;
}
Thursday, May 16, 13
Solution #4
Thursday, May 16, 13
screen densities
<div id="photoContainer">
#photoContainer {
background-image: url('photo-lo.png');
width: 300px; height: 200px;
}
Thursday, May 16, 13
screen densities
<div id="photoContainer">
@media (-webkit-min-device-pixel-ratio: 1.5) {
#photoContainer {
background-image: url('photo-hi.png');
background-size: 100%;
width: 300px; height: 200px;
}
}
Thursday, May 16, 13
screen densities
<div id="photoContainer">
@media (-webkit-min-device-pixel-ratio: 1.5),
(min--moz-device-pixel-ratio: 1.5) {
}
Thursday, May 16, 13
screen densities
<div id="photoContainer">
@media (-webkit-min-device-pixel-ratio: 1.5),
(min--moz-device-pixel-ratio: 1.5),
(-o-min-device-pixel-ratio: 1/2) {
}
Thursday, May 16, 13
screen densities
<div id="photoContainer">
@media (-webkit-min-device-pixel-ratio: 1.5),
(min--moz-device-pixel-ratio: 1.5),
(-o-min-device-pixel-ratio: 1/2),
(min-resolution: 1.5dppx) {
}
Thursday, May 16, 13
always query
on ranges
@media (-webkit-device-pixel-ratio: 2)
Thursday, May 16, 13
always query
on ranges
@media (-webkit-min-device-pixel-ratio: 1.7)
Thursday, May 16, 13
find the balance
300x300 900x900
Thursday, May 16, 13
2- device
interaction hacks
Thursday, May 16, 13
device
media capture
Thursday, May 16, 13
media capture
<input type="file">
Thursday, May 16, 13
Solution
Thursday, May 16, 13
media capture
<input type="file" accept="image/*">
<input type="file" accept="video/*">
<input type="file" accept="audio/*">
Thursday, May 16, 13
media capture
<input type="file" accept="image/*"
capture="camera">
<input type="file" accept="video/*"
capture="camcorder">
<input type="file" accept="video/*"
capture="microphone">
(old spec)
Thursday, May 16, 13
media capture
Live demo
Thursday, May 16, 13
device
interacting with
native apps
Thursday, May 16, 13
native integration
Thursday, May 16, 13
Thursday, May 16, 13
Solution, part I
Thursday, May 16, 13
DON'T DO THAT
Thursday, May 16, 13
Solution, part II
Thursday, May 16, 13
native integration
<meta name="apple-itunes-app"
content="app-id=999">
Thursday, May 16, 13
native integration
Thursday, May 16, 13
native integration
<meta name="apple-itunes-app"
content="app-id=999">
<meta name="app-argument"
content="">
Thursday, May 16, 13
native integration
<meta name="msApplication-ID"
content="App">
<meta name="msApplication-PackageFamilyName"
content="myPackage">
Thursday, May 16, 13
native integration
Thursday, May 16, 13
native integration
Thursday, May 16, 13
native integration
Thursday, May 16, 13
native integration
<meta name="msApplication-ID"
content="App">
<meta name="msApplication-PackageFamilyName"
content="myPackage">
<meta name="msApplication-Arguments"
content="">
Thursday, May 16, 13
no api
no android
Thursday, May 16, 13
Solution, part III
Thursday, May 16, 13
native integration
<a href="customprotocol://">Open app</a>
Thursday, May 16, 13
native integration
<a href="twitter://post?message=HTML5">
Tweet this</a>
Thursday, May 16, 13
native integration
Thursday, May 16, 13
native integration
function tweet() {
location.href="twitter://post?message=HTML5";
setTimeout(function() {
location.href="postCall.html";
}, 1000);
}
Thursday, May 16, 13
native integration
Thursday, May 16, 13
native integration
function tweet() {
iframe.location.href=
"twitter://post?message=HTML5";
setTimeout(function() {
appNotInstalled();
}, 1000);
}
Thursday, May 16, 13
device
push notification
Thursday, May 16, 13
push
<a href="suscription.passbook">
Subscribe to this site
</a>
Thursday, May 16, 13
push
Thursday, May 16, 13
push
Thursday, May 16, 13
3- enhancing your
app hacks
Thursday, May 16, 13
enhance your app
iOS home screen title
Thursday, May 16, 13
home screen
Thursday, May 16, 13
home screen
Thursday, May 16, 13
home screen
<title>My long title for SEO</title>
<meta name="apple-web-app-title"
content="My App">
UNDOCUMENTED
Thursday, May 16, 13
enhance your app
IE10 Live Tile
Thursday, May 16, 13
live tile
Thursday, May 16, 13
live tile
Thursday, May 16, 13
live tile
<meta name="msapplication-TileImage"
content="tile.png">
<meta name="msapplication-TileColor"
content="#ef0303">
Thursday, May 16, 13
enhance your app
You've said live tile!!!
Thursday, May 16, 13
live tile
<meta name="msapplication-badge"
content="frequency=60;polling-uri=XXX">
Thursday, May 16, 13
live tile
<meta name="msapplication-badge"
content="frequency=60;polling-uri=XXX">
<?xml version="1.0" ?>
<badge value="3" />
Thursday, May 16, 13
live tile
<meta name="msapplication-badge"
content="frequency=60;polling-uri=XXX">
<?xml version="1.0" ?>
<badge value="newMessage" />
Thursday, May 16, 13
enhance your app
Storage limits
Thursday, May 16, 13
storage
AppCache, localStorage,
WebSQL, IDB
Thursday, May 16, 13
storage
Different domains,
iframes and
Cross Document Messaging API
Thursday, May 16, 13
storage
Thursday, May 16, 13
this might not work
in the future
Thursday, May 16, 13
do you really need
more space?
Thursday, May 16, 13
4- tools
Thursday, May 16, 13
Tools
Bandwidth
simulators
Thursday, May 16, 13
netlimiter.com
Thursday, May 16, 13
slowyapp.com
Thursday, May 16, 13
charlesproxy.com
Thursday, May 16, 13
Tools
Virtual Mobile Labs
Thursday, May 16, 13
developer.nokia.com
Thursday, May 16, 13
developer.samsung.com
Thursday, May 16, 13
keynotedeviceanywhere.com
Thursday, May 16, 13
most used key
combinations?
Thursday, May 16, 13
Thursday, May 16, 13
Thursday, May 16, 13
Tools
Live Reload
Thursday, May 16, 13
livereload.com
Thursday, May 16, 13
wrapping up
Thursday, May 16, 13
we need hacks because
• browsers are different
• no enough information
• undocumented features
• buggy
Thursday, May 16, 13
however
• usability and Performance matters
• be careful
• your app should work anyway
• use feature detection
Thursday, May 16, 13
1 fullscreen
2 snapped mode
3 hires canvas
4 numeric field
5 rich editor
6 background tab
7 images & densities
8 html media capture
9 push notification
A home screen title
B live tile
C storage limits
D bandwidth simulators
E virtual mobile labs
F live reload
Thursday, May 16, 13
Thursday, May 16, 13
“change is the only constant“
Heraclitus
Thursday, May 16, 13
you can reach a good
experience
Pictures)from)freedigitalphotos.net)
thank you!
firtman@gmail.com
@firt
firt.mobi/pmw
Thursday, May 16, 13

More Related Content

Viewers also liked

26 Social Media Marketing Trends for 2013
26 Social Media Marketing Trends for 201326 Social Media Marketing Trends for 2013
26 Social Media Marketing Trends for 2013DreamGrow Digital
 
Introduction to Objective - C
Introduction to Objective - CIntroduction to Objective - C
Introduction to Objective - CJussi Pohjolainen
 
The Psychology of C# Analysis
The Psychology of C# AnalysisThe Psychology of C# Analysis
The Psychology of C# AnalysisCoverity
 
Enough with the JavaScript already!
Enough with the JavaScript already!Enough with the JavaScript already!
Enough with the JavaScript already!Nicholas Zakas
 
Introduction to Stylistics (13 of 16)
Introduction to Stylistics (13 of 16)Introduction to Stylistics (13 of 16)
Introduction to Stylistics (13 of 16)Nheru Veraflor
 
Unit Testing Concepts and Best Practices
Unit Testing Concepts and Best PracticesUnit Testing Concepts and Best Practices
Unit Testing Concepts and Best PracticesDerek Smith
 
Android vs iPhone - Differences in UI Patterns and Design
Android vs iPhone - Differences in UI Patterns and DesignAndroid vs iPhone - Differences in UI Patterns and Design
Android vs iPhone - Differences in UI Patterns and DesignJeremy Johnson
 
SlideShare Zeitgeist 2013
SlideShare Zeitgeist 2013SlideShare Zeitgeist 2013
SlideShare Zeitgeist 2013SlideShare
 
Id,ego and superego (o.b ppt)
Id,ego and superego (o.b ppt)Id,ego and superego (o.b ppt)
Id,ego and superego (o.b ppt)Student
 
User Experience Best Practices
User Experience Best PracticesUser Experience Best Practices
User Experience Best PracticesNick Finck
 
Responsive Web Design: Clever Tips and Techniques
Responsive Web Design: Clever Tips and TechniquesResponsive Web Design: Clever Tips and Techniques
Responsive Web Design: Clever Tips and TechniquesVitaly Friedman
 
Copy Of Fthb Presentation2
Copy Of Fthb Presentation2Copy Of Fthb Presentation2
Copy Of Fthb Presentation2peglover
 

Viewers also liked (18)

Tables And SQL basics
Tables And SQL basicsTables And SQL basics
Tables And SQL basics
 
HERO Deck
HERO Deck HERO Deck
HERO Deck
 
26 Social Media Marketing Trends for 2013
26 Social Media Marketing Trends for 201326 Social Media Marketing Trends for 2013
26 Social Media Marketing Trends for 2013
 
Introduction to Objective - C
Introduction to Objective - CIntroduction to Objective - C
Introduction to Objective - C
 
Copywriting
CopywritingCopywriting
Copywriting
 
The Psychology of C# Analysis
The Psychology of C# AnalysisThe Psychology of C# Analysis
The Psychology of C# Analysis
 
Enough with the JavaScript already!
Enough with the JavaScript already!Enough with the JavaScript already!
Enough with the JavaScript already!
 
Linux Introduction
Linux IntroductionLinux Introduction
Linux Introduction
 
Introduction to Stylistics (13 of 16)
Introduction to Stylistics (13 of 16)Introduction to Stylistics (13 of 16)
Introduction to Stylistics (13 of 16)
 
Unit Testing Concepts and Best Practices
Unit Testing Concepts and Best PracticesUnit Testing Concepts and Best Practices
Unit Testing Concepts and Best Practices
 
Mvc architecture
Mvc architectureMvc architecture
Mvc architecture
 
Android vs iPhone - Differences in UI Patterns and Design
Android vs iPhone - Differences in UI Patterns and DesignAndroid vs iPhone - Differences in UI Patterns and Design
Android vs iPhone - Differences in UI Patterns and Design
 
SlideShare Zeitgeist 2013
SlideShare Zeitgeist 2013SlideShare Zeitgeist 2013
SlideShare Zeitgeist 2013
 
Java Tutorial
Java TutorialJava Tutorial
Java Tutorial
 
Id,ego and superego (o.b ppt)
Id,ego and superego (o.b ppt)Id,ego and superego (o.b ppt)
Id,ego and superego (o.b ppt)
 
User Experience Best Practices
User Experience Best PracticesUser Experience Best Practices
User Experience Best Practices
 
Responsive Web Design: Clever Tips and Techniques
Responsive Web Design: Clever Tips and TechniquesResponsive Web Design: Clever Tips and Techniques
Responsive Web Design: Clever Tips and Techniques
 
Copy Of Fthb Presentation2
Copy Of Fthb Presentation2Copy Of Fthb Presentation2
Copy Of Fthb Presentation2
 

More from Maximiliano Firtman

ChatGPT and AI for Web Developers
ChatGPT and AI for Web DevelopersChatGPT and AI for Web Developers
ChatGPT and AI for Web DevelopersMaximiliano Firtman
 
Hacking Web Performance en Español - JSConf México 2020
Hacking Web Performance en Español - JSConf México 2020Hacking Web Performance en Español - JSConf México 2020
Hacking Web Performance en Español - JSConf México 2020Maximiliano Firtman
 
Uncovering Secrets of Progressive Web Apps
Uncovering Secrets of Progressive Web AppsUncovering Secrets of Progressive Web Apps
Uncovering Secrets of Progressive Web AppsMaximiliano Firtman
 
Hacking Web Performance @ ForwardJS 2017
Hacking Web Performance @ ForwardJS 2017Hacking Web Performance @ ForwardJS 2017
Hacking Web Performance @ ForwardJS 2017Maximiliano Firtman
 
La Web Salta al Mundo Físico - Web meets Physical World (spanish)
La Web Salta al Mundo Físico - Web meets Physical World (spanish)La Web Salta al Mundo Físico - Web meets Physical World (spanish)
La Web Salta al Mundo Físico - Web meets Physical World (spanish)Maximiliano Firtman
 
Progressive Web Apps (español - spanish)
Progressive Web Apps (español - spanish)Progressive Web Apps (español - spanish)
Progressive Web Apps (español - spanish)Maximiliano Firtman
 
High Performance Web - Full Stack Toronto
High Performance Web - Full Stack TorontoHigh Performance Web - Full Stack Toronto
High Performance Web - Full Stack TorontoMaximiliano Firtman
 
Responsive Images and Performance
Responsive Images and PerformanceResponsive Images and Performance
Responsive Images and PerformanceMaximiliano Firtman
 
The Physical World meets the Web
The Physical World meets the WebThe Physical World meets the Web
The Physical World meets the WebMaximiliano Firtman
 
Extreme Web Performance for Mobile Devices
Extreme Web Performance for Mobile Devices Extreme Web Performance for Mobile Devices
Extreme Web Performance for Mobile Devices Maximiliano Firtman
 
Extreme Web Performance for Mobile Device Fluent 2015
Extreme Web Performance for Mobile Device Fluent 2015Extreme Web Performance for Mobile Device Fluent 2015
Extreme Web Performance for Mobile Device Fluent 2015Maximiliano Firtman
 
Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014
Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014
Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014Maximiliano Firtman
 
Extreme Web Performance for Mobile Devices - Velocity NY
Extreme Web Performance for Mobile Devices - Velocity NYExtreme Web Performance for Mobile Devices - Velocity NY
Extreme Web Performance for Mobile Devices - Velocity NYMaximiliano Firtman
 
Extreme Web Performance for Mobile Devices
Extreme Web Performance for Mobile DevicesExtreme Web Performance for Mobile Devices
Extreme Web Performance for Mobile DevicesMaximiliano Firtman
 

More from Maximiliano Firtman (20)

ChatGPT and AI for Web Developers
ChatGPT and AI for Web DevelopersChatGPT and AI for Web Developers
ChatGPT and AI for Web Developers
 
PWA Cheat Sheet 2023
PWA Cheat Sheet 2023PWA Cheat Sheet 2023
PWA Cheat Sheet 2023
 
Hacking Web Performance en Español - JSConf México 2020
Hacking Web Performance en Español - JSConf México 2020Hacking Web Performance en Español - JSConf México 2020
Hacking Web Performance en Español - JSConf México 2020
 
The modern PWA Cheat Sheet
The modern PWA Cheat SheetThe modern PWA Cheat Sheet
The modern PWA Cheat Sheet
 
Hacking Web Performance 2019
Hacking Web Performance 2019Hacking Web Performance 2019
Hacking Web Performance 2019
 
Progressive Web Apps Keynote
Progressive Web Apps KeynoteProgressive Web Apps Keynote
Progressive Web Apps Keynote
 
Hacking Web Performance
Hacking Web PerformanceHacking Web Performance
Hacking Web Performance
 
Uncovering Secrets of Progressive Web Apps
Uncovering Secrets of Progressive Web AppsUncovering Secrets of Progressive Web Apps
Uncovering Secrets of Progressive Web Apps
 
Hacking Web Performance
Hacking Web Performance Hacking Web Performance
Hacking Web Performance
 
Hacking Web Performance @ ForwardJS 2017
Hacking Web Performance @ ForwardJS 2017Hacking Web Performance @ ForwardJS 2017
Hacking Web Performance @ ForwardJS 2017
 
La Web Salta al Mundo Físico - Web meets Physical World (spanish)
La Web Salta al Mundo Físico - Web meets Physical World (spanish)La Web Salta al Mundo Físico - Web meets Physical World (spanish)
La Web Salta al Mundo Físico - Web meets Physical World (spanish)
 
Progressive Web Apps (español - spanish)
Progressive Web Apps (español - spanish)Progressive Web Apps (español - spanish)
Progressive Web Apps (español - spanish)
 
High Performance Web - Full Stack Toronto
High Performance Web - Full Stack TorontoHigh Performance Web - Full Stack Toronto
High Performance Web - Full Stack Toronto
 
Responsive Images and Performance
Responsive Images and PerformanceResponsive Images and Performance
Responsive Images and Performance
 
The Physical World meets the Web
The Physical World meets the WebThe Physical World meets the Web
The Physical World meets the Web
 
Extreme Web Performance for Mobile Devices
Extreme Web Performance for Mobile Devices Extreme Web Performance for Mobile Devices
Extreme Web Performance for Mobile Devices
 
Extreme Web Performance for Mobile Device Fluent 2015
Extreme Web Performance for Mobile Device Fluent 2015Extreme Web Performance for Mobile Device Fluent 2015
Extreme Web Performance for Mobile Device Fluent 2015
 
Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014
Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014
Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014
 
Extreme Web Performance for Mobile Devices - Velocity NY
Extreme Web Performance for Mobile Devices - Velocity NYExtreme Web Performance for Mobile Devices - Velocity NY
Extreme Web Performance for Mobile Devices - Velocity NY
 
Extreme Web Performance for Mobile Devices
Extreme Web Performance for Mobile DevicesExtreme Web Performance for Mobile Devices
Extreme Web Performance for Mobile Devices
 

Recently uploaded

Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DaySri Ambati
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 

Recently uploaded (20)

Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 

Breaking Limits on Mobile HTML5 - 15 Hacks you might not know