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

22
Developing and Testing Mobile Applications Mobile development choices

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

Page 1: Developing and Testing Mobile Applications · • 2.x • 3.x • 3.2 • 4.0 (iPhone 2g, first generation iPods) • 4.3 (iPhone 3g) • 5? Android: Features ... Hybrids • Blend

Developing and Testing Mobile Applications

Mobile development choices

Page 2: Developing and Testing Mobile Applications · • 2.x • 3.x • 3.2 • 4.0 (iPhone 2g, first generation iPods) • 4.3 (iPhone 3g) • 5? Android: Features ... Hybrids • Blend

Outline

• Economics• Target Platforms• Environments• Testing• Languages• SDKs• Distribution• Fragmentation• Questions

Page 3: Developing and Testing Mobile Applications · • 2.x • 3.x • 3.2 • 4.0 (iPhone 2g, first generation iPods) • 4.3 (iPhone 3g) • 5? Android: Features ... Hybrids • Blend

Success

• Entry costs• Revenue potential

– Market size and ability to address– Payout

• Communication– App Stores vs. known web techniques

• Who is paying

Page 4: Developing and Testing Mobile Applications · • 2.x • 3.x • 3.2 • 4.0 (iPhone 2g, first generation iPods) • 4.3 (iPhone 3g) • 5? Android: Features ... Hybrids • Blend

Buyers

• (Developer perspective)

• B2B customers– App build, deploy, maintain

• B2C customers– App marketing

• Hierarchy– Mobile presence– Measurable RoI– Transactions

Page 5: Developing and Testing Mobile Applications · • 2.x • 3.x • 3.2 • 4.0 (iPhone 2g, first generation iPods) • 4.3 (iPhone 3g) • 5? Android: Features ... Hybrids • Blend

5

Source: Canalys estimates © Canalys 2011http://www.canalys.com/pr/2011/r2011013.html

Market Size

Page 6: Developing and Testing Mobile Applications · • 2.x • 3.x • 3.2 • 4.0 (iPhone 2g, first generation iPods) • 4.3 (iPhone 3g) • 5? Android: Features ... Hybrids • Blend

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...

Page 7: Developing and Testing Mobile Applications · • 2.x • 3.x • 3.2 • 4.0 (iPhone 2g, first generation iPods) • 4.3 (iPhone 3g) • 5? Android: Features ... Hybrids • Blend

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

Page 8: Developing and Testing Mobile Applications · • 2.x • 3.x • 3.2 • 4.0 (iPhone 2g, first generation iPods) • 4.3 (iPhone 3g) • 5? Android: Features ... Hybrids • Blend

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

Page 9: Developing and Testing Mobile Applications · • 2.x • 3.x • 3.2 • 4.0 (iPhone 2g, first generation iPods) • 4.3 (iPhone 3g) • 5? Android: Features ... Hybrids • Blend

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

Page 10: Developing and Testing Mobile Applications · • 2.x • 3.x • 3.2 • 4.0 (iPhone 2g, first generation iPods) • 4.3 (iPhone 3g) • 5? Android: Features ... Hybrids • Blend

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!

Page 11: Developing and Testing Mobile Applications · • 2.x • 3.x • 3.2 • 4.0 (iPhone 2g, first generation iPods) • 4.3 (iPhone 3g) • 5? Android: Features ... Hybrids • Blend

11

Page 12: Developing and Testing Mobile Applications · • 2.x • 3.x • 3.2 • 4.0 (iPhone 2g, first generation iPods) • 4.3 (iPhone 3g) • 5? Android: Features ... Hybrids • Blend

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

Page 13: Developing and Testing Mobile Applications · • 2.x • 3.x • 3.2 • 4.0 (iPhone 2g, first generation iPods) • 4.3 (iPhone 3g) • 5? Android: Features ... Hybrids • Blend

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

Page 14: Developing and Testing Mobile Applications · • 2.x • 3.x • 3.2 • 4.0 (iPhone 2g, first generation iPods) • 4.3 (iPhone 3g) • 5? Android: Features ... Hybrids • Blend

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

Page 15: Developing and Testing Mobile Applications · • 2.x • 3.x • 3.2 • 4.0 (iPhone 2g, first generation iPods) • 4.3 (iPhone 3g) • 5? Android: Features ... Hybrids • Blend

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

Page 16: Developing and Testing Mobile Applications · • 2.x • 3.x • 3.2 • 4.0 (iPhone 2g, first generation iPods) • 4.3 (iPhone 3g) • 5? Android: Features ... Hybrids • Blend

Depth of machinery

Web apps

Obj C

Java ME

Java

C++

.NET

Complexity/Capability

Flash

Speed to first deployment

Page 17: Developing and Testing Mobile Applications · • 2.x • 3.x • 3.2 • 4.0 (iPhone 2g, first generation iPods) • 4.3 (iPhone 3g) • 5? Android: Features ... Hybrids • Blend

SDK Comparison

Powerful

Weak

Hard Easy

Mobile Web

Hybrid Apps

Page 18: Developing and Testing Mobile Applications · • 2.x • 3.x • 3.2 • 4.0 (iPhone 2g, first generation iPods) • 4.3 (iPhone 3g) • 5? Android: Features ... Hybrids • Blend

IOS: Features or fragmentation?

• 2.x• 3.x• 3.2• 4.0 (iPhone 2g, first generation iPods)• 4.3 (iPhone 3g)• 5?

Page 19: Developing and Testing Mobile Applications · • 2.x • 3.x • 3.2 • 4.0 (iPhone 2g, first generation iPods) • 4.3 (iPhone 3g) • 5? Android: Features ... Hybrids • Blend

Android: Features or fragmentation?

Page 20: Developing and Testing Mobile Applications · • 2.x • 3.x • 3.2 • 4.0 (iPhone 2g, first generation iPods) • 4.3 (iPhone 3g) • 5? Android: Features ... Hybrids • Blend

20http://www.quirksmode.org/webkit.html

HTML5: a silver bullet?

Page 21: Developing and Testing Mobile Applications · • 2.x • 3.x • 3.2 • 4.0 (iPhone 2g, first generation iPods) • 4.3 (iPhone 3g) • 5? Android: Features ... Hybrids • Blend

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

Page 22: Developing and Testing Mobile Applications · • 2.x • 3.x • 3.2 • 4.0 (iPhone 2g, first generation iPods) • 4.3 (iPhone 3g) • 5? Android: Features ... Hybrids • Blend

Questions

Intohand LtdThe Innovation CentreCarpenter HouseBroadquayBathBA1 1UD

[email protected]