Porting from iPhone to Android, Blackberry, Palm, etc. using Web 2.0 technologies -- success and...

41
Android Tips and Tricks 360idev 9/30/09 Prepared by Alex Shah, TeamSOA alex@teamsoa. com www.teamsoa.com

description

After building several full featured apps using Web 2.0 technologieson the iPhone, leveraging tools like Phonegap, Titanium, iUI, jQuery,one would assume that porting to other mobile platforms would be acakewalk. As it turns out, despite being based on Webkit, eachadditional platform has its own nuances and unexpected headaches. Thetalk will detail the tricks and workarounds that were discovered whilebuilding out a solution for one of the major telecoms, with the hopethat our experience will save time and energy of others who areconsidering building their own mobile application using Web 2.0,whether it be for the consumer market, enterprise, or internal use.

Transcript of Porting from iPhone to Android, Blackberry, Palm, etc. using Web 2.0 technologies -- success and...

Page 1: Porting from iPhone to Android, Blackberry, Palm, etc. using Web 2.0 technologies -- success and pitfalls

Android Tips and Tricks360idev 9/30/09

Prepared by Alex Shah, TeamSOA

[email protected]

www.teamsoa.com

Page 2: Porting from iPhone to Android, Blackberry, Palm, etc. using Web 2.0 technologies -- success and pitfalls

TeamSOA Background

Founded 2004

Core CompetencyHigh availability, distributed, solutionsImage Search IPWeb 2.0, Social NetworksiPhone / Android / Blackberry app development

Awards

Won UCSD Connect, Most Innovative New ProductWebTechniques Web Tools Award for Web Site Mgmt

[email protected]

www.teamsoa.com

Page 3: Porting from iPhone to Android, Blackberry, Palm, etc. using Web 2.0 technologies -- success and pitfalls

Market

10,000 apps in android market (10% that of iPhone App store), 36% paid, 64% unpaid*

1.1 million phones sold (20 million iphones)

[email protected]

www.teamsoa.com

http://seekingalpha.com/article/160286-android-market-now-over-10-000-applications-strong

Page 4: Porting from iPhone to Android, Blackberry, Palm, etc. using Web 2.0 technologies -- success and pitfalls

Market (cont)

http://www.techcrunch.com/2009/08/31/top-developer-reveals-android-markets-meager-sales/http://www.techcrunch.com/2009/08/31/top-developer-reveals-android-markets-meager-sales/

Page 5: Porting from iPhone to Android, Blackberry, Palm, etc. using Web 2.0 technologies -- success and pitfalls

Usage Over Time

[email protected]

www.teamsoa.comhttp://www.pinchmedia.com/appstore-secrets/

Page 6: Porting from iPhone to Android, Blackberry, Palm, etc. using Web 2.0 technologies -- success and pitfalls

App Development

[email protected]

www.teamsoa.com

Page 7: Porting from iPhone to Android, Blackberry, Palm, etc. using Web 2.0 technologies -- success and pitfalls

Architecture

Page 8: Porting from iPhone to Android, Blackberry, Palm, etc. using Web 2.0 technologies -- success and pitfalls

WEB 2.0"HUGE!"

[email protected]

www.teamsoa.com

Page 9: Porting from iPhone to Android, Blackberry, Palm, etc. using Web 2.0 technologies -- success and pitfalls

WEB 2.0

YES!WebKit RocksBuild Android Java <=> Javascript bridgeRedirect Javascript console to android consoleStore application components locallySQLite Rocks

[email protected]

www.teamsoa.com

Page 10: Porting from iPhone to Android, Blackberry, Palm, etc. using Web 2.0 technologies -- success and pitfalls

WebKit Rocks

http://webkit.org/iPhone / Android / Blackberry

Text shadows, compositing, scaling, rotating, animation, opacity, layering, masks

Client-side Databasevar database = openDatabase("Database Name", "Database Version");

jQuery

[email protected]

www.teamsoa.com

Page 11: Porting from iPhone to Android, Blackberry, Palm, etc. using Web 2.0 technologies -- success and pitfalls

Javascript <=> Java

phonegapg2p = new GiftToPhone(this, appView);appView.addJavascriptInterface(g2p, "GiftToPhone");appView.loadUrl("javascript:$('#back').click();");

[email protected]

www.teamsoa.com

Page 12: Porting from iPhone to Android, Blackberry, Palm, etc. using Web 2.0 technologies -- success and pitfalls

Store Locally

Data URLS:

<img src="data:image/jpeg;base64,#####" /> <script type="text/javascript" src="data: load url -- url can be:data:text/html;charset=utf-8;base64,PGh0bWw

Look at SQLLite API

[email protected]

www.teamsoa.com

Page 13: Porting from iPhone to Android, Blackberry, Palm, etc. using Web 2.0 technologies -- success and pitfalls

jQuery

parsing XML example$('#node').data({name : value}) method

[email protected]

www.teamsoa.com

Page 14: Porting from iPhone to Android, Blackberry, Palm, etc. using Web 2.0 technologies -- success and pitfalls

Android Gotchas

1.1 and above: you can no longer load local files too many contactsNo javascript interface to SQLiteJava garbage collector

[email protected]

www.teamsoa.com

Page 15: Porting from iPhone to Android, Blackberry, Palm, etc. using Web 2.0 technologies -- success and pitfalls

User Interface

[email protected]

www.teamsoa.com

Page 16: Porting from iPhone to Android, Blackberry, Palm, etc. using Web 2.0 technologies -- success and pitfalls

FaceDouble UI

[email protected]

www.teamsoa.com

Page 17: Porting from iPhone to Android, Blackberry, Palm, etc. using Web 2.0 technologies -- success and pitfalls

FaceDouble UI

[email protected]

www.teamsoa.com

Page 18: Porting from iPhone to Android, Blackberry, Palm, etc. using Web 2.0 technologies -- success and pitfalls

FaceDouble UI

[email protected]

www.teamsoa.com

Page 19: Porting from iPhone to Android, Blackberry, Palm, etc. using Web 2.0 technologies -- success and pitfalls

FaceDouble UI

[email protected]

www.teamsoa.com

Page 20: Porting from iPhone to Android, Blackberry, Palm, etc. using Web 2.0 technologies -- success and pitfalls

FaceDouble UI

[email protected]

www.teamsoa.com

Page 21: Porting from iPhone to Android, Blackberry, Palm, etc. using Web 2.0 technologies -- success and pitfalls

UI Guidelines

Do only ONE thingWizards are GOODI Love alertsUse Text instead of Icons

[email protected]

www.teamsoa.com

Page 22: Porting from iPhone to Android, Blackberry, Palm, etc. using Web 2.0 technologies -- success and pitfalls

UI Guidelines

Study built-in applications Avoid inconsistencies

"This is weird, cancel is usually over there"

[email protected]

www.teamsoa.com

Page 23: Porting from iPhone to Android, Blackberry, Palm, etc. using Web 2.0 technologies -- success and pitfalls

HOW TO MAKE APPS VIRAL?

[email protected]

www.teamsoa.com

Page 24: Porting from iPhone to Android, Blackberry, Palm, etc. using Web 2.0 technologies -- success and pitfalls

FaceDouble UI

[email protected]

www.teamsoa.com

Page 25: Porting from iPhone to Android, Blackberry, Palm, etc. using Web 2.0 technologies -- success and pitfalls

Launching Mail app

mailto:alex@teamsoa,[email protected]?subject=XXX&[email protected]&body=XXXHTML? YES!

[email protected]

www.teamsoa.com

Page 26: Porting from iPhone to Android, Blackberry, Palm, etc. using Web 2.0 technologies -- success and pitfalls

Friend Experience

[email protected]

www.teamsoa.com

Page 27: Porting from iPhone to Android, Blackberry, Palm, etc. using Web 2.0 technologies -- success and pitfalls

FaceDouble UI

[email protected]

www.teamsoa.com

Page 28: Porting from iPhone to Android, Blackberry, Palm, etc. using Web 2.0 technologies -- success and pitfalls

FaceDouble UI

[email protected]

www.teamsoa.com

Page 29: Porting from iPhone to Android, Blackberry, Palm, etc. using Web 2.0 technologies -- success and pitfalls

Facebook API

Now available on android: http://code.google.com/p/fbconnect-android/

[email protected]

www.teamsoa.com

Page 30: Porting from iPhone to Android, Blackberry, Palm, etc. using Web 2.0 technologies -- success and pitfalls

AppStore Tips

[email protected]

www.teamsoa.com

Page 31: Porting from iPhone to Android, Blackberry, Palm, etc. using Web 2.0 technologies -- success and pitfalls

First Impressions Count

'good' or 'trustworthy' appquick gravitate to search Initial perception of app is largely influenced by icon design

vibrant colors nice crisp iconcatchy names60x60 not 59x59

http://www.slideshare.net/createwithcontext/how-people-really-use-the-iphone-presentation/

[email protected]

www.teamsoa.com

Page 32: Porting from iPhone to Android, Blackberry, Palm, etc. using Web 2.0 technologies -- success and pitfalls

First Impressions Count

Bad reviews are not a death sentence"If a friend liked it I would try it""taken with a grain of salt"

[email protected]

www.teamsoa.com

http://www.slideshare.net/createwithcontext/how-people-really-use-the-iphone-presentation/

Page 33: Porting from iPhone to Android, Blackberry, Palm, etc. using Web 2.0 technologies -- success and pitfalls

Paid Apps

"$4.99 is reasonable""Would be a good price point, although I'd be more willing to pay for something like Quicken than for a memo pad"

[email protected]

www.teamsoa.com

http://www.slideshare.net/createwithcontext/how-people-really-use-the-iphone-presentation/

Page 34: Porting from iPhone to Android, Blackberry, Palm, etc. using Web 2.0 technologies -- success and pitfalls

Paid Apps (cont)

$.99"I'd wonder what it was, does it really have that much value, is this malware?""I usually look at the apps that are Free or cost around 99c because that the iTunes price for music""Easy to buy. 99c means its been around a long time"

[email protected]

www.teamsoa.com

http://www.slideshare.net/createwithcontext/how-people-really-use-the-iphone-presentation/

Page 35: Porting from iPhone to Android, Blackberry, Palm, etc. using Web 2.0 technologies -- success and pitfalls

Free Apps

"I love those""If it's $4.99 and they don't have a trial version, I'd say forget it. I would not blindly pay for it, even if it did get a good review""I never buy the full version, the trial version is always good enough""I'd like to get the real app with a timeout. Light vs. full creates confusion - are you getting all the features in the light version?"

[email protected]

www.teamsoa.com

http://www.slideshare.net/createwithcontext/how-people-really-use-the-iphone-presentation/

Page 36: Porting from iPhone to Android, Blackberry, Palm, etc. using Web 2.0 technologies -- success and pitfalls

No Free

Give for free for 1st month - BADMaking it free does drive traffic, up to 250x more

[email protected]

www.teamsoa.com

http://majicjungle.com/blog/?p=66

Page 37: Porting from iPhone to Android, Blackberry, Palm, etc. using Web 2.0 technologies -- success and pitfalls

No 99c

No room to moveEveryone who may otherwise not buy your app are welcome to give it a one star reviewranking drops with price

4 stars to 2 stars after free 2 week offer

[email protected]

www.teamsoa.com

http://majicjungle.com/blog/?p=66

Page 38: Porting from iPhone to Android, Blackberry, Palm, etc. using Web 2.0 technologies -- success and pitfalls

AppStore Pricing

Think upside downIf you are high in the charts, you can get higher by lowering priceIf your are out of the charts, you will earn more by increasing your priceclose to top to #100 ==> lower price to get higher rankingnear top #10 ==> raise price to get better revenue

[email protected]

www.teamsoa.com

http://majicjungle.com/blog/?p=66

Page 39: Porting from iPhone to Android, Blackberry, Palm, etc. using Web 2.0 technologies -- success and pitfalls

AppStore Tricks

Build new versionsChange pricing.. have promotional pricingIT DOES NOT COST YOU ANYTHING TO ADD APPS

[email protected]

www.teamsoa.com

Page 40: Porting from iPhone to Android, Blackberry, Palm, etc. using Web 2.0 technologies -- success and pitfalls

Useful Links

[email protected]

http://www.meetup.com/San-Diego-iPhone-Android-developers/http://docs.google.com/present/view?id=dfvttpf7_30ffns2cgh

http://code.google.com/p/fbconnect-android/

[email protected]

www.teamsoa.com

Page 41: Porting from iPhone to Android, Blackberry, Palm, etc. using Web 2.0 technologies -- success and pitfalls

THANKS

[email protected]

www.teamsoa.com