Upload
others
View
5
Download
0
Embed Size (px)
Citation preview
Developing and Testing Mobile Applications
Mobile development choices
Outline
• Economics• Target Platforms• Environments• Testing• Languages• SDKs• Distribution• Fragmentation• Questions
Success
• Entry costs• Revenue potential
– Market size and ability to address– Payout
• Communication– App Stores vs. known web techniques
• Who is paying
Buyers
• (Developer perspective)
• B2B customers– App build, deploy, maintain
• B2C customers– App marketing
• Hierarchy– Mobile presence– Measurable RoI– Transactions
5
Source: Canalys estimates © Canalys 2011http://www.canalys.com/pr/2011/r2011013.html
Market Size
Economics 1
• Development costs, arbitrary units– Iphone 10– RIM 15– Android 16– Java Mobile 4-50– Web 5
• Native apps need deployment mechanism– App stores
• Web apps need server support– Another type of host facility...
Economics 2
• Cost to get web application to market– Server - plus development and test
• Cost to get native app to market– Platform build(s)– Store fees– Test and QA fees– SKU Management– Platform changes
Distribution Channels
Operators iPhoneAppstore
AndroidApp market
Web
Barrier to entry High, $$$ Sign agreement, $99
Sign agreement, $25
Open
Revenue Share 50/50 + 70/30 70/30 90%+
Payments sms/ wap billing
iTunes Google Checkout
Inconsistent
Releases Difficult ~1-4 weeks instant Instant
Restrictions Many Few little None
Presentation Limited, often very
Limited Limited Free
Online tools for mobile web
Sitetaga– Light, templated, easy to use– Build information sites for virtually all mobile
devices– Hosting included– Perfect presentation– Quick to load– Assists search rankings– Easy to get the user to the information
10
Application definition: utility
• What problem are you solving for your users?• Do not just make a list of features• Create an application definition at the start and
stick to it• Don't know for sure? Launch, evaluate, improve!
11
Native Coding: Pros
• Access to device features– Where supported by the SDK/platform– Sometimes these are the same
• Performance– Graphics: gaming, acceleration– CPU: computation
• Not necessarily needing net connectivity– Can run in offline modes
• Discoverability– Some benefits in having an app already on a
device
Web Applications
• Run in the browser, so by definition are limited to the browser's capability set– Which changes as time progresses...
• Written in web languages– Html, JavaScript, CSS– Web developers
• Exploit commonality of browser – but browsers are still fragmented– WebKit: is in the Nokia N73 and the iPhone
• Different type of moving target
Benefits of Web
• Fixable: maintenance server side• One size fits many• Trickery can make apps look light• Freedom
– From app store reliance
• Toolchain familiarity for developer– OS X, Windows, Linux,...
• Concerns, some of which are inherent to web:– Reliance on UA, where needed– XSS, Injection
Languages
• Java: Android• Objective C: iOS• J2ME: most mobile devices, BlackBerry• C++: Bada/Samsung• .NET: Windows Phone
• Symbian: Nokia (some Sony Ericsson, Samsung)
• Qt: Nokia
Depth of machinery
Web apps
Obj C
Java ME
Java
C++
.NET
Complexity/Capability
Flash
Speed to first deployment
SDK Comparison
Powerful
Weak
Hard Easy
Mobile Web
Hybrid Apps
IOS: Features or fragmentation?
• 2.x• 3.x• 3.2• 4.0 (iPhone 2g, first generation iPods)• 4.3 (iPhone 3g)• 5?
Android: Features or fragmentation?
20http://www.quirksmode.org/webkit.html
HTML5: a silver bullet?
Hybrids
• Blend app packaging and web app development– Attain web development with native app
packaging
• PhoneGap offers a stop-gap solution– Project objective: to not exist– Cross-platform Javascript/HTML deployment
• Jquery html simplification– Javascript library