Android vs. iPhone OS Zachary West Community

iPhone OS customer base: 85 million Android customer base: 5-10 million iPhone OS third-party apps: 190,000 Android third-party apps: 40,000

Android iPhone OS Application Count by Freedom

Rejected legitimate iPhone apps: Hundreds Unable to be installed outside App Store. Torrent remote control, Voice, etc. Removed Android apps: Tethering Apps Able to be installed outside Market. Can install any signed .apk from any source, except Backflip (AT&T). Life Under Apple

Approval dependent upon unstable Apple policy Restriction for morality, politics, adult-content, copyright violation, “duplicating” built-in applications Removal of release control from developers Human Interface Guideline enforcement Uniformity of behavior Prevents unexpected experience in all applications Life Under Google

Significant levels of spam in Android Market Little to no moderation of dangerous applications Poor browsing and discovery experience in Market Top-sellers make little profit compared to App Store Geared towards open-source or free applications Fully-integrated cloud experience Android OS Divergence

iPhone 2G 3.1.3 HTC G1 1.6

iPhone 3.1.3 Galaxy 1.5 HTC Hero/G2 1.6 (modified) iPhone 3GS 3.1.3 1.5 iPod Touch 1G 3.1.3 Samsung 5700 2.1 iPod Touch 2G 3.1.3 2.1 (3 months late) iPod Touch 3G 3.1.3 HTC Google N1 2.1

iPad 3.2 (iPad-only) Motorola Backflip 1.5 (modified) Environment

Objective-C vs. Java Retain/release vs. Garbage Collection Cocoa Touch libraries vs. Java libraries Integrated experience in Android OS Helper applications, multitasking Uniform experience in iPhone OS No application task management, common paradigms Notification System

Unified notification area in Android OS Download status, unread mail, unread SMS, current playing song, etc. Can delay until ready. Modal and generic notifications in iPhone OS Last notification on lock screen, while-running notification when unlocked; overrides previous. Cannot delay until ready. Punishing Developers

Apple: “Applications may only use Documented APIs in the manner prescribed by Apple and must not use or call any private APIs. Applications must be originally written in Objective-C, C, C++, or JavaScript as executed by the iPhone OS WebKit engine, and only code written in C, C++, and Objective-C may compile and directly link against the Documented APIs (e.g., Applications that link to Documented APIs through an intermediary translation or compatibility layer or tool are prohibited).” Welcoming Developers

Android NDK allows compiling native applications from other native-code languages, such as C and C++. Allows for including native-code implementations in programs executing on the Dalvik VM. Easy migration, re-use of large corpus of code.