SlideShare a Scribd company logo
Grenzen der
Crossplattform-Entwicklung



           Robert Virkus
          @robert_virkus
  14:15 (naja, so ungefähr) - 15:15
Enough Software

A Team of Mobile Enthusiasts




                       Headquarter: Bremen, Germany
                       Customer base: worldwide
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
MTC Spring 2013 -  crossplatform woes - robert virkus - 2013-03-13
MTC Spring 2013 -  crossplatform woes - robert virkus - 2013-03-13
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
MTC Spring 2013 -  crossplatform woes - robert virkus - 2013-03-13
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
The Difficulties of
                     Going cross-Platform



(c) Madlen Ehrlich
Mobile Platforms




              J2ME
Mobile Platforms
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
Challenge:
              Programming Languages

Objective-C

C/C++                                 10


C#

Java

JavaScript
Challenge:
In-App Purchase
Challenge:
In-App Advertisement
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
Challenge:
       Features




J2ME
Challenge:
UI & UX: Design Paradigm




  realistic vs digital design
Challenge:
UI & UX: Desktop Integration
Challenge:
UI & UX sample: Long Lists
Challenge:
UI & UX: Navigation Keys
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
Cross-Platform Strategies


  1. Native
  2. HTML 5
  3. ANSI C
  4. Cross-platform tools
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
verious.com
chupamobile.com
cocoacontrols.com
Native Apps
        Asset Sharing




Concept & Resources
Data structures & algorithms
Code sharing of business model
Who’s Gonna
                          pay For it?!




(c) mac_filko flickr.com/photos/mac_filko/6405755185
App Stores
                                                                   !=
                                                                Freedom




(c) Pascal/pasukaru76 flickr.com/photos/pasukaru76/3926591032
The Holy Grail




(c) Daniel Novta/pj_vanf flickr.com/photos/vanf/6227607167
ANNO 2011




(c) Do-Hyun Kim/stick_kim flickr.com/photos/stickkim/6013799664
ANNO 2011




Source: http://app.ft.com
(c) Do-Hyun Kim/stick_kim flickr.com/photos/stickkim/6013799664
“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
Beware of the
   Uncanny Valley




(c) Gnsin en.wikipedia.org/wiki/File:HONDA_ASIMO.jpg
Beware of the
   Uncanny Valley




(c) Gnsin en.wikipedia.org/wiki/File:Actroid-DER_01.jpg
Beware of the Uncanny Valley




Source: http://en.wikipedia.org/w/index.php?title=File:Mori_Uncanny_Valley.svg
Beware of the Uncanny Valley




Sources: http://snippetspace.com/portfolio/iwebkit/
http://www.jqtouch.com/
http://itabbar.com/
Security




(c) mac_filko flickr.com/photos/mac_filko/5494761933
Security




Source: www.filldisk.com
Content Heavy




(c) Pascal/pasukaru76 flickr.com/photos/pasukaru76/5268559005
Content that needs Freedom




(c) Do-Hyun Kim/stick_kim flickr.com/photos/stickkim/6013799664
Hybrid
                                                            Super Power




(c) Julian Fong/levork flickr.com/photos/levork/4074351034
Native HTML5

Past             Future
C-Level




                                                                       ANSI everywhere
                                                                       Wrapper for native functions
                                                                       ...pretty hardcore
(c) Anthony/pfarrell95 flickr.com/photos/65005341@N03/6159914280
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
Game Engines
App Tools
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
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
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
Titanium
Language     Features   In app       In app ads   Push   Desktop   Native UI
                        purchase




           Verdict
           Great for prototyping & simple apps
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
Corona
Language    Features   In app      In app ads   Push   Desktop   Native UI
                       purchase




           Verdict
           Rapid development for casual games & apps developers
           Strong community
Tools Check

Programming language

Native integration

Native UI paradigms

Use existing libraries
Is it worth it?



   Mobile OS


     you


 Your App Code
Is it worth it?



Mobile OS     Porting Tool


            you


     Your App Code
Choosing the right
Cross-platform Strategy



         how?
Choosing the right
      Cross-platform Strategy
                     how?

Idea, Features & Content

Target Audience & Platforms

Competition

Marketing Budget

Developer Know-how
(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
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

More Related Content

PDF
Apps vs. Sites vs. Content - a vendor-agnostic view on building stuff for the...
PDF
webinos and Open Ecosystems Open Governance
PPTX
Android a better OS
PDF
Smau milano 2012 arena social media emanuele-bolognesi
PDF
Machine Learning for Developers - Danilo Poccia - Codemotion Rome 2017
PDF
HTML5 for Mobile - When and Why
 
PPTX
Mobile Mantras
PPTX
Mobile Mantras: XD Best Practices for Mobile Development
Apps vs. Sites vs. Content - a vendor-agnostic view on building stuff for the...
webinos and Open Ecosystems Open Governance
Android a better OS
Smau milano 2012 arena social media emanuele-bolognesi
Machine Learning for Developers - Danilo Poccia - Codemotion Rome 2017
HTML5 for Mobile - When and Why
 
Mobile Mantras
Mobile Mantras: XD Best Practices for Mobile Development

What's hot (10)

PDF
Cross Platform Mobile Development
PDF
Windows Phone 7 Microsoft's Entrant to the Smartphone Wars
PDF
Building windows phone_apps_-_a_developers_guide_v7_no_cover
PPT
CASE STUDY: Leading the Pack in the Chinese and Western Markets
PPT
Cic Study
DOCX
The near future of real web applications
PDF
Hybrid Apps / iPhoneDevCon 2010
PPTX
Development of Mobile Application -PPT
PDF
Code and Conquer with Globe Labs, October 27, 2012
PDF
Camerjam mobile marketing masterclass 12snap
Cross Platform Mobile Development
Windows Phone 7 Microsoft's Entrant to the Smartphone Wars
Building windows phone_apps_-_a_developers_guide_v7_no_cover
CASE STUDY: Leading the Pack in the Chinese and Western Markets
Cic Study
The near future of real web applications
Hybrid Apps / iPhoneDevCon 2010
Development of Mobile Application -PPT
Code and Conquer with Globe Labs, October 27, 2012
Camerjam mobile marketing masterclass 12snap
Ad

Viewers also liked (7)

PPTX
KBA 3-5th Grade 2015
PPTX
Career directions
PDF
คู่มือการเลี้ยงไหมอีรี่ระดับฟาร์ม
PDF
Ugly truths about html5 moosecon - robert virkus - 2013-03-07
PPTX
Dr Seuss by Karen E. DeFrank
PPTX
Winter Olympics
PDF
Industrial design
KBA 3-5th Grade 2015
Career directions
คู่มือการเลี้ยงไหมอีรี่ระดับฟาร์ม
Ugly truths about html5 moosecon - robert virkus - 2013-03-07
Dr Seuss by Karen E. DeFrank
Winter Olympics
Industrial design
Ad

Similar to MTC Spring 2013 - crossplatform woes - robert virkus - 2013-03-13 (20)

KEY
Cross Platform Development with Xamarin
KEY
Philly ete-2011
PDF
Federico Lox Lucignano, War of the worlds web or native both
PDF
Creating mobile apps with Cordova for iOS, Android and BlackBerry 10
PDF
Hybrid App Development, Redefined
KEY
HTML5 is the Future of Mobile, PhoneGap Takes You There Today
PDF
Fragmentation in mobile design: fact or fiction
PDF
Cross platform mobile development with Corona
PDF
Where Do Cross-Platform App Frameworks Stand in 2020?
PDF
Mono for Android... for Google Devs
KEY
Stocktwits & Responsive Web Design, social network meets flexible framework
PDF
Mobile Backend Apps and APIs meetup London overview of BaaS APIs and discussi...
PDF
Future of Mobile Web Application and Web App Store
PDF
What lies ahead of HTML5_Ooop Munich 2013_Krzysztof Szafranek
PDF
What Lies Ahead for HTML5
KEY
Future of Mobile
PDF
HiUED 前端/web 發展和體驗
PDF
ITCamp 2013 - Petru Jucovschi - Application ecosystems
PDF
Siruna session at Drupalcon Paris 2009
PDF
Começando com Android
Cross Platform Development with Xamarin
Philly ete-2011
Federico Lox Lucignano, War of the worlds web or native both
Creating mobile apps with Cordova for iOS, Android and BlackBerry 10
Hybrid App Development, Redefined
HTML5 is the Future of Mobile, PhoneGap Takes You There Today
Fragmentation in mobile design: fact or fiction
Cross platform mobile development with Corona
Where Do Cross-Platform App Frameworks Stand in 2020?
Mono for Android... for Google Devs
Stocktwits & Responsive Web Design, social network meets flexible framework
Mobile Backend Apps and APIs meetup London overview of BaaS APIs and discussi...
Future of Mobile Web Application and Web App Store
What lies ahead of HTML5_Ooop Munich 2013_Krzysztof Szafranek
What Lies Ahead for HTML5
Future of Mobile
HiUED 前端/web 發展和體驗
ITCamp 2013 - Petru Jucovschi - Application ecosystems
Siruna session at Drupalcon Paris 2009
Começando com Android

Recently uploaded (20)

PPTX
Cloud computing and distributed systems.
PDF
KodekX | Application Modernization Development
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Machine learning based COVID-19 study performance prediction
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
NewMind AI Monthly Chronicles - July 2025
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
CIFDAQ's Market Insight: SEC Turns Pro Crypto
PPT
Teaching material agriculture food technology
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Review of recent advances in non-invasive hemoglobin estimation
PPTX
MYSQL Presentation for SQL database connectivity
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
PDF
Encapsulation theory and applications.pdf
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Cloud computing and distributed systems.
KodekX | Application Modernization Development
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Unlocking AI with Model Context Protocol (MCP)
Machine learning based COVID-19 study performance prediction
Dropbox Q2 2025 Financial Results & Investor Presentation
Diabetes mellitus diagnosis method based random forest with bat algorithm
NewMind AI Monthly Chronicles - July 2025
Chapter 3 Spatial Domain Image Processing.pdf
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Mobile App Security Testing_ A Comprehensive Guide.pdf
CIFDAQ's Market Insight: SEC Turns Pro Crypto
Teaching material agriculture food technology
Per capita expenditure prediction using model stacking based on satellite ima...
Review of recent advances in non-invasive hemoglobin estimation
MYSQL Presentation for SQL database connectivity
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
Encapsulation theory and applications.pdf
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx

MTC Spring 2013 - crossplatform woes - robert virkus - 2013-03-13

  • 1. Grenzen der Crossplattform-Entwicklung Robert Virkus @robert_virkus 14:15 (naja, so ungefähr) - 15:15
  • 2. Enough Software A Team of Mobile Enthusiasts Headquarter: Bremen, Germany Customer base: worldwide
  • 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
  • 9. The Difficulties of Going cross-Platform (c) Madlen Ehrlich
  • 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
  • 17. Challenge: Features J2ME
  • 18. Challenge: UI & UX: Design Paradigm realistic vs digital design
  • 19. Challenge: UI & UX: Desktop Integration
  • 20. Challenge: UI & UX sample: Long Lists
  • 21. Challenge: UI & UX: Navigation Keys
  • 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
  • 23. Cross-Platform Strategies 1. Native 2. HTML 5 3. ANSI C 4. Cross-platform tools
  • 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
  • 31. The Holy Grail (c) Daniel Novta/pj_vanf flickr.com/photos/vanf/6227607167
  • 32. ANNO 2011 (c) Do-Hyun Kim/stick_kim flickr.com/photos/stickkim/6013799664
  • 33. ANNO 2011 Source: http://app.ft.com (c) Do-Hyun Kim/stick_kim flickr.com/photos/stickkim/6013799664
  • 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/
  • 41. Content Heavy (c) Pascal/pasukaru76 flickr.com/photos/pasukaru76/5268559005
  • 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
  • 55. Tools Check Programming language Native integration Native UI paradigms Use existing libraries
  • 56. Is it worth it? Mobile OS you Your App Code
  • 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