37

Prime Guide: Lessons learnt - Android App Development

Embed Size (px)

DESCRIPTION

greenrobot’s latest app “Prime Guide” brings the TV program to Android Smartphones, Tablets, and Google TV. With a quickly growing installation count, great reviews and very high ratings in Google Play, Prime Guide successfully challenges big players of established brands. We want to present technical and non-technical aspects of app development: • The technical app anatomy • Android and server libraries we used (and wrote) for Prime Guide • Google App Engine as a backend: good and bad sides • Strategies on how to compete with “the big players” • The marketing campaigns we ran and their outcome • Successful customer support and presence in social networks • Stats and numbers http://www.primeguide.tv

Citation preview

Page 1: Prime Guide: Lessons learnt - Android App Development
Page 2: Prime Guide: Lessons learnt - Android App Development

Markus Junginger Android Developer Java Developer Open Source GDG Android Munich Geek & Tech Lead for

Prime GuideChief Android @

So, who‘s this guy?

Page 3: Prime Guide: Lessons learnt - Android App Development

Prime Guide – TV Guide App

Page 4: Prime Guide: Lessons learnt - Android App Development

Prime Guide: TV Overview

Page 5: Prime Guide: Lessons learnt - Android App Development

Prime Guide: Broadcast Details

Page 6: Prime Guide: Lessons learnt - Android App Development

Prime Guide: Gallery

Page 7: Prime Guide: Lessons learnt - Android App Development

Prime Guide: Tablet

Page 8: Prime Guide: Lessons learnt - Android App Development

Prime Guide: Google TV

Page 9: Prime Guide: Lessons learnt - Android App Development

Technology Overview

Prime GuideServer Cloud

Prime Guide App

SQLite Database

Remote ORM

Managers

GUI

Eve

nts

EPG Data Source ($$$)

Page 10: Prime Guide: Lessons learnt - Android App Development

Libraries used

Action Bar Sherlock Android Support Library EventBus Facebook Several internal greenrobot libraries:

Common Android stuff, bitmaps, cache, … In total: 12 client libraries used Libraries are essential for app dev!

Page 11: Prime Guide: Lessons learnt - Android App Development

Libraries written for Prime Guide

greenDAO Fast O/R Mapper (code generation) Object oriented access to SQLite Open Source

Protobuf RPC Binary Client/Server RPC protocol Based on Google Protobuf Multiple remote method calls per request

Page 12: Prime Guide: Lessons learnt - Android App Development

Backend – Why App Engine?

The 20:15 peak automatic scalability No OS maintenance / administration High availability Backed by Google and its infrastructure Good Java support Task Queues for background processing Easy deployment / version control

Page 13: Prime Guide: Lessons learnt - Android App Development

App Engine: nothing‘s perfect

No SQL (no, that‘s not cool)P.S.: Today there‘s Cloud SQL ($)

Proprietary APIs (no full JEE standard…) Data store impacted our data model

Entity groups, TX consistency, … Request time limits (no long polling etc.) Local server: slow, not 100% compatible Not the cheapest solution

Page 14: Prime Guide: Lessons learnt - Android App Development

Some Backend stats

Requests per second, 24h

20:15 New day, Widget updates

Page 15: Prime Guide: Lessons learnt - Android App Development

Some Backend stats

Number of serving instances, 24h

20:15 New day, Widget updates

Page 16: Prime Guide: Lessons learnt - Android App Development

Are we ready yet?

December 2012: Should we release? Personal impression of the app

About 100 TV channels are plenty Basics OK, some cool features still missing 100+ issues in our backlog, hmm…

OK, let’s release anyway… Before Xmas! Code crunch & last minute PR started Big question: Will people like it at all?

Page 17: Prime Guide: Lessons learnt - Android App Development

First day in the store

Beta Release on December, 21st

1,500 installs 4.6 stars rating Phew! Good start, how will it continue?

Can it keep the great rating?

Page 18: Prime Guide: Lessons learnt - Android App Development

Our last Minute Marketing…

Trying to spread the word We informed 1,000,000 blogs upfront One bigger mobile blog picked it up It was worth the effort

Page 19: Prime Guide: Lessons learnt - Android App Development

As expected, People liked…

Native Android look and feel Simplicity, thought-out UI Speed of the App First class tablet support Features

2D scrolling TV overview Integration of movie related web sites YouTube videos Reminders

Page 20: Prime Guide: Lessons learnt - Android App Development

And a few Surprises…

People were happy to give feedback Other features matter to them Most wished: add channel XYZ Top Missing features

Search Support for TV series (reminders, etc.)

Page 21: Prime Guide: Lessons learnt - Android App Development

Surprises continued…

Data collected during a 14-day period ending on March 4, 2013

Devices statistics from Google

Page 22: Prime Guide: Lessons learnt - Android App Development

Device statistics from Google

Just one problem with these stats:It shows all devices

The real question should be:Which devices install new apps?

Page 23: Prime Guide: Lessons learnt - Android App Development

Android Versions, Prime Guide

April, new data

Page 24: Prime Guide: Lessons learnt - Android App Development

Marketing Campaign (paid)

CPI campaign with a Android website that also run a 3rd party store

Good impact in 3rd party store:

Downloads over Time

Page 25: Prime Guide: Lessons learnt - Android App Development

Marketing Campaign / Play

Prime Guide featured on a big German Android web site plus newsletter coverage

So, what‘s the impact in Google Play? Unexpectedly low:

Downloads over Time

Page 26: Prime Guide: Lessons learnt - Android App Development

How to make people rate you

Ratings are essential for success Make it easy for users to rate your app But don‘t force it on them (dialogs, …) Our solution:

Page 27: Prime Guide: Lessons learnt - Android App Development

Info Screen

Great place to let users engage

Page 28: Prime Guide: Lessons learnt - Android App Development

Customer Support

Take feedback seriously Answer each mail personally (we try to) Value people‘s input, they invested time We track wishes and prioritize accordingly Implement feedback: makes people happy Takes time, about ½ - 1 day per week

Page 29: Prime Guide: Lessons learnt - Android App Development

Things underestimated…

Complexity of TV Data Legal issues with TV Data (Germany) Costs of TV Data App Engine quirks General complexity, both app and server

infrastructure

Page 30: Prime Guide: Lessons learnt - Android App Development

Optimize for Smartphones, Tablets and Google TV for initial launch.

Lessons learnt

One of our biggest mistakes?

Page 31: Prime Guide: Lessons learnt - Android App Development

Pick great new technologies, create them if non-existent.

Lessons learnt

Whatever, that’s the fun part.& Solid base to build upon.

Takes its time…

Page 32: Prime Guide: Lessons learnt - Android App Development

Do projects for living, too.

Lessons learnt

Focus and take risks.(If you can afford it.)

Page 33: Prime Guide: Lessons learnt - Android App Development

Release before you think it‘s perfect.

Lessons learnt

Reality check!Are you on the right track?

Page 34: Prime Guide: Lessons learnt - Android App Development

Release a beta version.

Lessons learnt

People are more tolerant.

Page 35: Prime Guide: Lessons learnt - Android App Development

How did we do since?

Rating improved by adding TV channels

~ 100.000 downloads Next milestone: leave beta with V1.0

New features Ads, or paid version

Page 36: Prime Guide: Lessons learnt - Android App Development

That‘s it. Thanks for listening.

Thank you!www.primeguide.tv

Page 37: Prime Guide: Lessons learnt - Android App Development

Disclaimer, Rechtliches

Alle Inhalte urheberrechtlich geschützt.

© Copyright 2013 Markus JungingerAll rights reserved.