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

Post on 24-May-2015

379 views 0 download

Tags:

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

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

robert.virkus@enough.dewww.enough.de

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

robert.virkus@enough.dewww.enough.de

TelFax

Mobile

ENOUGHSO F T WA R E

Enough Software

A Team of Mobile Enthusiasts

Headquarter: Bremen, Germany Customer base: worldwide

2005-4,600 M

Earth forms-3,500 MLife forms

-2,000 MComplex life forms

-225 until -65 MAge of dinosaurs

-3 MStone age

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

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

The Difficulties of Going cross-Platform

(c) Madlen Ehrlich

Mobile Platforms

J2ME

Mobile Platforms

Cross-Platform Challenges

1. Programming Languages2. Features3. In app purchase4. In app advertisement5. Push Notifications6. Desktop Integration7. UI & UX8. OS Versions

10

Objective-C

C/C++

C#

Java

JavaScript

Challenge:Programming Languages

Challenge:In-App Purchase

Challenge:In-App Advertisement

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

Challenge:Features

J2ME

realistic vs digital design

Challenge:UI & UX: Design Paradigm

Challenge:UI & UX: Desktop Integration

Challenge:UI & UX sample: Long Lists

Challenge:UI & UX: Navigation Keys

Challenge:OS Versions

2.34.x

5.x6.x

7.58.x

6.x7.x10

The platforms themselves evolve all the time

Cross-Platform Strategies

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

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

verious.com

chupamobile.com

cocoacontrols.com

Native AppsAsset Sharing

Concept & ResourcesData structures & algorithmsCode 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

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

Source: http://app.ft.com

“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/

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

Security

Source: www.filldisk.com

Security

Content Heavy

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

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

Content that needs Freedom

HybridSuper Power

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

Native HTML5

Past Future

C-Level

ANSI everywhereWrapper 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 logicOpenTK cross UI or native UIFull native access

Problems

Know-how for both worlds requiredTargeting different OS versions at once not possible

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

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

Language Features In app purchase

In app ads Push Desktop Native UI

Titanium

VerdictGreat for prototyping & simple apps

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

Language Features In app purchase

In app ads Push Desktop Native UI

Corona

Verdict

Rapid development for casual games & apps developersStrong community

Tools Check

Programming language

Native integration

Native UI paradigms

Use existing libraries

Mobile OS

you

Is it worth it?

Your App Code

Mobile OS Porting Tool

Your App Code

you

Is it worth it?

how?

Choosing the right Cross-platform Strategy

how?

Idea, Features & Content

Target Audience & Platforms

Competition

Marketing Budget

Developer Know-how

Choosing the right Cross-platform Strategy

(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

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

robert.virkus@enough.dewww.enough.de

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

robert.virkus@enough.dewww.enough.de

TelFax

Mobile

ENOUGHSO F T WA R E

Sögestr. 7028195 Bremen

www.enough.detwitter: @enoughsoftware

Robert Virkustwitter: @robert_virkusrobert@enough.de

Download dev guide atenough.de/mdgg