61
Grenzen der Crossplattform-Entwicklung Robert Virkus @robert_virkus 14:15 (naja, so ungefähr) - 15:15

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

Embed Size (px)

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.

Citation preview

Page 1: MTC Spring 2013 -  crossplatform woes - robert virkus - 2013-03-13

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

[email protected]

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

[email protected]

TelFax

Mobile

ENOUGHSO F T WA R E

Page 2: MTC Spring 2013 -  crossplatform woes - robert virkus - 2013-03-13

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

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
Page 5: MTC Spring 2013 -  crossplatform woes - robert virkus - 2013-03-13
Page 6: MTC Spring 2013 -  crossplatform woes - robert virkus - 2013-03-13

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
Page 8: MTC Spring 2013 -  crossplatform woes - robert virkus - 2013-03-13

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

The Difficulties of Going cross-Platform

(c) Madlen Ehrlich

Page 10: MTC Spring 2013 -  crossplatform woes - robert virkus - 2013-03-13

Mobile Platforms

J2ME

Page 11: MTC Spring 2013 -  crossplatform woes - robert virkus - 2013-03-13

Mobile Platforms

Page 12: MTC Spring 2013 -  crossplatform woes - robert virkus - 2013-03-13

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

10

Objective-C

C/C++

C#

Java

JavaScript

Challenge:Programming Languages

Page 14: MTC Spring 2013 -  crossplatform woes - robert virkus - 2013-03-13

Challenge:In-App Purchase

Page 15: MTC Spring 2013 -  crossplatform woes - robert virkus - 2013-03-13

Challenge:In-App Advertisement

Page 16: MTC Spring 2013 -  crossplatform woes - robert virkus - 2013-03-13

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

Challenge:Features

J2ME

Page 18: MTC Spring 2013 -  crossplatform woes - robert virkus - 2013-03-13

realistic vs digital design

Challenge:UI & UX: Design Paradigm

Page 19: MTC Spring 2013 -  crossplatform woes - robert virkus - 2013-03-13

Challenge:UI & UX: Desktop Integration

Page 20: MTC Spring 2013 -  crossplatform woes - robert virkus - 2013-03-13

Challenge:UI & UX sample: Long Lists

Page 21: MTC Spring 2013 -  crossplatform woes - robert virkus - 2013-03-13

Challenge:UI & UX: Navigation Keys

Page 22: MTC Spring 2013 -  crossplatform woes - robert virkus - 2013-03-13

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

Cross-Platform Strategies

1. Native2. HTML 53. ANSI C4. Cross-platform tools

Page 24: MTC Spring 2013 -  crossplatform woes - robert virkus - 2013-03-13

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

verious.com

Page 26: MTC Spring 2013 -  crossplatform woes - robert virkus - 2013-03-13

chupamobile.com

Page 27: MTC Spring 2013 -  crossplatform woes - robert virkus - 2013-03-13

cocoacontrols.com

Page 28: MTC Spring 2013 -  crossplatform woes - robert virkus - 2013-03-13

Native AppsAsset Sharing

Concept & ResourcesData structures & algorithmsCode sharing of business model

Page 29: MTC Spring 2013 -  crossplatform woes - robert virkus - 2013-03-13

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

App Stores!=

Freedom

(c) Pascal/pasukaru76 flickr.com/photos/pasukaru76/3926591032

Page 31: MTC Spring 2013 -  crossplatform woes - robert virkus - 2013-03-13

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

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

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

“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

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

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

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

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

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

Security

Page 40: MTC Spring 2013 -  crossplatform woes - robert virkus - 2013-03-13

Source: www.filldisk.com

Security

Page 41: MTC Spring 2013 -  crossplatform woes - robert virkus - 2013-03-13

Content Heavy

(c) Pascal/pasukaru76 flickr.com/photos/pasukaru76/5268559005

Page 42: MTC Spring 2013 -  crossplatform woes - robert virkus - 2013-03-13

(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

HybridSuper Power

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

Page 44: MTC Spring 2013 -  crossplatform woes - robert virkus - 2013-03-13

Native HTML5

Past Future

Page 45: MTC Spring 2013 -  crossplatform woes - robert virkus - 2013-03-13

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

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

Game Engines

Page 48: MTC Spring 2013 -  crossplatform woes - robert virkus - 2013-03-13

App Tools

Page 49: MTC Spring 2013 -  crossplatform woes - robert virkus - 2013-03-13

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

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

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

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

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

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

Tools Check

Programming language

Native integration

Native UI paradigms

Use existing libraries

Page 56: MTC Spring 2013 -  crossplatform woes - robert virkus - 2013-03-13

Mobile OS

you

Is it worth it?

Your App Code

Page 57: MTC Spring 2013 -  crossplatform woes - robert virkus - 2013-03-13

Mobile OS Porting Tool

Your App Code

you

Is it worth it?

Page 58: MTC Spring 2013 -  crossplatform woes - robert virkus - 2013-03-13

how?

Choosing the right Cross-platform Strategy

Page 59: MTC Spring 2013 -  crossplatform woes - robert virkus - 2013-03-13

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

(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

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

[email protected]

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

[email protected]

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