Apps vs. Sites vs. Content - a vendor-agnostic view on building stuff for the mobile web
Apps vs Sites vs Content A vendor-agnostic view on building stu for the mobile web
What’s this all about?“A primer for managers, developers,business owners, architects on the mostlyconfusing world of mobile devices,mobile delivery platforms & the e ortsinvolved in monetizing the stu you’regoing to build or you’re going to spendin the year 2011”
Variations“Mobile is the new standard”“Don’t design for desktop, design formobile”“...to empower people through greatso ware, any time, any place and on anydevice...” (*) e app revolution??? Really???
Apple iOSiPhone 1, 3G, 3GS, 4iPad 1 and 2iPod TouchiOS v1 to v4 are out in the wild, v5 betaBased on OS X Mach kernelApple has and wants to keep full control
Google AndroidVarious device vendors (HTC, Samsung,Motorola, LG etc)Google doesn’t focus on hardwareFragmentationAndroid is Open SourceBased on Linux kernelNetwork operators and device vendorswant full control
Symbian OSConsortium-driven (but really Nokia)4+ ﬂavours: s40, s60, UIQ, MOAPHistory: EPOC (a PDA OS)Free of charge to licenseSome degree of OS fragmentationAlive and kicking
“ eres no chance thatthe iPhone is going to get any signiﬁcant market share. No chance.”
Windows Mobile/PhoneTraditionally various device vendorsPre WP 7: massive fragmentationLack of strategy within MicrosoBest of breed of MSFT technology stackWP 7 prescribes exact hardware specs
Common themesIDE (Editor and/or interface builder)CompilerDevice EmulatorQ: How do you (beta-)test?
Coding for iOSFor iOS 2+ XCode and iPhone SDKMac onlyObjective-C (or C) based on CocoaWell-supported but also well-controlledenvironmentCa. 90% iOS 4.x vs 10% iOS 3.x
Objective-C and C librariesCocoa Touch Camera, Accelerometer, Image Picker, Multi-Touch ...Media PDF, Video Player, Quartz, CoreAnimation ...Core Services NET, File Access, SQLite ...Core OS File System, Security, Mach, BSD C libraries
Coding for AndroidJava - but there’s no JVM: Dalvik VMAndroid SDK, usually in EclipseSDK per sub-release (usually)Variety of APIs, can become tricky dueto device and hardware fragmentationand OS versions/API levels in the wild
Coding for SymbianOSMajority: C++, Java or PythonNokia-provided SDKsIssue with OS ﬂavour fragmentationMany di erent hardware proﬁles around
Coding for WP 7Visual Studio 2010 Express for WPExpression Blend for WPC# and VB.NET (the latter not for free)XAML, Silverlight and XNAPromising due to deal with NokiaGoes well with MSFT stack
Application Object (Windows Phone 7 speciﬁc APIs)Silverlight (Presentation and Media) XNA (Game development)Common Base Class Library
Coding for RIMJava and custom APIs (Adobe AIR)Prop. tooling (rather complicated)Non-trivial deployment mechanismsClever move: Android sandbox
HistoryiOS 1 just allowed custom web apps“Make or break” (or jailbreak) e limitations of iOS 1 are what causedAjax-based mobile web apps to becomesuccessful.
Coding mobile JS appsLeverage HTML(5), JS, CSSjqTouch, JQuery Mobile, SenchaTouchVariety of CSS libs to create native look& feelsWebKit - used on all major platformsWebStorage API / LocalStorage APIGeoLocation API / Caching
Coding with Flash/AIRBy design cross-platformFlash CS5/5.5 to iOS packager (exporttool)Flash Player 10.x & AIR 2.7 on AndroidAIR is one of the major dev platforms onRIM’s playbook tabletFlex for mobile: v 4.5.1 (just released)
Flash Player on devicesDepending on the device: 10 / 10.1 / 10.2Molehill (3D) will ﬁnally come to mobileGame development!Leveraging lots of existing libs and code
AIR on devicesAIR 2.x: ﬁrst release of AIR for devicesNow at 2.7 -> even on iOSApps install as native apps and can besold through app stores
Recent ExampleFlash-based game engine built on Flixel1 hr to make it workiPad 2 - 20-25 fpsiPhone 4 - 5-7 fpsGoogle Nexus One - 10-12 fps
Recent ExampleFlash-based game engine built on FlixelA er about 6 hrs of optimisationiPad 2 - 30 fpsiPhone 4 - ca. 20 fpsGoogle Nexus One - ca. 20 fps
Coding with TitaniumSimilar idea as Flash PlatformCode in JS, compile to native appSupport for Android and iOS
Coding with PhoneGapBuild app in HTML/CSS/JSiOS, Android, BlackBerry, Palm,SymbianRequires underlying SDKs installed
How to deliver content?Again - need to monetize by selling“things” or maybe a subscription model?Text/Images on websitesPDF documentsInteractive Magazines (for instance viaAdobe’s Digital Publishing suite)
AppStoresIt’s unlikely that you’re going to becomerich. Not impossible though.General concept:BuildGet into platform’s dev program and getapproval for your appSell under a revenue sharing model
General rulesSome stores have requirement docs forapprovalUnstable apps, links to competition’sstores, objectionable (porn) content,racist and discriminating content areusually not approvedInvestigate the rules before you code!
Some numbersiTunes AppStore2010 - 2.5+ billion turnoverPrediction for 20136+ billion for iTunes AppStore17+ billion for all major platforms
More numbersiTunes AppStore: 340k+ appsNokia Ovi Store: 30k apps (+10k WP7)Android Market: around 200k appsAndroid Market has a huge momentumthough as the platform is growing
App PricingAvg purchase price: US$ 4.03Avg selling price of top 100: US$ 2.1445% of all apps are US$ 0.9919% US$ 1-2just 9% are US$ 7+
Revenue SharingCommon model: 70/30 splitBB AppWorld is di erent - concept ofindividual kiosks: 80/20 but then thekiosk owner also keeps a certain shareInteresting question: What’s the futuregonna be re the revenue sharing?
Pricing and legal stuApple: US$ 0 or US$ 0.99 - US$ 999MSFT: US$ 0 or US$ 0.99 - US$ 499Android: US$ 0 or US$ 0.99 - US$ 200Devs usually hardly have any rightsHaving to agree to overseas legal t&cs