Android location services from social networks to games

download Android location services from social networks to games

If you can't read please download the document

Transcript of Android location services from social networks to games

PowerPoint Presentation

Android and Location

June 18, 2009 Open Source Bridge

Don Park

Don Park

@donpdonp

Don Park

Don Park

Don Park

Overview

The Android Market Development/Location APIApps and GamesOpportunities

The Android Market

Past 6 months ofSmartphone Sales

T-Mobile sold 1 million G1 phones from Oct 2008to May 2009[1]. This is the entire installed base for the G1.

AT&T sold 4 million iPhones inthe sametime frame. 17 million installed base.

[1] http://www.deutschetelekom.com/dtag/cms/content/dt/en/654792

AdMob Mobile Browser Traffic

"We found that Android traffic in the US grew an average of 47% per month since it launched five months ago while iPhone traffic in the US grew an average of 88% per month in the five months following the launch of their App Store."

Android Market

Total apps in the market: 3953

http://androidstats.com/home/categoriesApplications
Communications (214)
Entertainment (765)
Finance (115)
Lifestyle (313)
Multimedia (181)
News & Weather (101)
Productivity (216)
Reference (185)
Shopping (63)
Social (105)
Tools (785) Travel (138)
Demo (61)
Software Libraries (16)
total: 3258

Games
Arcade & Action (180)
Brain & Puzzle (307)
Cards & Casino (63)
Casual (145)
total: 695

What Sells? Top Free vs Paid

Top 10 Apps (excluding games)

http://androidstats.com/1. The Weather Channel
2. MySpace Mobile
3. Backgrounds
4. ShopSavvy
5. US Yellow Pages Search 6. DailyHoroscope
7. NBA Game Time
8. T-Mobile My Account
9. Free Dictionary Org
10. fBook - Facebook for Android 197. Power Manager Full $0.99
238. Open Home - Full $3.99
332. MyBackup Pro $2.99
361. aHome $4.99
422. dxTop : Home Alternative $3.99470. Hello IM! $9.99
486. Snap Photo Pro $0.99
631. BetterCut $2.99
633. Lock 2.0 - Donate $1.49
654. Caller ID by WhitePages $6.99

Top Games Free vs Paid

Top 10 Games

http://androidstats.com/1. PAC-MAN by Namco
2. Solitaire
3. Labyrinth Lite
4. Sudoku
5. BreakTheBlocks Lite
6. Snake
7. Slide Puzzle
8. Tic Tac Toe
9. Smart Tac Toe
10. PapiJump109. Doom for Android $2.99
129. Baseball Superstars 2009 $5.95
203. Jewellust $2.95
219. Retro Defense $4.99
220. Aevum Obscurum $4.99
224. Tangram Pro $0.99
234. WordWrench Full $0.99
237. Battle for Mars $4.99
272. Air Hockey 0.70
289. Spira Defence Pro 1.59

Top Paid Apps March 2009

SnapPhoto pro (about #140) $0.99, 1,000-5,000 download count category $1000-$5000Hello IM! AOL/AIM (about #200) $9.99 1,000-5,000 download count category $10,000-$50,000dxTop Home Screen replacement (about #300) $3.99. 1,000-5,000 download category $4000-$20,000Power Manager (about #400) $0.99. 500-1,000 download category $500-$1000

What is my IP

Sales

What is my IP FreeLaunched on Jan 28 2009

100-200 dls/day

Show my IP $0.99Launched on Feb 20 2009

0.5 sales/day

Android Operating System

Activities

Intents

Services

ContentProvider

Application Composition

ListSelectionCameraOperationFlickruploadAn Application is made up of activities

public class Radar extends MapActivity implements ServiceConnection, Constants {

public void onCreate(Bundle savedInstanceState) { setTitle(getString(R.string.app_name) + " v" + ICECONDOR_VERSION); Location fix = pigeon.getLastFix(); Log.i(appTag, "pigeon says last fix is " + fix); mapController.animateTo(new GeoPoint((int) (fix.getLatitude() * 1000000), (int) (fix.getLongitude() * 1000000))); }}

Activity
Lifecycle

Service/Activity

Background

Less likely to be paused

Foreground

public class Pigeon extends Service implements Constants, LocationListener, SharedPreferences.OnSharedPreferenceChangeListener {

LocationManager locationManager; public void onCreate() {

locationManager = (LocationManager) getSystemService(LOCATION_SERVICE); last_local_fix = locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER); }

}

Intents

Apps can be mashups of pieces of existing applications.

Not used much yet.

Camera Activity

Intent i = new Intent();i.setAction(VIEW_ACTION);i.setData(new ContentURI(http://icecondor.com));startActivity(i);

. . .

Content Provider

Described by a RESTful URL

content://com.example.codelab.transporationprovider

query() insert() update() delete()

Location API

Location Manager

Abstract/hands off model

Last known location

Request updates at a given frequency

GPS basics unavailable is there a lock/signal? (until cupcake)

Timeline

8:00:00 set GPS reporting frequency to 2 minutes8:01:30 GPS powered on by android8:02:15 GPS FIX accuracy 1200m8:02:18 GPS FIX accuracy 700m8:02:21 GPS FIX accuracy 300m8:02:21 GPS FIX accuracy 100m8:02:22 GPS FIX accuracy 80m8:02:23 GPS FIX accuracy 95m8:02:40 GPS FIX accuracy 82m

Location manager update frequency set to:

Every 3 minutes = 10 hours of run timeEvery 10 minutes = 12 hours of run timeTurned off = 24 hours of run time

GPS drains the battery

Cupcake Location Changes

Android 1.5

Location Manager

GpsStatus.getSattelites()

GpsStatus.Listener.onGpsStatusChange()

Apps and Games

IceCondor

IceCondor

Continuous location tracking

http://icecondor.comWrite sideGPS location

OAUTH push to server

long-term server-side storage

Read sideGeoRSS

shizzow, upcoming.org

feed management

Radar

IceCondor

Sales

http://icecondor.comIceCondor LiteLaunched on Feb 22 2009

First download Feb 23

IceCondor fullLaunched on Feb 20 2009

First sale Feb 22

ZombieRun

Augmented Reality

Parallel Kingdom

Opportunities

There are now over 1,900 location apps at the iPhone store, says Skyhook Wireless. Its about a 25 / 75 split between free and paid apps.

Build an open wifi/lat-long database

Wigle.net

Android 1.5 wifi scan-only mode

OpenStreetMap Activity

Google Latitude

ConAppears not to use GPS (battery)

Unknown update frequency

No location history

ProSupport for every smartphone OS

Google-scale implementation

Latitude API

http://www.google.com/latitude/apps/badge/api?user=5189588060747846772&type=json

{ "type": "FeatureCollection","features": [{ "type": "Feature","geometry": {"type": "Point", "coordinates": [-118.44967, 33.988717]},"properties": {"id": "5189588060747846772","accuracyInMeters": 1888,"timeStamp": 1244864014,"reverseGeocode": "Los Angeles, CA, USA","photoUrl": "http://www.google.com/latitude/apps/badge/api?type=photo&photo=FnLJ1yEBAAA.uZB0qF11JdzXqsnWsulMJQ.K28fiRafHVJpP8N9U2nhDQ","photoWidth": 96,"photoHeight": 96,"placardUrl": "http://www.google.com/latitude/apps/badge/api?type=photo_placard&photo=FnLJ1yEBAAA.uZB0qF11JdzXqsnWsulMJQ.K28fiRafHVJpP8N9U2nhDQ&moving=false&stale=false&lod=1&format=png","placardWidth": 56,"placardHeight": 59}}]}

The Google Maps Data API

The data model is based on maps and featuresAPI and PHP LibraryGoogle-scale storage and retrieval

http://googlegeodevelopers.blogspot.com/2009/05/introducing-google-maps-data-api-in.html

Conclusion

Android is well suited for continuous location apps.

The Android Market has 4,000 apps for 1,000,000 phones.

Google has done a lot of the work in acquiring and storing location.

Location apps are fun!