SlideShare a Scribd company logo
1 of 173
Download to read offline
Max Firtman @firt	

!

BREAKING LIMITS	

ON MOBILE	

HTML5 	

!

!

Tallinn, Nov 6, 2013	


!
questions
yes, please
!

QA at the end
agenda
Hacks for breaking limits
- UI
- device interaction
- enhancing apps
- tools
my goal
hacks, why?
1- UI hacks
UI

Full screen
full screen
full screen

3 solutions
full screen

Solution #1
full screen
<meta name="apple-mobile-web-app-capable"
content="yes">
full screen
<meta name="mobile-web-app-capable"
content="yes">
full screen
<meta name="apple-mobile-web-app-capable"
content="yes">
if (navigator.standalone) { }
demo
full screen

Solution #2
future platforms
full screen
var body = document.documentElement;
!

if (body.requestFullScreen) {
body.requestFullScreen();
}
full screen
var body = document.documentElement;
!

if (body.requestFullScreen) {
body.requestFullScreen();
} else if (body.webkitRequestFullScreen) {
body.webkitRequestFullScreen();
}
full screen
var body = document.documentElement;
!

if (body.requestFullScreen) {
body.requestFullScreen();
} else if (body.webkitRequestFullScreen) {
body.webkitRequestFullScreen();
} else if (body.mozRequestFullScreen) {
body.mozRequestFullScreen();
}
...

full screen

Solution #3
full screen
window.addEventListener("load",
function() { window.scrollTo(0, 0); });
!

// use with care
document.addEventListener("touchmove",
function(e) { e.preventDefault() });
UI

Snapped mode
Windows 8
snapped mode
snapped mode
snapped mode

Solution
snapped mode
@media only screen and (max-width: 400px) {
@-ms-viewport { 
width: 320px; 
}
}
snapped mode
UI

images for different
screen densities
screen densities
<img src="photo.png" width="300">
screen densities
screen densities
300 CSS pixels
device px
300
390
450
600
672
900
!

px ratio
1.00
1.30
1.50
2.00
2.24
3.00
screen densities
300 CSS pixels
device px
300
390
450
600
672
900
!

px ratio
1.00
1.30
1.50
2.00
2.24
3.00

Firefox OS
Nexus 7
Galaxy SII
iPhone 5
BB Z10
Nexus 5
Solution #1
screen densities
use vector images
<img src="photo.svg" width="300">
<svg></svg>
@font-face {}
screen densities
screen densities
Solution #2
screen densities
<img src="photo.png" width="300">
if (window.devicePixelRatio > 1.5) {
// change URL
}
screen densities

devicePixelRatio =
window.screen.availWidth /
document.documentElement.clientWidth
Solution #3
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;
}
Solution #4
screen densities
<div id="photoContainer">
#photoContainer {
background-image: url('photo-lo.png');
width: 300px; height: 200px;
}
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;
}
}
screen densities
<div id="photoContainer">
@media (-webkit-min-device-pixel-ratio: 1.5),
(min--moz-device-pixel-ratio: 1.5) {
!
!
!
!
!

}
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) {
!
!
!
!

}
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) {
!
!
!

}
@media (-webkit-device-pixel-ratio: 2)

always query
on ranges
@media (-webkit-min-device-pixel-ratio: 1.7)

always query
on ranges
300x300

900x900

find the balance
UI

High resolution
canvas
hi-res canvas
<canvas width="300" height="200">
</canvas>

300px
hi-res canvas
300 CSS pixels
device px
300
390
450
600
672
900
!

px ratio
1.00
1.30
1.50
2.00
2.24
3.00
hi res canvas
<canvas width="300" height="200">
</canvas>

300px
hi res canvas
var devPxRatio = window.devicePixelRatio;
!

var canvasPxRatio =
document.querySelector("canvas")
.getContext("2d")
.webkitBackingStorePixelRatio;
hi res canvas
<canvas width="300" height="200">
</canvas>

devPxRatio = 2
canvasPxRatio = 1

300px
hi res canvas
<canvas width="300" height="200">
</canvas>

devPxRatio >= 1
canvasPxRatio = undefined

300px
hi res canvas

Solution #1
hi res canvas
<meta name="viewport" content="width=640">
!

<canvas width="600" height="400">
</canvas>

600px
hi res canvas

Solution #2
hi res canvas
<script>

document.querySelector("canvas")
.getContext("2d")
.setScale(2, 2);
</script>

300px
hi res canvas
<canvas width="600" height="400">
</canvas>
<script>

document.querySelector("canvas")
.getContext("2d")
.setScale(2, 2);
</script>

300px
hi res canvas
<canvas width="600" height="400"
style="width: 300px; height: 200px">
</canvas>
<script>

document.querySelector("canvas")
.getContext("2d")
.setScale(2, 2);
</script>

300px
multi-platform &
multi-resolution
execution &
memory
UI

truly numeric field
numeric
<input type="number">
numeric
<input type="number">
numeric
<input type="number">
Solution
numeric
<input type="number"
pattern="[0-9]*">
numeric
<input type="password"
pattern="[0-9]*">
UI

where is my date
picker?
date
<input type="date">
date
<input type="datetime">
date
<input type="datetime">
Solution
date
<input
type="datetime-local">
UI

rich editor
rich editor
<ul contenteditable>
<li>First item
</ul>
rich editor
<ul contenteditable>
<li>First item
</ul>
rich editor
<ul contenteditable>
<li>First item
</ul>
UI

zombie tab
background
background
<marquee>Welcome to my website!</marquee>
<font family="Arial" size="20">
background
<meta http-equiv="refresh"
content="60">
background
<meta http-equiv="refresh" content="2">
!
background
<meta http-equiv="refresh" content="2">
!

<script>
var mr = document.querySelector("meta");
setInterval(function() {
mr.content=mr.content;
}, 1000);
</script>
background
DISCLAIMER
on iOS 6
on iOS 7
2- device
interaction hacks
device

media capture
media capture
<input type="file">
Solution
media capture
<input type="file" accept="image/*">
<input type="file" accept="video/*">
<input type="file" accept="audio/*">
media capture
<input type="file" accept="image/*"
capture>
<input type="file" accept="video/*"
capture>
<input type="file" accept="video/*"
capture>

(old spec)
media capture

Live demo
device

interacting with
native apps
native integration
Solution, part I
DON'T DO THAT
Solution, part II
native integration
<meta name="apple-itunes-app"
content="app-id=999">
native integration
native integration
<meta name="apple-itunes-app"
content="app-id=999">
<meta name="app-argument"
content="">
native integration
<meta name="msApplication-ID"
content="App">
<meta name="msApplication-PackageFamilyName"
content="myPackage">
native integration
native integration
native integration
native integration
<meta name="msApplication-ID"
content="App">
<meta name="msApplication-PackageFamilyName"
content="myPackage">
!

<meta name="msApplication-Arguments"
content="">
!
no api
no android
3- enhancing your
app hacks
enhance your app

push notification
push
<a href="suscription.passbook">
Subscribe to this site
</a>
push
push
enhance your app

iOS home screen title
home screen
home screen
home screen
UN
DO

<title>My long title for SEO</title>C
<meta name="apple-web-app-title"
content="My App">

UM
EN
TE

D
enhance your app

Changing tint iOS 7
tint

body {

body {

background-color: red;
}

background-color: yellow;
}
tint
tint
body {
background-color: blue; /* for the tint */
background-image: linear-gradient(to bottom, green 0%,
green 100%); /* for the body */
}
enhance your app

IE10 Live Tile
live tile
live tile
live tile
<meta name="msapplication-TileImage"
content="tile.png">
!

<meta name="msapplication-TileColor"
content="#ef0303">
enhance your app

You've said live tile!!!
live tile
<meta name="msapplication-badge"
content="frequency=60;polling-uri=XXX">
!
!
live tile
<meta name="msapplication-badge"
content="frequency=60;polling-uri=XXX">
!

<?xml version="1.0" ?>
<badge value="3" />
!
live tile
<meta name="msapplication-badge"
content="frequency=60;polling-uri=XXX">
!

<?xml version="1.0" ?>
<badge value="newMessage" />
!
enhance your app

It’s even better on
IE11
live tile
<meta name="msapplication-notification"
content=“frequency=30;polling-uri=“>
!
!
live tile
document.addEventListener('mssitepinned',
startPeriodicUpdateBatch, false);
!
!
live tile
document.addEventListener('mssitepinned',
startPeriodicUpdateBatch, false);
!
!
buildmypinnedsite.com
enhance your app

Storage limits
storage

AppCache, localStorage,
WebSQL, IDB
storage
Different domains,
iframes and
Cross Document Messaging API
!
storage
this might not work
in the future
do you really need
more space?
4- tools
Tools

Bandwidth
simulators
netlimiter.com
slowyapp.com
charlesproxy.com
Tools

Remote debuggers
time for demo?
Tools

Virtual Mobile Labs
developer.nokia.com
developer.samsung.com
keynotedeviceanywhere.com
Tools

Live Reload
livereload.com
wrapping up
we need hacks because
• browsers are different
• no enough information
• undocumented features
• buggy
however
• usability and Performance matters
• be careful
• your app should work anyway
• use feature detection
“change is the only constant“
Heraclitus
“in the mobile world, 

change is the only constant“
you can reach a good
experience
thank you!

firt.mobi/pmw

Tomorrow
Google Glass talk

#TopConf

firtman@gmail.com
@firt
Pictures)from)freedigitalphotos.net)

More Related Content

What's hot

Video.js - How to build and HTML5 Video Player
Video.js - How to build and HTML5 Video PlayerVideo.js - How to build and HTML5 Video Player
Video.js - How to build and HTML5 Video Playersteveheffernan
 
You too can be a bedwetting antfucker: Bruce Lawson, Opera, Fronteers 2011
You too can be a bedwetting antfucker: Bruce Lawson, Opera, Fronteers 2011You too can be a bedwetting antfucker: Bruce Lawson, Opera, Fronteers 2011
You too can be a bedwetting antfucker: Bruce Lawson, Opera, Fronteers 2011brucelawson
 
All you need to know about JavaScript loading and execution in the browser - ...
All you need to know about JavaScript loading and execution in the browser - ...All you need to know about JavaScript loading and execution in the browser - ...
All you need to know about JavaScript loading and execution in the browser - ...Caelum
 
Sencha Touch e PhoneGap: SouJava - IBM Maio 2013
Sencha Touch e PhoneGap: SouJava - IBM Maio 2013Sencha Touch e PhoneGap: SouJava - IBM Maio 2013
Sencha Touch e PhoneGap: SouJava - IBM Maio 2013Loiane Groner
 
HTML5 Who what where when why how
HTML5 Who what where when why howHTML5 Who what where when why how
HTML5 Who what where when why howbrucelawson
 
Its timetostopstalling limerick
Its timetostopstalling limerickIts timetostopstalling limerick
Its timetostopstalling limerickDoug Sillars
 
Making the HTML5 Video element interactive
Making the HTML5 Video element interactiveMaking the HTML5 Video element interactive
Making the HTML5 Video element interactiveCharles Hudson
 
[psuweb] Adaptive Images in Responsive Web Design
[psuweb] Adaptive Images in Responsive Web Design[psuweb] Adaptive Images in Responsive Web Design
[psuweb] Adaptive Images in Responsive Web DesignChristopher Schmitt
 
[wcatx] Adaptive Images in Responsive Web Design
[wcatx] Adaptive Images in Responsive Web Design[wcatx] Adaptive Images in Responsive Web Design
[wcatx] Adaptive Images in Responsive Web DesignChristopher Schmitt
 
Its timetostopstalling gdg_bruxelles
Its timetostopstalling gdg_bruxellesIts timetostopstalling gdg_bruxelles
Its timetostopstalling gdg_bruxellesDoug Sillars
 
[cssdevconf] Adaptive Images in Responsive Web Design
[cssdevconf] Adaptive Images in Responsive Web Design[cssdevconf] Adaptive Images in Responsive Web Design
[cssdevconf] Adaptive Images in Responsive Web DesignChristopher Schmitt
 
HTML5 APIs - Where No Man Has Gone Before - StarTechConf, Chile
HTML5 APIs - Where No Man Has Gone Before - StarTechConf, ChileHTML5 APIs - Where No Man Has Gone Before - StarTechConf, Chile
HTML5 APIs - Where No Man Has Gone Before - StarTechConf, ChileRobert Nyman
 
[refreshpitt] Adaptive Images in Responsive Web Design
[refreshpitt] Adaptive Images in Responsive Web Design[refreshpitt] Adaptive Images in Responsive Web Design
[refreshpitt] Adaptive Images in Responsive Web DesignChristopher Schmitt
 
Its timetostopstalling sw_mobile_bristol
Its timetostopstalling sw_mobile_bristolIts timetostopstalling sw_mobile_bristol
Its timetostopstalling sw_mobile_bristolDoug Sillars
 
Its timetostopstalling swp_munich
Its timetostopstalling swp_munichIts timetostopstalling swp_munich
Its timetostopstalling swp_munichDoug Sillars
 
Imagesandvideo voxxeddays
Imagesandvideo voxxeddaysImagesandvideo voxxeddays
Imagesandvideo voxxeddaysDoug Sillars
 
Mobile App and Web Performance Testing
Mobile App and Web Performance TestingMobile App and Web Performance Testing
Mobile App and Web Performance TestingDoug Sillars
 
Building an HTML5 Video Player
Building an HTML5 Video PlayerBuilding an HTML5 Video Player
Building an HTML5 Video PlayerJim Jeffers
 
Widget radio sarkub (nusa radio)
Widget radio sarkub (nusa radio)Widget radio sarkub (nusa radio)
Widget radio sarkub (nusa radio)Kampus Menyan
 

What's hot (20)

Video.js - How to build and HTML5 Video Player
Video.js - How to build and HTML5 Video PlayerVideo.js - How to build and HTML5 Video Player
Video.js - How to build and HTML5 Video Player
 
You too can be a bedwetting antfucker: Bruce Lawson, Opera, Fronteers 2011
You too can be a bedwetting antfucker: Bruce Lawson, Opera, Fronteers 2011You too can be a bedwetting antfucker: Bruce Lawson, Opera, Fronteers 2011
You too can be a bedwetting antfucker: Bruce Lawson, Opera, Fronteers 2011
 
All you need to know about JavaScript loading and execution in the browser - ...
All you need to know about JavaScript loading and execution in the browser - ...All you need to know about JavaScript loading and execution in the browser - ...
All you need to know about JavaScript loading and execution in the browser - ...
 
Sencha Touch e PhoneGap: SouJava - IBM Maio 2013
Sencha Touch e PhoneGap: SouJava - IBM Maio 2013Sencha Touch e PhoneGap: SouJava - IBM Maio 2013
Sencha Touch e PhoneGap: SouJava - IBM Maio 2013
 
HTML5 Who what where when why how
HTML5 Who what where when why howHTML5 Who what where when why how
HTML5 Who what where when why how
 
Its timetostopstalling limerick
Its timetostopstalling limerickIts timetostopstalling limerick
Its timetostopstalling limerick
 
All in one_seo_pack
All in one_seo_packAll in one_seo_pack
All in one_seo_pack
 
Making the HTML5 Video element interactive
Making the HTML5 Video element interactiveMaking the HTML5 Video element interactive
Making the HTML5 Video element interactive
 
[psuweb] Adaptive Images in Responsive Web Design
[psuweb] Adaptive Images in Responsive Web Design[psuweb] Adaptive Images in Responsive Web Design
[psuweb] Adaptive Images in Responsive Web Design
 
[wcatx] Adaptive Images in Responsive Web Design
[wcatx] Adaptive Images in Responsive Web Design[wcatx] Adaptive Images in Responsive Web Design
[wcatx] Adaptive Images in Responsive Web Design
 
Its timetostopstalling gdg_bruxelles
Its timetostopstalling gdg_bruxellesIts timetostopstalling gdg_bruxelles
Its timetostopstalling gdg_bruxelles
 
[cssdevconf] Adaptive Images in Responsive Web Design
[cssdevconf] Adaptive Images in Responsive Web Design[cssdevconf] Adaptive Images in Responsive Web Design
[cssdevconf] Adaptive Images in Responsive Web Design
 
HTML5 APIs - Where No Man Has Gone Before - StarTechConf, Chile
HTML5 APIs - Where No Man Has Gone Before - StarTechConf, ChileHTML5 APIs - Where No Man Has Gone Before - StarTechConf, Chile
HTML5 APIs - Where No Man Has Gone Before - StarTechConf, Chile
 
[refreshpitt] Adaptive Images in Responsive Web Design
[refreshpitt] Adaptive Images in Responsive Web Design[refreshpitt] Adaptive Images in Responsive Web Design
[refreshpitt] Adaptive Images in Responsive Web Design
 
Its timetostopstalling sw_mobile_bristol
Its timetostopstalling sw_mobile_bristolIts timetostopstalling sw_mobile_bristol
Its timetostopstalling sw_mobile_bristol
 
Its timetostopstalling swp_munich
Its timetostopstalling swp_munichIts timetostopstalling swp_munich
Its timetostopstalling swp_munich
 
Imagesandvideo voxxeddays
Imagesandvideo voxxeddaysImagesandvideo voxxeddays
Imagesandvideo voxxeddays
 
Mobile App and Web Performance Testing
Mobile App and Web Performance TestingMobile App and Web Performance Testing
Mobile App and Web Performance Testing
 
Building an HTML5 Video Player
Building an HTML5 Video PlayerBuilding an HTML5 Video Player
Building an HTML5 Video Player
 
Widget radio sarkub (nusa radio)
Widget radio sarkub (nusa radio)Widget radio sarkub (nusa radio)
Widget radio sarkub (nusa radio)
 

Viewers also liked

以網站原型來確認需求 – 電子商務網站的購物動線規劃
以網站原型來確認需求 – 電子商務網站的購物動線規劃以網站原型來確認需求 – 電子商務網站的購物動線規劃
以網站原型來確認需求 – 電子商務網站的購物動線規劃悠識學院
 
20110125 idm wg-fujie
20110125 idm wg-fujie20110125 idm wg-fujie
20110125 idm wg-fujieNaohiro Fujie
 
Hot High Paying Keywords Of All Time
Hot High Paying Keywords Of All TimeHot High Paying Keywords Of All Time
Hot High Paying Keywords Of All Timejaxky
 
Cum Stiu Ca Sunt Cu Persoana Potrivita By Dimcikmarin
Cum Stiu Ca Sunt Cu Persoana  Potrivita By DimcikmarinCum Stiu Ca Sunt Cu Persoana  Potrivita By Dimcikmarin
Cum Stiu Ca Sunt Cu Persoana Potrivita By Dimcikmarinalexcurbet
 
RDBを中核としたXMLDBの開発
RDBを中核としたXMLDBの開発RDBを中核としたXMLDBの開発
RDBを中核としたXMLDBの開発Hiroyuki Inoue
 
Jason Jones 090506 Innovation4extremes V1
Jason Jones 090506 Innovation4extremes V1Jason Jones 090506 Innovation4extremes V1
Jason Jones 090506 Innovation4extremes V1Mary Rose
 
Web 2.0 based Application/Website development for Hospitality industry
Web 2.0 based Application/Website development for Hospitality industryWeb 2.0 based Application/Website development for Hospitality industry
Web 2.0 based Application/Website development for Hospitality industrySandeep Sivaram
 
Location Based Marketing from Media2Go
Location Based Marketing from Media2GoLocation Based Marketing from Media2Go
Location Based Marketing from Media2Gohometown
 
Innovative connections final.2010ppt
Innovative connections final.2010pptInnovative connections final.2010ppt
Innovative connections final.2010pptMary Rose
 
IDN: Opening Thoughts
IDN: Opening ThoughtsIDN: Opening Thoughts
IDN: Opening ThoughtsDan Kennedy
 
Ds Design Architects Brochure
Ds Design Architects BrochureDs Design Architects Brochure
Ds Design Architects Brochuredstockless
 
El Jardin De La Mente Manual
El Jardin De La Mente ManualEl Jardin De La Mente Manual
El Jardin De La Mente Manualguest7adf3a3
 

Viewers also liked (20)

以網站原型來確認需求 – 電子商務網站的購物動線規劃
以網站原型來確認需求 – 電子商務網站的購物動線規劃以網站原型來確認需求 – 電子商務網站的購物動線規劃
以網站原型來確認需求 – 電子商務網站的購物動線規劃
 
Schilderijen1
Schilderijen1Schilderijen1
Schilderijen1
 
20110125 idm wg-fujie
20110125 idm wg-fujie20110125 idm wg-fujie
20110125 idm wg-fujie
 
Hot High Paying Keywords Of All Time
Hot High Paying Keywords Of All TimeHot High Paying Keywords Of All Time
Hot High Paying Keywords Of All Time
 
Cum Stiu Ca Sunt Cu Persoana Potrivita By Dimcikmarin
Cum Stiu Ca Sunt Cu Persoana  Potrivita By DimcikmarinCum Stiu Ca Sunt Cu Persoana  Potrivita By Dimcikmarin
Cum Stiu Ca Sunt Cu Persoana Potrivita By Dimcikmarin
 
RDBを中核としたXMLDBの開発
RDBを中核としたXMLDBの開発RDBを中核としたXMLDBの開発
RDBを中核としたXMLDBの開発
 
Jason Jones 090506 Innovation4extremes V1
Jason Jones 090506 Innovation4extremes V1Jason Jones 090506 Innovation4extremes V1
Jason Jones 090506 Innovation4extremes V1
 
Web 2.0 based Application/Website development for Hospitality industry
Web 2.0 based Application/Website development for Hospitality industryWeb 2.0 based Application/Website development for Hospitality industry
Web 2.0 based Application/Website development for Hospitality industry
 
Location Based Marketing from Media2Go
Location Based Marketing from Media2GoLocation Based Marketing from Media2Go
Location Based Marketing from Media2Go
 
The School Bully
The School BullyThe School Bully
The School Bully
 
Innovative connections final.2010ppt
Innovative connections final.2010pptInnovative connections final.2010ppt
Innovative connections final.2010ppt
 
501 Ceu L Idcec 7 9 2010
501 Ceu L Idcec 7 9 2010501 Ceu L Idcec 7 9 2010
501 Ceu L Idcec 7 9 2010
 
Mobile Web & Widgets
Mobile Web & WidgetsMobile Web & Widgets
Mobile Web & Widgets
 
National Geografic
National GeograficNational Geografic
National Geografic
 
IDN: Opening Thoughts
IDN: Opening ThoughtsIDN: Opening Thoughts
IDN: Opening Thoughts
 
Ds Design Architects Brochure
Ds Design Architects BrochureDs Design Architects Brochure
Ds Design Architects Brochure
 
Bust all Myths
Bust all MythsBust all Myths
Bust all Myths
 
Sailing
SailingSailing
Sailing
 
Invisimal alvaro
Invisimal alvaroInvisimal alvaro
Invisimal alvaro
 
El Jardin De La Mente Manual
El Jardin De La Mente ManualEl Jardin De La Mente Manual
El Jardin De La Mente Manual
 

Similar to Breaking Limits on Mobile HTML5 - TopConf Tallinn

FINHTML5 - Breaking the mobile web
FINHTML5 - Breaking the mobile webFINHTML5 - Breaking the mobile web
FINHTML5 - Breaking the mobile webMaximiliano Firtman
 
Progressive Web Apps. What, why and how
Progressive Web Apps. What, why and howProgressive Web Apps. What, why and how
Progressive Web Apps. What, why and howRiza Fahmi
 
"Progressive Web Apps" by Riza Fahmi (Hacktiv8)
"Progressive Web Apps" by Riza Fahmi	(Hacktiv8)"Progressive Web Apps" by Riza Fahmi	(Hacktiv8)
"Progressive Web Apps" by Riza Fahmi (Hacktiv8)Tech in Asia ID
 
Responsive Websites
Responsive WebsitesResponsive Websites
Responsive WebsitesJoe Seifi
 
Once Source to Rule Them All
Once Source to Rule Them AllOnce Source to Rule Them All
Once Source to Rule Them AllDavid Yeiser
 
Mozilla Web Apps - Super-VanJS
Mozilla Web Apps - Super-VanJSMozilla Web Apps - Super-VanJS
Mozilla Web Apps - Super-VanJSRobert Nyman
 
Responsive Web in Brief
Responsive Web in BriefResponsive Web in Brief
Responsive Web in BriefEPAM
 
[cssdevconf] Adaptive Images in RWD
[cssdevconf] Adaptive Images in RWD[cssdevconf] Adaptive Images in RWD
[cssdevconf] Adaptive Images in RWDChristopher Schmitt
 
Desenvolvimento web com Ruby on Rails (parte 2)
Desenvolvimento web com Ruby on Rails (parte 2)Desenvolvimento web com Ruby on Rails (parte 2)
Desenvolvimento web com Ruby on Rails (parte 2)Joao Lucas Santana
 
Mobile Web Development
Mobile Web DevelopmentMobile Web Development
Mobile Web DevelopmentJonathan Snook
 
[html5tx] Adaptive Images in Responsive Web Design
[html5tx] Adaptive Images in Responsive Web Design[html5tx] Adaptive Images in Responsive Web Design
[html5tx] Adaptive Images in Responsive Web DesignChristopher Schmitt
 
Invading the home screen
Invading the home screenInvading the home screen
Invading the home screenMatteo Bonifazi
 
HTML5 apps for iOS (and probably beyond)
HTML5 apps for iOS (and probably beyond)HTML5 apps for iOS (and probably beyond)
HTML5 apps for iOS (and probably beyond)Andi Farr
 
Pinkoi Mobile Web
Pinkoi Mobile WebPinkoi Mobile Web
Pinkoi Mobile Webmikeleeme
 
Oleh Zasadnyy "Progressive Web Apps: line between web and native apps become ...
Oleh Zasadnyy "Progressive Web Apps: line between web and native apps become ...Oleh Zasadnyy "Progressive Web Apps: line between web and native apps become ...
Oleh Zasadnyy "Progressive Web Apps: line between web and native apps become ...IT Event
 
Web Frontend development: tools and good practices to (re)organize the chaos
Web Frontend development: tools and good practices to (re)organize the chaosWeb Frontend development: tools and good practices to (re)organize the chaos
Web Frontend development: tools and good practices to (re)organize the chaosMatteo Papadopoulos
 
Make your PWA feel more like an app
Make your PWA feel more like an appMake your PWA feel more like an app
Make your PWA feel more like an appÖnder Ceylan
 
Intro to PhoneGap and PhoneGap Build
Intro to PhoneGap and PhoneGap BuildIntro to PhoneGap and PhoneGap Build
Intro to PhoneGap and PhoneGap BuildChris Griffith
 

Similar to Breaking Limits on Mobile HTML5 - TopConf Tallinn (20)

FINHTML5 - Breaking the mobile web
FINHTML5 - Breaking the mobile webFINHTML5 - Breaking the mobile web
FINHTML5 - Breaking the mobile web
 
Progressive Web Apps. What, why and how
Progressive Web Apps. What, why and howProgressive Web Apps. What, why and how
Progressive Web Apps. What, why and how
 
"Progressive Web Apps" by Riza Fahmi (Hacktiv8)
"Progressive Web Apps" by Riza Fahmi	(Hacktiv8)"Progressive Web Apps" by Riza Fahmi	(Hacktiv8)
"Progressive Web Apps" by Riza Fahmi (Hacktiv8)
 
Responsive Websites
Responsive WebsitesResponsive Websites
Responsive Websites
 
HTML5와 모바일
HTML5와 모바일HTML5와 모바일
HTML5와 모바일
 
Once Source to Rule Them All
Once Source to Rule Them AllOnce Source to Rule Them All
Once Source to Rule Them All
 
Mozilla Web Apps - Super-VanJS
Mozilla Web Apps - Super-VanJSMozilla Web Apps - Super-VanJS
Mozilla Web Apps - Super-VanJS
 
Responsive Web in Brief
Responsive Web in BriefResponsive Web in Brief
Responsive Web in Brief
 
[cssdevconf] Adaptive Images in RWD
[cssdevconf] Adaptive Images in RWD[cssdevconf] Adaptive Images in RWD
[cssdevconf] Adaptive Images in RWD
 
Desenvolvimento web com Ruby on Rails (parte 2)
Desenvolvimento web com Ruby on Rails (parte 2)Desenvolvimento web com Ruby on Rails (parte 2)
Desenvolvimento web com Ruby on Rails (parte 2)
 
Taking your Web App for a walk
Taking your Web App for a walkTaking your Web App for a walk
Taking your Web App for a walk
 
Mobile Web Development
Mobile Web DevelopmentMobile Web Development
Mobile Web Development
 
[html5tx] Adaptive Images in Responsive Web Design
[html5tx] Adaptive Images in Responsive Web Design[html5tx] Adaptive Images in Responsive Web Design
[html5tx] Adaptive Images in Responsive Web Design
 
Invading the home screen
Invading the home screenInvading the home screen
Invading the home screen
 
HTML5 apps for iOS (and probably beyond)
HTML5 apps for iOS (and probably beyond)HTML5 apps for iOS (and probably beyond)
HTML5 apps for iOS (and probably beyond)
 
Pinkoi Mobile Web
Pinkoi Mobile WebPinkoi Mobile Web
Pinkoi Mobile Web
 
Oleh Zasadnyy "Progressive Web Apps: line between web and native apps become ...
Oleh Zasadnyy "Progressive Web Apps: line between web and native apps become ...Oleh Zasadnyy "Progressive Web Apps: line between web and native apps become ...
Oleh Zasadnyy "Progressive Web Apps: line between web and native apps become ...
 
Web Frontend development: tools and good practices to (re)organize the chaos
Web Frontend development: tools and good practices to (re)organize the chaosWeb Frontend development: tools and good practices to (re)organize the chaos
Web Frontend development: tools and good practices to (re)organize the chaos
 
Make your PWA feel more like an app
Make your PWA feel more like an appMake your PWA feel more like an app
Make your PWA feel more like an app
 
Intro to PhoneGap and PhoneGap Build
Intro to PhoneGap and PhoneGap BuildIntro to PhoneGap and PhoneGap Build
Intro to PhoneGap and PhoneGap Build
 

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

Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
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
 
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
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 

Recently uploaded (20)

Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
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
 
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
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 

Breaking Limits on Mobile HTML5 - TopConf Tallinn