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

618 views

Published on

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.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

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

  1. 1. Grenzen derCrossplattform-Entwicklung Robert Virkus @robert_virkus 14:15 (naja, so ungefähr) - 15:15
  2. 2. Enough SoftwareA Team of Mobile Enthusiasts Headquarter: Bremen, Germany Customer base: worldwide
  3. 3. 2005 -3 M Stone age -4,600 M -3,500 M -2,000 M -225 until -65 MEarth forms Life forms Complex life forms Age of dinosaurs
  4. 4. Our productsOpen Source Tools for App Developers J2ME PolishThe standard framework for Rich UI Library for Native BlackBerry UIJava ME development Samsungs bada platform development made easyAutomatic porting to Native API extensionsAndroid and BlackBerry optimize app performanceMore than 1 milliondownloads
  5. 5. Non-Profit ProjectMobile Developer’s Guideto the GalaxyThe popular, and free, handbook for developersand decision makersCommunity-driven, objective, and non-profit45,000 hardcopies distributed,over 100k in downloads12th Edition out nowDownload at enough.de/mdggTweet about it #mdgg
  6. 6. The Difficulties of Going cross-Platform(c) Madlen Ehrlich
  7. 7. Mobile Platforms J2ME
  8. 8. Mobile Platforms
  9. 9. 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
  10. 10. Challenge: Programming LanguagesObjective-CC/C++ 10C#JavaJavaScript
  11. 11. Challenge:In-App Purchase
  12. 12. Challenge:In-App Advertisement
  13. 13. Challenge: Push Notifications819271686144 Data size from 256 bytes to 8kb5120 Different transport protocols4096 Different options (direct text, data)3072 Different desktop visualisations2048 (badges, notifications)1024 0 Max Push Size in Bytes iOS Android Windows Phone BlackBerry
  14. 14. Challenge: FeaturesJ2ME
  15. 15. Challenge:UI & UX: Design Paradigm realistic vs digital design
  16. 16. Challenge:UI & UX: Desktop Integration
  17. 17. Challenge:UI & UX sample: Long Lists
  18. 18. Challenge:UI & UX: Navigation Keys
  19. 19. Challenge: OS Versions2.3 5.x 7.5 6.x4.x 6.x 8.x 7.x 10The platforms themselves evolve all the time
  20. 20. Cross-Platform Strategies 1. Native 2. HTML 5 3. ANSI C 4. Cross-platform tools
  21. 21. Native Apps 1 team per platform Best integration Best reach But: most effortPhotos (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
  22. 22. verious.com
  23. 23. chupamobile.com
  24. 24. cocoacontrols.com
  25. 25. Native Apps Asset SharingConcept & ResourcesData structures & algorithmsCode sharing of business model
  26. 26. Who’s Gonna pay For it?!(c) mac_filko flickr.com/photos/mac_filko/6405755185
  27. 27. App Stores != Freedom(c) Pascal/pasukaru76 flickr.com/photos/pasukaru76/3926591032
  28. 28. The Holy Grail(c) Daniel Novta/pj_vanf flickr.com/photos/vanf/6227607167
  29. 29. ANNO 2011(c) Do-Hyun Kim/stick_kim flickr.com/photos/stickkim/6013799664
  30. 30. ANNO 2011Source: http://app.ft.com(c) Do-Hyun Kim/stick_kim flickr.com/photos/stickkim/6013799664
  31. 31. “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-explainedphoto (c) kris krüg/kk+ flickr.com/photos/kk/2326609919
  32. 32. Beware of the Uncanny Valley(c) Gnsin en.wikipedia.org/wiki/File:HONDA_ASIMO.jpg
  33. 33. Beware of the Uncanny Valley(c) Gnsin en.wikipedia.org/wiki/File:Actroid-DER_01.jpg
  34. 34. Beware of the Uncanny ValleySource: http://en.wikipedia.org/w/index.php?title=File:Mori_Uncanny_Valley.svg
  35. 35. Beware of the Uncanny ValleySources: http://snippetspace.com/portfolio/iwebkit/http://www.jqtouch.com/http://itabbar.com/
  36. 36. Security(c) mac_filko flickr.com/photos/mac_filko/5494761933
  37. 37. SecuritySource: www.filldisk.com
  38. 38. Content Heavy(c) Pascal/pasukaru76 flickr.com/photos/pasukaru76/5268559005
  39. 39. Content that needs Freedom(c) Do-Hyun Kim/stick_kim flickr.com/photos/stickkim/6013799664
  40. 40. Hybrid Super Power(c) Julian Fong/levork flickr.com/photos/levork/4074351034
  41. 41. Native HTML5Past Future
  42. 42. C-Level ANSI everywhere Wrapper for native functions ...pretty hardcore(c) Anthony/pfarrell95 flickr.com/photos/65005341@N03/6159914280
  43. 43. Cross-Platform Tools Games Are From Mars ApPs From VenusPhotos (left to right)(c) mac_filko flickr.com/photos/mac_filko/5034317866(c) mac_filko flickr.com/photos/mac_filko/5125597527
  44. 44. Game Engines
  45. 45. App Tools
  46. 46. Mono Touch & Mono DroidC# for , andShared libraries for business logicOpenTK cross UI or native UIFull native accessProblemsKnow-how for both worlds requiredTargeting different OS versions at once not possible
  47. 47. Mono Touch & Mono DroidLanguage Features In app In app ads Push Desktop Native UI purchase Verdict For C# experts Usefulness depends on complexity of business logic
  48. 48. TitaniumJavaScript for , and mobile webAccess to some native UI elementsCustom Titanium APIProduces native codeProblemsStability / memory managementNo DOM tree or other browser featuresFeatureset differs between iOS and Android
  49. 49. TitaniumLanguage Features In app In app ads Push Desktop Native UI purchase Verdict Great for prototyping & simple apps
  50. 50. CoronaLua script for ,Access to some native UI elementsCustom 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
  51. 51. CoronaLanguage Features In app In app ads Push Desktop Native UI purchase Verdict Rapid development for casual games & apps developers Strong community
  52. 52. Tools CheckProgramming languageNative integrationNative UI paradigmsUse existing libraries
  53. 53. Is it worth it? Mobile OS you Your App Code
  54. 54. Is it worth it?Mobile OS Porting Tool you Your App Code
  55. 55. Choosing the rightCross-platform Strategy how?
  56. 56. Choosing the right Cross-platform Strategy how?Idea, Features & ContentTarget Audience & PlatformsCompetitionMarketing BudgetDeveloper Know-how
  57. 57. (No) Return of the Zombie Apps Zombie AliveSource: http://gigaom.com/europe/app-store-infested-with-zombie-software-claims-analytics-startup-adevenPhoto: (c) Mark Anderson/andertoons flickr.com/photos/andertoons-cartoons/4392594997
  58. 58. Thanks! Questions? Sögestr. 70 28195 BremenDownload dev guide at www.enough.deenough.de/mdgg twitter: @enoughsoftware Robert Virkus twitter: @robert_virkus robert@enough.de

×