Presentation at GlueCon 2011 on May,25 2011.
Covering the questions developers should ask themselves before selecting from a range of technologies: native dev, cross-platform dev, wrapped web apps, write-once-run-anywhere
GlueCon'11 - Native vs Wrapped Mobile apps : What to Build ?
1. NATIVE vs WRAPPED APPSWhat to build ? Guilhem Ensuque Twitter: @gensuque_op Hashtags: #openplug, #gluecon Slides: http://slideshare.net/gensuque
2. Typical app story – episode 1 Boss: “I need an iPhone app !” Engineer: “OK I go learn Objective-C and do it …” Engineer (3 months later) : “Done !”
3. Boss: “Ah but… how about Android ?” Engineer: “I need to learn Java !” Boss: “I don’t have the money nor the time for that!” Typical app story – episode 2
19. A bit of self-advertising http://developer.openplug.com
Editor's Notes
Show of hands How many of you have developed a mobile app ? Who has developed for iPhone ? Who has developed for Android ? other platform ?
Tradeoff to be made between Resources (team available, money, time, skills, legacy code) Platforms (fragmentation, mobile vs tablet vs TV vs other, smartphonevs feature phone …) User Experience (tailored vs platform/context-specific, ease of distribution, integration with system …)
Good user experience drives engagement “Uncanny valley” effect : app UX has to be integrated with rest of the system, there’s no “close enough” integration, users will tell Distribution: app store vs web, issues of searchability, discoverability, monetisation
iPhone: native app with “close enough” to native UX, still feel disturbed as a useriPad: just a website, no app … very “uncanny”. Users expect gestures, photo gallery integration
Tradeoff to be made between Resources (team available, money, time, skills, legacy code) Platforms (fragmentation, mobile vs tablet vs TV vs other, smartphonevs feature phone …) User Experience (tailored vs platform/context-specific, ease of distribution, integration with system …)
Good resources to check:Asymco (Horace Dediu)Communities Dominate Brands (TomiAhonen)Analyst houses (Gartner, IDC, Forrester …)
Symbian still #1 worldwide, but major regional differences, Nokia announced its end of life after 150m units -> 2012 Android explosion but fragmentation due to OEM and operator variants + non-smartphone devices: tablets, TVs, embedded systems …iOShodling steady, Apple does not care about market share but about profits (with 5% market share of all devices they make up 35% of profit) RIM declining, trying to reinvent themselves with TAT acquisition, QNX, Playbook, HTML5, Android apps on BB -> looks like Nokia 3 years ago WP7: nice and cool, but low penetration, will Nokia help ?
Tradeoff to be made between Resources (team available, money, time, skills, legacy code) Platforms (fragmentation, mobile vs tablet vs TV vs other, smartphonevs feature phone …) User Experience (tailored vs platform/context-specific, ease of distribution, integration with system …)
Skills: C/C++/Obj-C, OpenGL, Java, J2ME, Android Java, Blackberry Java, Flash Lite, Flash, AIR, Silverlight/.NET/C#, Lua, Ruby, Javascript, HTML5/CSS3 Code reuse Tradeoff between time and money “GnotiSeoton” : Know Yourself – ask yourself the right questions, no single right or wrong answers
Wide spectrum of options Web site- “Write-once-run-everywhere” app: web app, Flash/AIR, Java/J2ME, Silverlight Wrapped web app: HTML5 + Sencha/jQueryMobile + PhoneGap/Apparat.io; BrightcoveAppCloud ?, RIM WebWorks, Nokia WRT, WAC Cross-platform native app: OpenPlug, Appcelerator, MonoTouch Native app: iOS SDK/xCode, Android SDK, BB SDK, Nokia S60 Carbide SDK
Technologies: Java, Flash/AIR, SilverlightAdvantages:Single devSame user experience on all devicesDrawbacks:Poor performanceUI not consistent with rest of platform“Uncanny Valley” effectCannot be distributed on all platforms/app stores (notably Apple)
Technologies: HTML5/CSS3, Frameworks:Sencha/jQuery Mobile, native extensions: PhoneGap, packaging: PhoneGap, Apparat.ioAdvantages:Single code baseUser experience tailoredCan be distributed on all platforms/app stores (notably Apple)Drawbacks:Performance so-so, getting better with faster JS enginesUI closeness dependent on selected framework, not quite there ?
Technologies: Alcatel-Lucent OpenPlug, Appcelerator Titanium , Novell MonoTouchAdvantages:Single code base / dev skill setUser experience adapted to platformVery good performanceDistribution through app storesDrawbacks:None ?Depends on your socratic answers
Technologies: Alcatel-Lucent OpenPlug, Appcelerator Titanium , Novell MonoTouchAdvantages:Single code base / dev skill setUser experience adapted to platformVery good performanceDistribution through app storesDrawbacks:None ?Depends on your socratic answers