2. Iāve been researching and trying to make
sense of the mobile space recently.
Started preparations in 2009 (with the creation of TestSwarm).
3. Cross-browser mobile web development is crazy.
(...but not nearly as crazy as it use to be.)
Iāve seen things...
4. A Simple Goal
ā¤ Started with a simple goal:
ā¤ To make sure that jQuery works on the most popular mobile
platforms and browsers.
ā¤ As it turns out, itās really hard to deļ¬ne the scope of the problem.
5. Questions: Answered
ā¤ Three questions that need to be answered before doing mobile
development:
ā¤ What platforms and browsers are popular?
ā¤ What browsers are capable of supporting modern scripting?
ā¤ What devices and simulators do I acquire to test with?
ā¤ To answer those questions we need good data.
6. Best Stats?
ā¤ Who has the best statistics on the mobile market?
ā¤ StatCounter and Gartner seem to be tops.
ā¤ StatCounter covers billions of hits per month.
ā¤ Gartner is well-respected and knows sale information well.
ā¤ AdMob is decent for speciļ¬c platforms (iPhone, Android).
ā¤ That being said: Very little actually-useful information leaks out.
7. Lack of Information
ā¤ Right now ļ¬nding this information is a challenge.
ā¤ As a result, developers develop for whatās in front of them:
12. Hard Question
ā¤ What versions of those browsers are popular?
ā¤ No one seems to know, or isnāt talking about it.
ā¤ Supposedly Yahoo is going to be releasing some
information soon, weāll see.
ā¤ Right now itās considered to be a competitive
advantage to keep it private.
13. Testing Strategy
ā¤ Draw a line in the sand
ā¤ Buy Devices, Download Simulators
ā¤ Automate testing (TestSwarm!)
14. Drawing a Line
ā¤ Yahoo!s Graded Browser Support technique is optimal.
ā¤ Qualify which browsers you will support (actively test against) and
give them a grade.
ā¤ A = Full support, C = Fall back to old site, Other = Assume full
support.
15.
16. My God... itās full of browsers...
Mobile Graded Browser Support: Market share + Browser quality
17. Testing Browsers
ā¤ Two options:
ā¤ Buy devices and/or
ā¤ Download simulators
ā¤ Simulators are good for most automated testing.
ā¤ Any sort of interaction testing youāll want to do on a physical device.
ā¤ Always good to do a sanity check on a physical device before going
live.
18. Simulators
ā¤ Simulators are available for most platforms and browsers.
ā¤ Most simulators require Windows to run (some require Perl or
Java)
ā¤ Some browsers even provide standalone executables (Opera, Fennec).
ā¤ Getting the simulators running can be a real bear.
19. Automated Testing
ā¤ Once you have simulators (or physical devices) up and running youāll
want to interact with them as little as possible.
ā¤ Automated test execution will be really important.
ā¤ TestSwarm was developed for this express purpose: Make it easy to
push tests out to a large number of clients (even mobile).
20. Platforms
ā¤ Symbian (S60 / UIQ)
ā¤ iPhone OS
ā¤ Blackberry OS
ā¤ Android
ā¤ Windows Mobile
ā¤ WebOS
ā¤ Maemo / Meego
22. Symbian S60
ā¤ The most popular mobile OS - heavily used by Nokia.
ā¤ v5.0 is for touch screen devices (Equiv. to Safari 3.1)
ā¤ v3.0 is the latest for āregularā devices (Equiv. to Safari 2.0)
ā¤ 2 āfeature packsā have been released
ā¤ The oldest, active, mobile browser that should be supported.
ā¤ Simulators available on Nokia.com.
24. Symbian UIQ
ā¤ A now-dead implementation of the Symbian OS last released in 2008.
ā¤ Appears to still be in use, some what, but quickly becoming
irrelevant.
ā¤ Uses Opera Mobile (8.6, 8.65) as its built-in browser.
ā¤ UIQ is dead and Nokia doesnāt distribute the simulator any more. I
found a guy in Russia that has some extra copies (totally legit, heh).
26. iPhone OS
ā¤ Appleās super-popular mobile OS
ā¤ Apple is very good about pushing
updates, almost all users are on the
latest OS version.
ā¤ Current with Safari 4
ā¤ A gotchya: Does not have ļ¬xed position support (making it difļ¬cult
to implement toolbars). Recommend: TouchScroll library.
ā¤ Simulator is part of the iPhone SDK.
28. Blackberry OS
ā¤ Blackberry continues to be enormously popular - and growing
rapidly.
ā¤ Ships with a custom browser, will be switching to a WebKit-based one
in 6.0.
ā¤ Anything older than Blackberry 4.6 is really frightening.
ā¤ Andrew Dupont calls 4.6 the ārubiconā.
ā¤ 4.6/4.7 have some strange quirks, 5.0 is pretty decent.
ā¤ Blackberry provides simulator downloads on their dev site.
30. Android
ā¤ Rapidly growing OS from Google.
ā¤ Tons of manufacturers are
modifying and shipping it.
ā¤ Expect Android to grow
drastically over the next couple
years.
ā¤ Lack of control has yielded
extreme version fracturing.
ā¤ Simulators are an easy download.
32. Windows Mobile
ā¤ Windows Mobile 6.5 is the current release.
ā¤ Uses IE 6 as its rendering engine.
ā¤ Window Mobile 7.0 is coming soon.
ā¤ Uses IE 7 as its rendering engine. :-( :-( :-( :,(
ā¤ Window Mobile 6.1 is still relatively popular but is based off of IE 4.0
- this is a non-starter.
ā¤ Windows Mobile 6.5 simulator is an easy download.
34. WebOS
ā¤ Palmās (HPās?) Mobile OS
ā¤ Has a minimal amount of traction.
ā¤ Built off of WebKit, easy to support.
ā¤ 1.4 simulator ships with 1.3 browser (wtf!?)
ā¤ Iām testing using a physical Palm Pre.
ā¤ Palm Pre simulator is an easy download.
A
35. Maemo / Meego
ā¤ Linux-based OS used for tablets (and
potentially phones). Used by Nokia.
ā¤ Not very popular.
ā¤ Has a browser called āMicroBā that C
uses Gecko.
ā¤ Mostly interesting as Fennec is
capable of running on it.
ā¤ Simulator requires Linux to run -
havenāt ļ¬gured it out yet.
36. Platform-Independent Browsers
ā¤ A number of browsers target multiple platforms. Some work directly
with carriers (Opera, Netfront) whereas others provide downloads
(Opera, Fennec).
ā¤ Opera
ā¤ Fennec
ā¤ Netfront
ā¤ Phonegap (App Platform)
37. Opera Mobile and Opera Mini
ā¤ Hugely popular mobile browser (especially Mini).
ā¤ Available on a large number of platforms.
ā¤ Even ships as the default browser on some.
ā¤ Opera Mobile and Opera Mini couldnāt be more different.
ā¤ Mobile is a full-featured browser.
ā¤ Mini is a gloriļ¬ed bitmap viewer.
ā¤ Pulls from a proxy, no JS executing on client.
39. Fennec
ā¤ Codename for Firefox on mobile
devices
ā¤ Released for Maemo, alpha release
out for Android (watch this!)
A B
ā¤ Equivalent to the latest releases of
Firefox Simulator is awesome!
40. Netfront
ā¤ Used on Playstation and N-Gage
ā¤ Download available for Windows Mobile.
ā¤ Highly crippled, custom, browser.
ā¤ Not worth supporting.
C
ā¤ Compatibility can be a real pain.
41. Phonegap
ā¤ Not a browser, a way to
develop cross-platform
applications.
ā¤ Uses WebKit as the rendering
engine.
ā¤ Use HTML/CSS/JS to
develop deployable apps.
A
ā¤ Quite popular, easy to
support.
42. Other Browsers
ā¤ Not worth the time for such small market share.
ā¤ Ozone (Uses WebKit)
ā¤ Openwave (Dead)
ā¤ Bolt (Uses WebKit)
C
ā¤ JIL (Uses WebKit, Widget Platform)
43.
44. Summary
ā¤ What do we need to support? Roughly:
ā¤ Opera 9.5, 10
ā¤ Internet Explorer 6, 7
ā¤ Firefox 3.5+
ā¤ Safari 2, 3, 4
ā¤ (and Blackberry... weeee...)
ā¤ Donāt assume itāll work, download the simulators and test!
45. What Devices to Buy?
ā¤ For A level:
ā¤ 1 iPhone 3GS: Latest running 3.x (* Watch for new 4.x iPhone)
ā¤ 1 iPad: Running 3.2
ā¤ 1 Nokia N97 Running S60v5
ā¤ 1 Palm Pre: Running 1.4
ā¤ 2 Android Phones: HTC Magic (1.5/1.6), Droid Incredible (2.1)
(* Watch for new 2.2 Android)
ā¤ And download the Opera and Fennec Simulators and Phonegap
47. What Devices to Buy?
ā¤ For B level (in addition to A level):
ā¤ 1 1st Gen iPhone: Running 2.x
ā¤ 1 Nokia N96: Running 3.0v2
ā¤ 3 Blackberry Devices: Curve 8900 (4.6), 2x Tour 9630 (4.7 and 5.0)
ā¤ 1 HTC HD2: Running Windows Mobile 6.5
48. B -Grade Costs
ā¤ $315 - 1st Gen iPhone
ā¤ $360 - Nokia N96
ā¤ $310 - Curve 8900
ā¤ $350 x 2 - Tour 9630
ā¤ $600 - HTC HD2
ā¤ Total: $2285
ā¤
A -Grade + B -Grade: $4854
49. More Information
ā¤ Coming Soon at:
ā¤ http://jquerymobile.com/
ā¤ See also:
ā¤ http://testswarm.com/ and
ā¤ http://swarm.jquery.org/
ā¤ And:
ā¤ http://quirksmode.org/m/