Why Cross-Platform Development Is The 
Only Way Forward

Boydlee  Pollentine   |   @boydleep   |    #tiConf AU 2013

Who's this guy then?


Co-OWNED a successful software company in Australia before moving to ENgland. I now have a local digital agency in norwich.


@BOYDLEE ON TWITTER


What is it?


The ability to build one app on whatever platform a developer 
is comfortable with and then deploy that app across multiple platforms to all major computing hardware devices*.







                                                                                   *May not exist


why is it so much more important than ever before?


TO UNDERSTAND THAT QUESTION, WE FIRST NEED A BRIEF HISTORY LESSON...


The year 2000.


Y2K didn't cause the collapse of all civilisation.

The ILOVEYOU virus almost did (not really).

Sydney hosted the Olympics, during a time when us Aussies were actually still good at sport.

The world had never heard of Justin Bieber.

PC market share



Yes, we had the web, but it 

wasn't exactly the rich 

experience we have today.


Unless you're using a government website, in which case it's still exactly the same.


THEN IN 2007, this happened...




Fast forward five years 

to 2012


A market now dominated by smart phones and tablets running Google Android and Apple iOS. 

PC market share


As more and More bit players enter the market, the ability to create apps natively for every single platform becomes harder and harder.


this does not even include the sheer and vast number of permutations of android, ios and other platforms.


Android...
Greater than 130 hardware models (not including tablets),
Greater than 10 platform versions from 1.5 to 4.x,
Firmware can usually be updated at any time.

Android alone has more 2000 device combinations and that's ignoring orientation changes and tablet computers!


so the time for the cross 

platform tool has 

finally ARRIVED


And there's a lot of them...



BUT HOW DO THEY ACTUALLY WORK?


There are essentially three different types of architecture.

Web, using HTML and CSS,

Cross-compilation or interpreted, where an SDK in one language compiles down to multiple language sets, byte-code or assembly,

A mixture of both.



Web based cross platform tools include Phonegap bundled with sencha touch, jquery mobile, etc.


Pros 
Created with standardised HTML & CSS,
Much easier to get working across a broad range of devices,
Much easier to design with,
Familiarity.

Cons
Generally poor selection of device API's.
Hard to replicate native look and feel.
Generally poor performance.*


AND BEFORE SOMEONE COMPLAINS...


The performance problems of web based cross platform tools are not always the fault of the tools themselves but rather the very shitty WebKit browser implementations they run in.

Compilation BASED CROSS PLATFORM TOOLS INCLUDE Appcelerator Titanium, xamarin, RubyMotion, ETC.

Pros 
Generally greater performance than web based tools,
Broad (and in some cases almost 1-1) mapping of native APIs,
Designing for them can be easier,
Develop in your language of choice.

Cons
Steeper learning curve,
Longer time to completion,
Designing for them can be harder,
You're at the mercy of the toolchain.

is there really a significant level of time and effort saved?



*figures from research2guidance.com May 2013


managing customer 

expectation has become 

far harder 

than ever BEFORE.

I got 99 problems


...and now the customer wants Android so I have 2999 problems,

...and now the customer wants WP8 so I have 3283 problems,

...and now the customer wants BB10 so I have 4301 problems...


Customers don't want their app "limited' to a platform


Umm... but there's API's for BB10 right?
Yeah they say Beta, but it should still work.
It can't be that hard.



CUSTOMERS WANT THEIR APP ON EVERY PLATFORM and every device


Well it works OK on my phone but on my friends/sons/colleagues/mothers Android ChinaEBayAwesomePhone 1.0 it crashes.

CUSTOMERS EXPECT MORE FOR LESS MONEY THAN EVER BEFORE.


So we can get two platforms for the price of one?
Can't you just swap out API xyz  with API zxy?


Wow, I didn't realise software was that expensive.
There's a guy on eLance that can do it for $11 an hour - can't you match that?


Testing has become harder 

and takes longer than the 

development.


At least half of your 

development budget should 

be assigned to testing.

That goes for client work too.



So bearing all 

this in mind, 

is cross platform 

development still 

worthwhile?

YES

Tipsy & Tumbler Ltd


Why we chose cross platform.

Why we chose Appcelerator Titanium 

as the primary tool for our mobile 

development.

What are the beneFITS?

What challenges have we faced as a 

company that primarily uses third 

party cross platform tools?

hints?


Get a good designer. 
Unless you are a designer. 
In which case - get a good developer.

Get your clients app drafts on TestFlight ASAP.

Manage expecations between devices and hardware.

Your contracts should define what hardware you support BEFORE you start development.


We are just a small company, but the same principles are being applied by giants, such as...


McDonaldS

ACCENTURE
NBC
MITSUBISHI ELECTRIC
LEGOLAND
RAYBAN
ZIPCAR
eBAY









NOT just for enterprise or commercial applications.


The accompanying app for a certain rapper's upcoming album who shall remain nameless but had 99 problems before deciding to put a ring on it, was built in Titanium.

sometimes developers forget that we are here to not just build great stuff, but also to make money.

as a business, cross platform makes good financial sense.


"We can do dual-platform natively, but using Titanium, the costs are significantly less." ~ FeatherDirect LLC

"It reduces the time and effort in training and development, meaning we save money." ~ ThingsAreMoving.com

while we're talking business...


you are going to hear these at least once if you have any kind of mobile agency.


I have a great idea for a mobile app!

Would you consider revenue sharing?

I will pay when the app is finished.

no.

The cross platform movement is also tied to the open source movement.


Not all, but most, cross platform toolkits are open source and able to be modified using native languages if required.


As we extend computing further and futher into the mobile and wearables space, the need to develop across mutiple platforms becomes even greater than today.

Have no doubt, 
the future 
is 
cross 
platform


even if the present means 

looking like a douchebag.

thank you.

mobdevcon 2013

By boydlee

mobdevcon 2013

  • 2,225