Breaking HTML5 limits with Mobile JavaScript
Upcoming SlideShare
Loading in...5
×
 

Breaking HTML5 limits with Mobile JavaScript

on

  • 4,066 views

My workshop on mobile HTML5 at FluentConf in San Francisco, May 29th, 2012

My workshop on mobile HTML5 at FluentConf in San Francisco, May 29th, 2012

Statistics

Views

Total Views
4,066
Views on SlideShare
4,031
Embed Views
35

Actions

Likes
11
Downloads
88
Comments
3

7 Embeds 35

http://localhost 15
http://class2go.auca.kg 9
https://twitter.com 4
http://us-w1.rockmelt.com 3
https://si0.twimg.com 2
http://nodeslide.herokuapp.com 1
https://twimg0-a.akamaihd.net 1
More...

Accessibility

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Breaking HTML5 limits with Mobile JavaScript Breaking HTML5 limits with Mobile JavaScript Presentation Transcript

  • May, 29th, 2012 San Francisco, CA Max Firtman @firt BREAKING HTML5 LIMITS ON MOBILE JAVASCRIPTTuesday, May 29, 12
  • who am I? @firt mobile+web developer mobilexweb.comTuesday, May 29, 12
  • where?Tuesday, May 29, 12
  • where? buenos aires ~ argentinaTuesday, May 29, 12
  • where? buenos aires ~ argentina patagonia soccer meat & wine tangoTuesday, May 29, 12
  • speakerTuesday, May 29, 12
  • books Image from my houseTuesday, May 29, 12
  • Tuesday, May 29, 12
  • Tuesday, May 29, 12
  • the answer is noTuesday, May 29, 12
  • Tuesday, May 29, 12
  • .comTuesday, May 29, 12
  • Tuesday, May 29, 12
  • About this workshopTuesday, May 29, 12
  • About... Introduction Live examples & labs Live coding, how?Tuesday, May 29, 12
  • Logistics 9am: start ~11.00am: break 30 min ~11.30am: second part ~12.15pm: end, Q&A 1pm: lunch :)Tuesday, May 29, 12
  • Logistics Please: - Mobile phones in vibration mode (ironic, I know) - Participate and ask!Tuesday, May 29, 12
  • Let’s startTuesday, May 29, 12
  • mobile...Tuesday, May 29, 12
  • mobileTuesday, May 29, 12
  • mobile ‣ absolutely personalTuesday, May 29, 12
  • mobile ‣ absolutely personal ‣ +5 billionsTuesday, May 29, 12
  • mobile ‣ absolutely personal ‣ +5 billions ‣ make us focusTuesday, May 29, 12
  • mobile ‣ absolutely personal ‣ +5 billions ‣ make us focus ‣ read our context...Tuesday, May 29, 12
  • mobile ‣ absolutely personal ‣ +5 billions ‣ make us focus ‣ read our context... ‣ ... always...Tuesday, May 29, 12
  • mobile ‣ absolutely personal ‣ +5 billions ‣ make us focus ‣ read our context... ‣ ... always... ‣ ... and everywhere.Tuesday, May 29, 12
  • Tuesday, May 29, 12
  • mobile web appearsTuesday, May 29, 12
  • mobile is a minefield Photo by World of Good (Flickr) Malvinas / Falklands IslandsTuesday, May 29, 12
  • lots of questions Photo by wayneandwax (Flickr)Tuesday, May 29, 12
  • we need to learn lots of questionsTuesday, May 29, 12
  • lots of platformsTuesday, May 29, 12
  • problems for us 1. It’s different 2. native vs. web 3. standards 4. vendors hate web developers 5. users hate web developersTuesday, May 29, 12
  • it’s different Slower networksTuesday, May 29, 12
  • it’s different Different browsingTuesday, May 29, 12
  • it’s different Different behaviorTuesday, May 29, 12
  • it’s different Proxy-based browsers aka Where is my JavaScript?Tuesday, May 29, 12
  • mobile browsersTuesday, May 29, 12
  • mobile browsers ‣ too manyTuesday, May 29, 12
  • mobile browsers ‣ too many ‣ (some) too limitedTuesday, May 29, 12
  • mobile browsers ‣ too many ‣ (some) too limited ‣ (some) too innovativeTuesday, May 29, 12
  • mobile browsers ‣ too many ‣ (some) too limited ‣ (some) too innovative ‣ (most) without documentationTuesday, May 29, 12
  • mobile browsers ‣ too many ‣ (some) too limited ‣ (some) too innovative ‣ (most) without documentation ‣ (most) without a nameTuesday, May 29, 12
  • mobile browsers ‣ too many ‣ (some) too limited ‣ (some) too innovative ‣ (most) without documentation ‣ (most) without a name ‣ (most) without debugging toolsTuesday, May 29, 12
  • statistics gs.statcounter.com - Apr 12Tuesday, May 29, 12
  • some are knownTuesday, May 29, 12
  • some are known ‣ Safari (on iOS) ‣ Opera Mobile (on Android & Symbian) ‣ Firefox (on Android) ‣ Chrome (on Android) ‣ Internet Explorer (on Windows Phone)Tuesday, May 29, 12
  • some are unknownTuesday, May 29, 12
  • some are unknown ‣ Nokia Browser (on Symbian, S40 & Meego 1.2) ‣ BlackBerry Browser ‣ Android Browser ‣ webOS Browser ‣ UCWeb ‣ Amazon Silk ‣ Bada Browser ‣ Opera Mini ‣ NetFront ‣ Phantom ‣ ...Tuesday, May 29, 12
  • and with different versions...Tuesday, May 29, 12
  • with different enginesTuesday, May 29, 12
  • with different engines ‣ Rendering engines ‣ WebKit ‣ Gecko ‣ Presto ‣ Trident ‣ Modern execution engines ‣ V8 ‣ JagerMonkey ‣ SquirrelFish (aka Nitro) ‣ Carakan ‣ ChakraTuesday, May 29, 12
  • and there’s more!Tuesday, May 29, 12
  • web viewsTuesday, May 29, 12
  • web viewsTuesday, May 29, 12
  • web views ‣ on iOS, different execution engineTuesday, May 29, 12
  • web views ‣ on iOS, different execution engine ‣ differences on HTML5 APIsTuesday, May 29, 12
  • apps with browsers insideTuesday, May 29, 12
  • pseudo-browsersTuesday, May 29, 12
  • pseudobrowsersTuesday, May 29, 12
  • pseudobrowsers ‣ mostly on iOS and AndroidTuesday, May 29, 12
  • pseudobrowsers ‣ mostly on iOS and Android ‣ use the web viewTuesday, May 29, 12
  • and we can also create native apps -such as phonegap-Tuesday, May 29, 12
  • problems for us 1. It’s different 2. native vs. web 3. standards 4. vendors hate web developers 5. users hate web developersTuesday, May 29, 12
  • native vs webTuesday, May 29, 12
  • native code vs javascriptTuesday, May 29, 12
  • browser vs installed apps & storesTuesday, May 29, 12
  • what is native?Tuesday, May 29, 12
  • what is a webapp?Tuesday, May 29, 12
  • no taxonomy p p p p b a iv e r id 5 a e a t y b l w n h h tmTuesday, May 29, 12
  • problems for us 1. It’s different 2. native vs. web 3. standards 4. vendors hate web developers 5. users hate web developersTuesday, May 29, 12
  • standars?Tuesday, May 29, 12
  • Photo by Ben Millett (Flickr)Tuesday, May 29, 12
  • Tuesday, May 29, 12
  • Are you sure? Photo by Ricky David (Flickr)Tuesday, May 29, 12
  • What is ?Tuesday, May 29, 12
  • html5Tuesday, May 29, 12
  • html5 ‣ w3c standards (all in draft)Tuesday, May 29, 12
  • html5 ‣ w3c standards (all in draft) ‣ some are other w3c standardsTuesday, May 29, 12
  • html5 ‣ w3c standards (all in draft) ‣ some are other w3c standards ‣ de-facto standardsTuesday, May 29, 12
  • html5 ‣ w3c standards (all in draft) ‣ some are other w3c standards ‣ de-facto standards ‣ w3c ex-standardsTuesday, May 29, 12
  • html5 ‣ w3c standards (all in draft) ‣ some are other w3c standards ‣ de-facto standards ‣ w3c ex-standards ‣ everything “new” on the webTuesday, May 29, 12
  • html version 5?Tuesday, May 29, 12
  • why mobile html5?Tuesday, May 29, 12
  • typeof html5 != booleanTuesday, May 29, 12
  • some features safeTuesday, May 29, 12
  • some features only on few platformsTuesday, May 29, 12
  • some features experimentalTuesday, May 29, 12
  • some features with prefixesTuesday, May 29, 12
  • and what about capabilities today?Tuesday, May 29, 12
  • Tuesday, May 29, 12
  • problems for us 1. It’s different 2. native vs. web 3. standards 4. vendors hate web developers 5. users hate web developersTuesday, May 29, 12
  • why? fragmentation info, docs & toolsTuesday, May 29, 12
  • second class developersTuesday, May 29, 12
  • second class developers ‣ vague, non-existent or outdated documentationTuesday, May 29, 12
  • second class developers ‣ vague, non-existent or outdated documentation ‣ new features discovered by third-partiesTuesday, May 29, 12
  • second class developers ‣ vague, non-existent or outdated documentation ‣ new features discovered by third-parties ‣ lack of samplesTuesday, May 29, 12
  • second class developers ‣ vague, non-existent or outdated documentation ‣ new features discovered by third-parties ‣ lack of samples ‣ no developer toolsTuesday, May 29, 12
  • fragmentationTuesday, May 29, 12
  • fragmentationTuesday, May 29, 12
  • fragmentation ‣ screen sizesTuesday, May 29, 12
  • fragmentation ‣ screen sizes ‣ 2.5”, 3”, 3.5”, 4”, 4.5”, 5.5”, 7”, 10”Tuesday, May 29, 12
  • fragmentation ‣ screen sizes ‣ 2.5”, 3”, 3.5”, 4”, 4.5”, 5.5”, 7”, 10” ‣ screen aspect ratioTuesday, May 29, 12
  • fragmentation ‣ screen sizes ‣ 2.5”, 3”, 3.5”, 4”, 4.5”, 5.5”, 7”, 10” ‣ screen aspect ratio ‣ 4:3, 16:9 (wide-screen), 5:3 (eur wide)Tuesday, May 29, 12
  • fragmentation ‣ screen sizes ‣ 2.5”, 3”, 3.5”, 4”, 4.5”, 5.5”, 7”, 10” ‣ screen aspect ratio ‣ 4:3, 16:9 (wide-screen), 5:3 (eur wide) ‣ screen pixel densityTuesday, May 29, 12
  • fragmentation ‣ screen sizes ‣ 2.5”, 3”, 3.5”, 4”, 4.5”, 5.5”, 7”, 10” ‣ screen aspect ratio ‣ 4:3, 16:9 (wide-screen), 5:3 (eur wide) ‣ screen pixel density ‣ Low density: 100 - 130 dpiTuesday, May 29, 12
  • fragmentation ‣ screen sizes ‣ 2.5”, 3”, 3.5”, 4”, 4.5”, 5.5”, 7”, 10” ‣ screen aspect ratio ‣ 4:3, 16:9 (wide-screen), 5:3 (eur wide) ‣ screen pixel density ‣ Low density: 100 - 130 dpi ‣ Medium density: 130 - 180 dpiTuesday, May 29, 12
  • fragmentation ‣ screen sizes ‣ 2.5”, 3”, 3.5”, 4”, 4.5”, 5.5”, 7”, 10” ‣ screen aspect ratio ‣ 4:3, 16:9 (wide-screen), 5:3 (eur wide) ‣ screen pixel density ‣ Low density: 100 - 130 dpi ‣ Medium density: 130 - 180 dpi ‣ High density: 180 - 270 dpiTuesday, May 29, 12
  • fragmentation ‣ screen sizes ‣ 2.5”, 3”, 3.5”, 4”, 4.5”, 5.5”, 7”, 10” ‣ screen aspect ratio ‣ 4:3, 16:9 (wide-screen), 5:3 (eur wide) ‣ screen pixel density ‣ Low density: 100 - 130 dpi ‣ Medium density: 130 - 180 dpi ‣ High density: 180 - 270 dpi ‣ Ultra high density: 270 - 350 dpiTuesday, May 29, 12
  • fragmentation QQVGA QVGA WQVGA FWQVGA ‣ screen sizes LQVGA HVGA ‣ 2.5”, 3”, 3.5”, 4”, 4.5”, 5.5”, 7”, 10” nHD ‣ screen aspect ratio WVGA FWVGA ‣ 4:3, 16:9 (wide-screen), 5:3 (eur wide) VGA ‣ screen pixel density DVGA QHD ‣ Low density: 100 - 130 dpi WSVGA ‣ Medium density: 130 - 180 dpi HD XGA ‣ High density: 180 - 270 dpi WXGA ‣ Ultra high density: 270 - 350 dpi QXGATuesday, May 29, 12
  • Tuesday, May 29, 12
  • Tuesday, May 29, 12
  • mobile javascript testingTuesday, May 29, 12
  • emulators mobilexweb.com/emulatorsTuesday, May 29, 12
  • friends lots of them and with different devicesTuesday, May 29, 12
  • virtual labs real devices on real networks www.perfectomobile.com www.deviceanywhere.comTuesday, May 29, 12
  • mobile javascript debuggingTuesday, May 29, 12
  • debugging tools Remote Web Inspector • BlackBerry Smartphones 7 • BlackBerry PlayBook • Google Chrome for Android 4 • Opera MobileTuesday, May 29, 12
  • debugging tools Adobe Shadow adobe.com/go/shadowTuesday, May 29, 12
  • debugging tools iwebinspector.comTuesday, May 29, 12
  • problems for us 1. It’s different 2. native vs. web 3. standards 4. vendors hate web developers 5. users hate web developersTuesday, May 29, 12
  • Tuesday, May 29, 12
  • Tuesday, May 29, 12
  • Tuesday, May 29, 12
  • Tuesday, May 29, 12
  • mobile web is slowPicture from Simon Howden freedigitalphotos.net!Tuesday, May 29, 12
  • Tuesday, May 29, 12
  • battery consumptionWW 2012 – Session: Mobile Web Performance April 16–20, 2012, Lyon, Fra 50 45 40 Energy (Joules) 35 30 25 20 15 10 5 0 live.com microsoft weather picasa baidu facebook imdb youtube go.com wall st. journal blogger 3G setup nytimes tumblr wikipedia apple ebay amazon gmail yahoo cnn bbc engadget natgeo wordpress aol Figure 6: Energy consumption of top websites Web site Comment % Battery Traffic (bytes) life Upload Download The resulting numbers are shown in Figure 6. Note that the e m.gmail.com inbox 0.41 9050 12048 bars are so small that they are barely visible. m.picasa.com m.aol.com Who Killed My Battery ~ mobilexweb.com/go/battery user albums portal home 0.43 0.59 8223 11927 15475 37085 The left most column in Figure 6 shows the energy neede set up a 3G connection and download a few bytes without any m.amazon.com product page 0.48 9523 26838 ditional processing. Since all navigation requests must setup a mobile.nytimes.com US home page 0.53 15386 66336 touch.facebook.com facebook wall 0.65 30214 81040 connection we treat this measurement as a baseline where th mw.weather.com Stanford weather 0.62 38253 134531 teresting differences between web sites are above this line. apple.com Tuesday, May 29, 12 home page 1.41 86888 716835 Figure 6 is generated from the mobile versions of the
  • battery consumption Amazon consumes 17% energy in a non used JS jQuery.js ~ 4 joules (0,02%) ~5000 jQuery parsings per charge Who Killed My Battery ~ mobilexweb.com/go/batteryTuesday, May 29, 12
  • DiscriminationTuesday, May 29, 12
  • Tuesday, May 29, 12
  • Tuesday, May 29, 12
  • problems for us 1. It’s different 2. native vs. web 3. standards 4. vendors hate web developers 5. users hate web developersTuesday, May 29, 12
  • some last advicesTuesday, May 29, 12
  • Tuesday, May 29, 12
  • performance, performanceTuesday, May 29, 12
  • good practicesTuesday, May 29, 12
  • don’t be fanatic photo by Kurt Christensen (flickr)Tuesday, May 29, 12
  • be multiplatformTuesday, May 29, 12
  • be futurefriend.lyTuesday, May 29, 12
  • you can reach a good thank you! experience firt.mobi Tomorrow firtman@gmail.com 10.30am twitter: @firt www.mobilexweb.com Book signing Pictures)from)freedigitalphotos.net)Tuesday, May 29, 12