MTC Spring 2013 - crossplatform woes - robert virkus - 2013-03-13
- 3. 2005
-3 M
Stone age
-4,600 M -3,500 M -2,000 M -225 until -65 M
Earth forms Life forms Complex life forms Age of dinosaurs
- 6. Our products
Open Source Tools for App Developers
J2ME Polish
The standard framework for Rich UI Library for Native BlackBerry UI
Java ME development Samsungs bada platform development made easy
Automatic porting to Native API extensions
Android and BlackBerry optimize app performance
More than 1 million
downloads
- 8. Non-Profit Project
Mobile Developer’s Guide
to the Galaxy
The 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
- 12. Cross-Platform Challenges
1. Programming Languages
2. Features
3. In app purchase
4. In app advertisement
5. Push Notifications
6. Desktop Integration
7. UI & UX
8. OS Versions
- 13. Challenge:
Programming Languages
Objective-C
C/C++ 10
C#
Java
JavaScript
- 16. Challenge:
Push Notifications
8192
7168
6144 Data size from 256 bytes to 8kb
5120 Different transport protocols
4096
Different options (direct text, data)
3072
Different desktop visualisations
2048
(badges, notifications)
1024
0
Max Push Size in Bytes
iOS Android
Windows Phone BlackBerry
- 22. Challenge:
OS Versions
2.3 5.x 7.5 6.x
4.x 6.x 8.x 7.x
10
The platforms themselves evolve all the time
- 24. Native Apps
1 team per platform
Best integration
Best reach
But: 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
- 28. Native Apps
Asset Sharing
Concept & Resources
Data structures & algorithms
Code sharing of business model
- 29. Who’s Gonna
pay For it?!
(c) mac_filko flickr.com/photos/mac_filko/6405755185
- 30. App Stores
!=
Freedom
(c) Pascal/pasukaru76 flickr.com/photos/pasukaru76/3926591032
- 34. “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
- 35. Beware of the
Uncanny Valley
(c) Gnsin en.wikipedia.org/wiki/File:HONDA_ASIMO.jpg
- 36. Beware of the
Uncanny Valley
(c) Gnsin en.wikipedia.org/wiki/File:Actroid-DER_01.jpg
- 37. Beware of the Uncanny Valley
Source: http://en.wikipedia.org/w/index.php?title=File:Mori_Uncanny_Valley.svg
- 38. Beware of the Uncanny Valley
Sources: http://snippetspace.com/portfolio/iwebkit/
http://www.jqtouch.com/
http://itabbar.com/
- 42. Content that needs Freedom
(c) Do-Hyun Kim/stick_kim flickr.com/photos/stickkim/6013799664
- 43. Hybrid
Super Power
(c) Julian Fong/levork flickr.com/photos/levork/4074351034
- 45. C-Level
ANSI everywhere
Wrapper for native functions
...pretty hardcore
(c) Anthony/pfarrell95 flickr.com/photos/65005341@N03/6159914280
- 46. 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
- 49. Mono Touch & Mono Droid
C# for , and
Shared libraries for business logic
OpenTK cross UI or native UI
Full native access
Problems
Know-how for both worlds required
Targeting different OS versions at once not possible
- 50. Mono Touch & Mono Droid
Language Features In app In app ads Push Desktop Native UI
purchase
Verdict
For C# experts
Usefulness depends on complexity of business logic
- 51. Titanium
JavaScript for , and mobile web
Access to some native UI elements
Custom Titanium API
Produces native code
Problems
Stability / memory management
No DOM tree or other browser features
Featureset differs between iOS and Android
- 52. Titanium
Language Features In app In app ads Push Desktop Native UI
purchase
Verdict
Great for prototyping & simple apps
- 53. Corona
Lua script for ,
Access to some native UI elements
Custom Corona API
Bridge technology between native and Lua (Enterprise)
Problems
Very limited native access in base SDK
Very complex native access in Enterprise SDK
Featureset differs between iOS and Android
- 54. Corona
Language Features In app In app ads Push Desktop Native UI
purchase
Verdict
Rapid development for casual games & apps developers
Strong community
- 57. Is it worth it?
Mobile OS Porting Tool
you
Your App Code
- 59. Choosing the right
Cross-platform Strategy
how?
Idea, Features & Content
Target Audience & Platforms
Competition
Marketing Budget
Developer Know-how
- 60. (No) Return of the Zombie Apps
Zombie Alive
Source: http://gigaom.com/europe/app-store-infested-with-zombie-software-claims-analytics-startup-adeven
Photo: (c) Mark Anderson/andertoons flickr.com/photos/andertoons-cartoons/4392594997
- 61. Thanks! Questions?
Sögestr. 70
28195 Bremen
Download dev guide at www.enough.de
enough.de/mdgg twitter: @enoughsoftware
Robert Virkus
twitter: @robert_virkus
robert@enough.de