Developing and Testing Mobile Applications · • 2.x • 3.x • 3.2 • 4.0 (iPhone 2g, first...

Post on 05-Jun-2020

0 views 0 download

transcript

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

Questions

Intohand LtdThe Innovation CentreCarpenter HouseBroadquayBathBA1 1UD

www.intohand.comtech@intohand.com