200 likes | 331 Views
Honing In on Multiple Targets with a Single Codebase. Jeff Tapper Senior Technologist Digital Primates. Spending less on building applications frees more capital to market them. Agenda. The multi-device landscape The cost of doing business Understanding AIR AIR Destinations
E N D
Honing In on Multiple Targets with a Single Codebase Jeff Tapper Senior Technologist Digital Primates Spending less on building applications frees more capital to market them
Agenda • The multi-device landscape • The cost of doing business • Understanding AIR • AIR Destinations • Freeing up capital with AIR
The Multi Device Landscape • Web applications are no longer enough • iPhone/iPad (iOS) is no longer enough • Android now exceeds iOS in market share • Your clients are not just using computers • Business demands applications on phones, tablets, and other devices • Each device requires different programming languages
Multi Device Landscape • Native Android Apps are Java • Native iOS Apps are Obj. C • Native Desktop Apps come in many languages • Consider Blackberry, Smart TVs, Connected BlueRay players, etc.
The Cost of Doing Business • Deploying to all these devices gets expensive very quickly. • Moderately complex applications cost $50-150k per platform • Complex applications often cost $500k-1M/platform • Developing Apps to run in several platforms is often cost prohibitive • Unless you consider the cost of not doing it • Maintenance costs 10-20% of project budget annually, per platform
Case Study • SnagFilms - The leading digital distributor of independent films, with a library of over 2,300 files • Has existing web application • Has existing iPad application • Needs to extend their reach to other devices. • Target Platforms: • Android Phones • Android Tablets • Blackberry Tablet • Smart TVs
Case Study • The existing Applications each have independent code bases. • Each existing application cost a lot • Each application has separate annual maintenance costs
One App, Several Screens Android Blackberry Smart TV’s
Understanding AIR • AIR (Adobe Integrated Runtime) is a Freely available cross platform runtime. • First Release in Feb 2008 • Most recent release June 2011 • Uses common programming languages: ActionScript, Flex, HTML and JavaScript • Applications written for web can be deployed to AIR • Can be deployed to multiple devices
FMS and Flash/AIR • Flash Media Server provides the video • Consumed By: • Flash Player • AIR • HTML5 • iOS • Etc.
Understanding AIR • At Digital Primates, we have built AIR applications for: • International Investment Banks • Hospital Information Systems • Major TV Networks/movie studios • Major Insurance Companies • DoD Contractors • Major Consumer Electronics • Etc.
Desktop Applications • AIR application can be deployed to run on Windows or MacOS with one codebase • Native Extensions • Ex: Contact Management Application with hooks into IP Phone system and Outlook Client which tracks all interaction with contacts, displays calling cards for incoming and outgoing calls.
Android Devices • AIR 2.6 added mobile support -- AIR for Android • Available for all Android 2.2 and newer devices • Currently supported on 20+ tablets and hundreds of phones. • Additional capabilities above and beyond Desktop AIR (GPS, Accelerometer, Multi-touch, Camera, etc.)
iOS Devices • Current Versions of AIR now support deployment to iOS (iPad, iPhone 4, iPod Touch) • AIR for iOS applications are ubiquitous
Other Devices • Current (or imminent releases) of AIR also support: • Blackberry Playbook • Smart TVs • Blue Ray players • And much more
Case Study – Snag Films • Chose AIR -- one technology provides 4 applications • Single code base for 4 applications reduces their costs by a factor 3.5 • Maintenance costs reduced by a factor of 4 • Even considering replacing iOS application with AIR, which will introduce even more savings.
Turn Reduced Costs to Growth • Companies have a choice: • Ignore customers on devices • Build separate apps for each device • Build a unified codebase to deploy to all • The cost savings of unified codebase is multiplied for each platform you need to support • Use this capital to grow your business
Summary • Developing and Maintaining quality applications is expensive • Building many applications with a single code base can greatly reduce costs • A unified codebase reduces number of development teams needed • Use savings to re-invest in growth/marketing/etc.