mtc spring 2013 - crossplatform woes - robert virkus - 2013-03-13
DESCRIPTION
Crossplatform development is not for the faint hearted. Join Robert on a journey to the challenges and strategies for cross-platform development. Note: without audio this presentation is, er, lacking somewhat.TRANSCRIPT
![Page 1: MTC Spring 2013 - crossplatform woes - robert virkus - 2013-03-13](https://reader033.vdocuments.us/reader033/viewer/2022060110/5560b8b0d8b42aef3b8b4b8a/html5/thumbnails/1.jpg)
Grenzen der Crossplattform-Entwicklung
Robert Virkus@robert_virkus
14:15 (naja, so ungefähr) - 15:15
Robert VirkusVor dem Steintor 21828203 BremenGermany
+49 (0)421 98 89 131+49 (0)421 98 89 132+49 (0)160 77 88 203
TelFax
Mobile
ENOUGHSO F T WA R E
Robert VirkusVor dem Steintor 21828203 BremenGermany
+49 (0)421 98 89 131+49 (0)421 98 89 132+49 (0)160 77 88 203
TelFax
Mobile
ENOUGHSO F T WA R E
![Page 2: MTC Spring 2013 - crossplatform woes - robert virkus - 2013-03-13](https://reader033.vdocuments.us/reader033/viewer/2022060110/5560b8b0d8b42aef3b8b4b8a/html5/thumbnails/2.jpg)
Enough Software
A Team of Mobile Enthusiasts
Headquarter: Bremen, Germany Customer base: worldwide
![Page 3: MTC Spring 2013 - crossplatform woes - robert virkus - 2013-03-13](https://reader033.vdocuments.us/reader033/viewer/2022060110/5560b8b0d8b42aef3b8b4b8a/html5/thumbnails/3.jpg)
2005-4,600 M
Earth forms-3,500 MLife forms
-2,000 MComplex life forms
-225 until -65 MAge of dinosaurs
-3 MStone age
![Page 4: MTC Spring 2013 - crossplatform woes - robert virkus - 2013-03-13](https://reader033.vdocuments.us/reader033/viewer/2022060110/5560b8b0d8b42aef3b8b4b8a/html5/thumbnails/4.jpg)
![Page 5: MTC Spring 2013 - crossplatform woes - robert virkus - 2013-03-13](https://reader033.vdocuments.us/reader033/viewer/2022060110/5560b8b0d8b42aef3b8b4b8a/html5/thumbnails/5.jpg)
![Page 6: MTC Spring 2013 - crossplatform woes - robert virkus - 2013-03-13](https://reader033.vdocuments.us/reader033/viewer/2022060110/5560b8b0d8b42aef3b8b4b8a/html5/thumbnails/6.jpg)
Our products
Open Source Tools for App Developers
The standard framework for Java ME development
Automatic porting to Android and BlackBerry
More than 1 million downloads
Rich UI Library for Samsungs bada platform
Native API extensions optimize app performance
Native BlackBerry UI development made easy
J2ME Polish
![Page 7: MTC Spring 2013 - crossplatform woes - robert virkus - 2013-03-13](https://reader033.vdocuments.us/reader033/viewer/2022060110/5560b8b0d8b42aef3b8b4b8a/html5/thumbnails/7.jpg)
![Page 8: MTC Spring 2013 - crossplatform woes - robert virkus - 2013-03-13](https://reader033.vdocuments.us/reader033/viewer/2022060110/5560b8b0d8b42aef3b8b4b8a/html5/thumbnails/8.jpg)
Non-Profit Project
Mobile Developer’s Guide to the GalaxyThe popular, and free, handbook for developers and decision makers
Community-driven, objective, and non-profit
45,000 hardcopies distributed, over 100k in downloads
12th Edition out now
Download at enough.de/mdgg
Tweet about it #mdgg
![Page 9: MTC Spring 2013 - crossplatform woes - robert virkus - 2013-03-13](https://reader033.vdocuments.us/reader033/viewer/2022060110/5560b8b0d8b42aef3b8b4b8a/html5/thumbnails/9.jpg)
The Difficulties of Going cross-Platform
(c) Madlen Ehrlich
![Page 10: MTC Spring 2013 - crossplatform woes - robert virkus - 2013-03-13](https://reader033.vdocuments.us/reader033/viewer/2022060110/5560b8b0d8b42aef3b8b4b8a/html5/thumbnails/10.jpg)
Mobile Platforms
J2ME
![Page 11: MTC Spring 2013 - crossplatform woes - robert virkus - 2013-03-13](https://reader033.vdocuments.us/reader033/viewer/2022060110/5560b8b0d8b42aef3b8b4b8a/html5/thumbnails/11.jpg)
Mobile Platforms
![Page 12: MTC Spring 2013 - crossplatform woes - robert virkus - 2013-03-13](https://reader033.vdocuments.us/reader033/viewer/2022060110/5560b8b0d8b42aef3b8b4b8a/html5/thumbnails/12.jpg)
Cross-Platform Challenges
1. Programming Languages2. Features3. In app purchase4. In app advertisement5. Push Notifications6. Desktop Integration7. UI & UX8. OS Versions
![Page 13: MTC Spring 2013 - crossplatform woes - robert virkus - 2013-03-13](https://reader033.vdocuments.us/reader033/viewer/2022060110/5560b8b0d8b42aef3b8b4b8a/html5/thumbnails/13.jpg)
10
Objective-C
C/C++
C#
Java
JavaScript
Challenge:Programming Languages
![Page 14: MTC Spring 2013 - crossplatform woes - robert virkus - 2013-03-13](https://reader033.vdocuments.us/reader033/viewer/2022060110/5560b8b0d8b42aef3b8b4b8a/html5/thumbnails/14.jpg)
Challenge:In-App Purchase
![Page 15: MTC Spring 2013 - crossplatform woes - robert virkus - 2013-03-13](https://reader033.vdocuments.us/reader033/viewer/2022060110/5560b8b0d8b42aef3b8b4b8a/html5/thumbnails/15.jpg)
Challenge:In-App Advertisement
![Page 16: MTC Spring 2013 - crossplatform woes - robert virkus - 2013-03-13](https://reader033.vdocuments.us/reader033/viewer/2022060110/5560b8b0d8b42aef3b8b4b8a/html5/thumbnails/16.jpg)
0
1024
2048
3072
4096
5120
6144
7168
8192
Max Push Size in Bytes
iOS AndroidWindows Phone BlackBerry
Data size from 256 bytes to 8kb Different transport protocolsDifferent options (direct text, data)Different desktop visualisations (badges, notifications)
Challenge:Push Notifications
![Page 17: MTC Spring 2013 - crossplatform woes - robert virkus - 2013-03-13](https://reader033.vdocuments.us/reader033/viewer/2022060110/5560b8b0d8b42aef3b8b4b8a/html5/thumbnails/17.jpg)
Challenge:Features
J2ME
![Page 18: MTC Spring 2013 - crossplatform woes - robert virkus - 2013-03-13](https://reader033.vdocuments.us/reader033/viewer/2022060110/5560b8b0d8b42aef3b8b4b8a/html5/thumbnails/18.jpg)
realistic vs digital design
Challenge:UI & UX: Design Paradigm
![Page 19: MTC Spring 2013 - crossplatform woes - robert virkus - 2013-03-13](https://reader033.vdocuments.us/reader033/viewer/2022060110/5560b8b0d8b42aef3b8b4b8a/html5/thumbnails/19.jpg)
Challenge:UI & UX: Desktop Integration
![Page 20: MTC Spring 2013 - crossplatform woes - robert virkus - 2013-03-13](https://reader033.vdocuments.us/reader033/viewer/2022060110/5560b8b0d8b42aef3b8b4b8a/html5/thumbnails/20.jpg)
Challenge:UI & UX sample: Long Lists
![Page 21: MTC Spring 2013 - crossplatform woes - robert virkus - 2013-03-13](https://reader033.vdocuments.us/reader033/viewer/2022060110/5560b8b0d8b42aef3b8b4b8a/html5/thumbnails/21.jpg)
Challenge:UI & UX: Navigation Keys
![Page 22: MTC Spring 2013 - crossplatform woes - robert virkus - 2013-03-13](https://reader033.vdocuments.us/reader033/viewer/2022060110/5560b8b0d8b42aef3b8b4b8a/html5/thumbnails/22.jpg)
Challenge:OS Versions
2.34.x
5.x6.x
7.58.x
6.x7.x10
The platforms themselves evolve all the time
![Page 23: MTC Spring 2013 - crossplatform woes - robert virkus - 2013-03-13](https://reader033.vdocuments.us/reader033/viewer/2022060110/5560b8b0d8b42aef3b8b4b8a/html5/thumbnails/23.jpg)
Cross-Platform Strategies
1. Native2. HTML 53. ANSI C4. Cross-platform tools
![Page 24: MTC Spring 2013 - crossplatform woes - robert virkus - 2013-03-13](https://reader033.vdocuments.us/reader033/viewer/2022060110/5560b8b0d8b42aef3b8b4b8a/html5/thumbnails/24.jpg)
Native Apps1 team per platform
Best integrationBest reachBut: most effort
Photos (left to right):(c) Julian Fong/levork flickr.com/photos/levork/4074351034(c) Julian Fong/levork flickr.com/photos/levork/3023757995(c) Julian Fong/levork flickr.com/photos/levork/2697173209
![Page 25: MTC Spring 2013 - crossplatform woes - robert virkus - 2013-03-13](https://reader033.vdocuments.us/reader033/viewer/2022060110/5560b8b0d8b42aef3b8b4b8a/html5/thumbnails/25.jpg)
verious.com
![Page 26: MTC Spring 2013 - crossplatform woes - robert virkus - 2013-03-13](https://reader033.vdocuments.us/reader033/viewer/2022060110/5560b8b0d8b42aef3b8b4b8a/html5/thumbnails/26.jpg)
chupamobile.com
![Page 27: MTC Spring 2013 - crossplatform woes - robert virkus - 2013-03-13](https://reader033.vdocuments.us/reader033/viewer/2022060110/5560b8b0d8b42aef3b8b4b8a/html5/thumbnails/27.jpg)
cocoacontrols.com
![Page 28: MTC Spring 2013 - crossplatform woes - robert virkus - 2013-03-13](https://reader033.vdocuments.us/reader033/viewer/2022060110/5560b8b0d8b42aef3b8b4b8a/html5/thumbnails/28.jpg)
Native AppsAsset Sharing
Concept & ResourcesData structures & algorithmsCode sharing of business model
![Page 29: MTC Spring 2013 - crossplatform woes - robert virkus - 2013-03-13](https://reader033.vdocuments.us/reader033/viewer/2022060110/5560b8b0d8b42aef3b8b4b8a/html5/thumbnails/29.jpg)
Who’s Gonna pay For it?!
(c) mac_filko flickr.com/photos/mac_filko/6405755185
![Page 30: MTC Spring 2013 - crossplatform woes - robert virkus - 2013-03-13](https://reader033.vdocuments.us/reader033/viewer/2022060110/5560b8b0d8b42aef3b8b4b8a/html5/thumbnails/30.jpg)
App Stores!=
Freedom
(c) Pascal/pasukaru76 flickr.com/photos/pasukaru76/3926591032
![Page 31: MTC Spring 2013 - crossplatform woes - robert virkus - 2013-03-13](https://reader033.vdocuments.us/reader033/viewer/2022060110/5560b8b0d8b42aef3b8b4b8a/html5/thumbnails/31.jpg)
The Holy Grail
(c) Daniel Novta/pj_vanf flickr.com/photos/vanf/6227607167
![Page 32: MTC Spring 2013 - crossplatform woes - robert virkus - 2013-03-13](https://reader033.vdocuments.us/reader033/viewer/2022060110/5560b8b0d8b42aef3b8b4b8a/html5/thumbnails/32.jpg)
ANNO 2011
(c) Do-Hyun Kim/stick_kim flickr.com/photos/stickkim/6013799664
![Page 33: MTC Spring 2013 - crossplatform woes - robert virkus - 2013-03-13](https://reader033.vdocuments.us/reader033/viewer/2022060110/5560b8b0d8b42aef3b8b4b8a/html5/thumbnails/33.jpg)
ANNO 2011
(c) Do-Hyun Kim/stick_kim flickr.com/photos/stickkim/6013799664
Source: http://app.ft.com
![Page 34: MTC Spring 2013 - crossplatform woes - robert virkus - 2013-03-13](https://reader033.vdocuments.us/reader033/viewer/2022060110/5560b8b0d8b42aef3b8b4b8a/html5/thumbnails/34.jpg)
“I think the biggest mistake we made as a company is betting too much on HTML5
as opposed to native.”
Source: http://www.forbes.com/sites/jjcolao/2012/09/19/facebooks-html5-dilemma-explained photo (c) kris krüg/kk+ flickr.com/photos/kk/2326609919
![Page 35: MTC Spring 2013 - crossplatform woes - robert virkus - 2013-03-13](https://reader033.vdocuments.us/reader033/viewer/2022060110/5560b8b0d8b42aef3b8b4b8a/html5/thumbnails/35.jpg)
Beware of the Uncanny Valley
(c) Gnsin en.wikipedia.org/wiki/File:HONDA_ASIMO.jpg
![Page 36: MTC Spring 2013 - crossplatform woes - robert virkus - 2013-03-13](https://reader033.vdocuments.us/reader033/viewer/2022060110/5560b8b0d8b42aef3b8b4b8a/html5/thumbnails/36.jpg)
Beware of the Uncanny Valley
(c) Gnsin en.wikipedia.org/wiki/File:Actroid-DER_01.jpg
![Page 37: MTC Spring 2013 - crossplatform woes - robert virkus - 2013-03-13](https://reader033.vdocuments.us/reader033/viewer/2022060110/5560b8b0d8b42aef3b8b4b8a/html5/thumbnails/37.jpg)
Beware of the Uncanny Valley
Source: http://en.wikipedia.org/w/index.php?title=File:Mori_Uncanny_Valley.svg
![Page 38: MTC Spring 2013 - crossplatform woes - robert virkus - 2013-03-13](https://reader033.vdocuments.us/reader033/viewer/2022060110/5560b8b0d8b42aef3b8b4b8a/html5/thumbnails/38.jpg)
Beware of the Uncanny Valley
Sources: http://snippetspace.com/portfolio/iwebkit/ http://www.jqtouch.com/ http://itabbar.com/
![Page 39: MTC Spring 2013 - crossplatform woes - robert virkus - 2013-03-13](https://reader033.vdocuments.us/reader033/viewer/2022060110/5560b8b0d8b42aef3b8b4b8a/html5/thumbnails/39.jpg)
(c) mac_filko flickr.com/photos/mac_filko/5494761933
Security
![Page 41: MTC Spring 2013 - crossplatform woes - robert virkus - 2013-03-13](https://reader033.vdocuments.us/reader033/viewer/2022060110/5560b8b0d8b42aef3b8b4b8a/html5/thumbnails/41.jpg)
Content Heavy
(c) Pascal/pasukaru76 flickr.com/photos/pasukaru76/5268559005
![Page 42: MTC Spring 2013 - crossplatform woes - robert virkus - 2013-03-13](https://reader033.vdocuments.us/reader033/viewer/2022060110/5560b8b0d8b42aef3b8b4b8a/html5/thumbnails/42.jpg)
(c) Do-Hyun Kim/stick_kim flickr.com/photos/stickkim/6013799664
Content that needs Freedom
![Page 43: MTC Spring 2013 - crossplatform woes - robert virkus - 2013-03-13](https://reader033.vdocuments.us/reader033/viewer/2022060110/5560b8b0d8b42aef3b8b4b8a/html5/thumbnails/43.jpg)
HybridSuper Power
(c) Julian Fong/levork flickr.com/photos/levork/4074351034
![Page 44: MTC Spring 2013 - crossplatform woes - robert virkus - 2013-03-13](https://reader033.vdocuments.us/reader033/viewer/2022060110/5560b8b0d8b42aef3b8b4b8a/html5/thumbnails/44.jpg)
Native HTML5
Past Future
![Page 45: MTC Spring 2013 - crossplatform woes - robert virkus - 2013-03-13](https://reader033.vdocuments.us/reader033/viewer/2022060110/5560b8b0d8b42aef3b8b4b8a/html5/thumbnails/45.jpg)
C-Level
ANSI everywhereWrapper for native functions...pretty hardcore
(c) Anthony/pfarrell95 flickr.com/photos/65005341@N03/6159914280
![Page 46: MTC Spring 2013 - crossplatform woes - robert virkus - 2013-03-13](https://reader033.vdocuments.us/reader033/viewer/2022060110/5560b8b0d8b42aef3b8b4b8a/html5/thumbnails/46.jpg)
Cross-Platform Tools
Games Are From Mars ApPs From Venus
Photos (left to right)(c) mac_filko flickr.com/photos/mac_filko/5034317866(c) mac_filko flickr.com/photos/mac_filko/5125597527
![Page 47: MTC Spring 2013 - crossplatform woes - robert virkus - 2013-03-13](https://reader033.vdocuments.us/reader033/viewer/2022060110/5560b8b0d8b42aef3b8b4b8a/html5/thumbnails/47.jpg)
Game Engines
![Page 48: MTC Spring 2013 - crossplatform woes - robert virkus - 2013-03-13](https://reader033.vdocuments.us/reader033/viewer/2022060110/5560b8b0d8b42aef3b8b4b8a/html5/thumbnails/48.jpg)
App Tools
![Page 49: MTC Spring 2013 - crossplatform woes - robert virkus - 2013-03-13](https://reader033.vdocuments.us/reader033/viewer/2022060110/5560b8b0d8b42aef3b8b4b8a/html5/thumbnails/49.jpg)
Mono Touch & Mono Droid
C# for , and Shared libraries for business logicOpenTK cross UI or native UIFull native access
Problems
Know-how for both worlds requiredTargeting different OS versions at once not possible
![Page 50: MTC Spring 2013 - crossplatform woes - robert virkus - 2013-03-13](https://reader033.vdocuments.us/reader033/viewer/2022060110/5560b8b0d8b42aef3b8b4b8a/html5/thumbnails/50.jpg)
Mono Touch & Mono Droid
Verdict
For C# expertsUsefulness depends on complexity of business logic
Language Features In app purchase
In app ads Push Desktop Native UI
![Page 51: MTC Spring 2013 - crossplatform woes - robert virkus - 2013-03-13](https://reader033.vdocuments.us/reader033/viewer/2022060110/5560b8b0d8b42aef3b8b4b8a/html5/thumbnails/51.jpg)
Titanium
JavaScript for , and mobile webAccess to some native UI elements Custom Titanium APIProduces native code
ProblemsStability / memory managementNo DOM tree or other browser featuresFeatureset differs between iOS and Android
![Page 52: MTC Spring 2013 - crossplatform woes - robert virkus - 2013-03-13](https://reader033.vdocuments.us/reader033/viewer/2022060110/5560b8b0d8b42aef3b8b4b8a/html5/thumbnails/52.jpg)
Language Features In app purchase
In app ads Push Desktop Native UI
Titanium
VerdictGreat for prototyping & simple apps
![Page 53: MTC Spring 2013 - crossplatform woes - robert virkus - 2013-03-13](https://reader033.vdocuments.us/reader033/viewer/2022060110/5560b8b0d8b42aef3b8b4b8a/html5/thumbnails/53.jpg)
Corona
Lua script for , Access to some native UI elements Custom Corona APIBridge technology between native and Lua (Enterprise)
ProblemsVery limited native access in base SDKVery complex native access in Enterprise SDKFeatureset differs between iOS and Android
![Page 54: MTC Spring 2013 - crossplatform woes - robert virkus - 2013-03-13](https://reader033.vdocuments.us/reader033/viewer/2022060110/5560b8b0d8b42aef3b8b4b8a/html5/thumbnails/54.jpg)
Language Features In app purchase
In app ads Push Desktop Native UI
Corona
Verdict
Rapid development for casual games & apps developersStrong community
![Page 55: MTC Spring 2013 - crossplatform woes - robert virkus - 2013-03-13](https://reader033.vdocuments.us/reader033/viewer/2022060110/5560b8b0d8b42aef3b8b4b8a/html5/thumbnails/55.jpg)
Tools Check
Programming language
Native integration
Native UI paradigms
Use existing libraries
![Page 56: MTC Spring 2013 - crossplatform woes - robert virkus - 2013-03-13](https://reader033.vdocuments.us/reader033/viewer/2022060110/5560b8b0d8b42aef3b8b4b8a/html5/thumbnails/56.jpg)
Mobile OS
you
Is it worth it?
Your App Code
![Page 57: MTC Spring 2013 - crossplatform woes - robert virkus - 2013-03-13](https://reader033.vdocuments.us/reader033/viewer/2022060110/5560b8b0d8b42aef3b8b4b8a/html5/thumbnails/57.jpg)
Mobile OS Porting Tool
Your App Code
you
Is it worth it?
![Page 58: MTC Spring 2013 - crossplatform woes - robert virkus - 2013-03-13](https://reader033.vdocuments.us/reader033/viewer/2022060110/5560b8b0d8b42aef3b8b4b8a/html5/thumbnails/58.jpg)
how?
Choosing the right Cross-platform Strategy
![Page 59: MTC Spring 2013 - crossplatform woes - robert virkus - 2013-03-13](https://reader033.vdocuments.us/reader033/viewer/2022060110/5560b8b0d8b42aef3b8b4b8a/html5/thumbnails/59.jpg)
how?
Idea, Features & Content
Target Audience & Platforms
Competition
Marketing Budget
Developer Know-how
Choosing the right Cross-platform Strategy
![Page 60: MTC Spring 2013 - crossplatform woes - robert virkus - 2013-03-13](https://reader033.vdocuments.us/reader033/viewer/2022060110/5560b8b0d8b42aef3b8b4b8a/html5/thumbnails/60.jpg)
(No) Return of the Zombie Apps
Source: http://gigaom.com/europe/app-store-infested-with-zombie-software-claims-analytics-startup-adevenPhoto: (c) Mark Anderson/andertoons flickr.com/photos/andertoons-cartoons/4392594997
Zombie Alive
![Page 61: MTC Spring 2013 - crossplatform woes - robert virkus - 2013-03-13](https://reader033.vdocuments.us/reader033/viewer/2022060110/5560b8b0d8b42aef3b8b4b8a/html5/thumbnails/61.jpg)
Thanks! Questions?
Robert VirkusVor dem Steintor 21828203 BremenGermany
+49 (0)421 98 89 131+49 (0)421 98 89 132+49 (0)160 77 88 203
TelFax
Mobile
ENOUGHSO F T WA R E
Robert VirkusVor dem Steintor 21828203 BremenGermany
+49 (0)421 98 89 131+49 (0)421 98 89 132+49 (0)160 77 88 203
TelFax
Mobile
ENOUGHSO F T WA R E
Sögestr. 7028195 Bremen
www.enough.detwitter: @enoughsoftware
Robert Virkustwitter: @[email protected]
Download dev guide atenough.de/mdgg