Showing posts with label cloudmade. Show all posts
Showing posts with label cloudmade. Show all posts

Saturday, 13 November 2010

BarCamp London 8: wheelmap.org

Holger Dieterich@holgerd

More details on lanyrd

  • http://wheelmap.org — find wheelchair accessible places to eat & drink
  • Made by http://sozialhelden.de — Social Heroes
    • one of the founders is in a wheelchair
    • problem is not how to get somewhere, but how to find somewhere suitable
    • is there a step? is the toilet accessible?
  • databases in Germany have 30,000 places, but they’re not so easy to use (mostly commercial)
  • had a wheelchair tag in OpenStreetMap before they started, but only about 5,000 places were tagged
  • now have about 18,000 places in germany
    • 300-400 places edited a day!
  • website finds your location by IP and offers you places to edit/add
  • also an iPhone app
    • using OpenLayers to display
  • CloudMade is good, but is read-only and not updated regularly (once a month!)
    • want to have immediate update
    • don’t yet have immediate, but 3 minutes is close
    • OpenStreetMap itself is sometimes down (for three days at one point), so had to implement caching and their own intermediate API
  • also approaching companies to share their data…
    • they’re really scared… so talking with Berlin government to convince them
  • having slight issues with OSM community as wheelmap data is added anonymously by a pseudonymous user
    • but it’s better that data gets added
    • and there’s no real chance of spam since the data is added automatically

Thursday, 28 October 2010

Droidcon London 2010 - Day One

I’m heading home with my brain stuffed full of new knowledge from Droidcon London 2010. And this was just the first day, with unplanned, unprepared barcamp-style presentations!

Most of the presentations today were technical (tomorrow there’s a design and business thread as well) but they varied from doing continuous integration through discussing low-level TCP details to a Q&A session with some of Google’s Android team.

I’m seriously looking forward to the second day’s programme.

In the meantime, here’s my notes for the sessions I attended:

Android UI tricks from Sony Ericsson

  • limit of 200ms to respond to user interactions — don’t do long running tasks in the UI thread
  • so how do you deal with longer lasting processes? use the Handler & Service classes
  • …and use Toasts to show quick popup status
  • number of devices on 1.5 is below 10%
  • all demos will be available on the Sony Ericsson developer blog

Handler

  • don’t use inner class Runnables inside a Handler (save heap & garbage collector)
  • within XML use onClick for buttons
  • handler.sendEmptyMessageDelayed(message, delay);
  • then have a message handler that deals with loop & sends next message
    • any UI activity should be in a Runnable called with runOnUiThread(runnable)
  • don’t forget onDestroy

Service

  • used for downloading
  • pass a message from service to activity by implementing your own Application class
  • Application defines callback interface and methods to fire & receive
  • use IntentService for your service
    • deals with sequential handling automatically
  • call to the application (need to cast getApplication())
  • don’t use AIDL interfaces — unless you want to share service with other apps or between multiple processes in your app

Animation

  • create an AnimationSet and add Animations within the getAnimation call
  • second parameters for RotateAnimation are relative to view, not screen
  • can also do animations in layout.xml
  • Twitter app removed animations from their home screen…
    • the background was a live wallpaper — consumes a lot of battery
    • continuous animations can use up battery so be careful
    • shouldn’t be a problem with performance though
  • see also Zooming demo and

BootListener

  • when the phone is rebooted, the alarms are cleared
  • don’t listen for boot completed unless you really have to
    • slows down startup if you have too many
  • can have a broadcast receiver that is disabled
  • in app xml set bootlistener disabled by default
  • then in listener when intent comes through: {{{ context.getPackageManager().setComponentEnabledSetting( new(ComponentName(context, BootListener.class), PackageManger.COMPONENT_ENABLED_STATE_DISABLED, PackageManager.DONT_KILL_APP) }}}

3D & OpenGL with Android views

  • combine the strengths of Android views (text, layout, etc) with OpenGL (3D but not text)
  • create a bitmap
  • use MeasureSpec method
  • draw the view onto the OpenGL texture bitmap
  • GLUtils.texImage2D(...)
  • if you do this today, suggest you use OpenGL ES 2.0

Location services

led by Nick Black, Founder & Head of Products at Cloudmade

cloudmade

  • cloudmade will support Android later this year with a Maps SDK
    • based on OpenStreetMaps
    • worked out a way to squeeze vector data onto the device
    • map data comes as you need it and is stored locally on device
    • downloadable data includes searchable street names, etc
    • early access available end of this year, early next year
  • cloudmade also has http://maps.cloudmade.com/editor to let you choose and configure your design —- your style will work on mobile too!

Impleo

  • formed from ex-Motorola & Alcatel employees
  • also adding tracking for insurance
    • includes accelerometer info so can tell how good a driver you are!

cloudmade location-based advertising

  • created a network that finds highest value ads from other networks
  • goes out to other ad networks, will also go out to more specialist networks
  • trying to deal with the fill-rate problem…
  • some android apps got backlash when adding advertising after the app release
    • put the ads in at the beginning!

map data

  • most owned by Google, Nokia or Tomtom (Navteq)
  • skobbler Android app - built on cloudmade’s navigation service
  • cloudmade see navigation services not as an app but as a feature within apps
  • Google don’t allow access to driving directions API on Android

google latitude and other services

  • Is anyone using the latitude API?
  • GPS in Android drains the battery quite heavily
  • if things are further away then turn off GPS temporarily
  • battery management isn’t good built-in
    • have to manage your own choice between coarse and fine location services
  • Motorola went to use Skyhook instead of Google location API on Android
    • that way they would get data for their customers WiFi location
    • Google forced them to switch back to Google location
    • Skyhook now suing Google…

Always in sync client & local unit testing

Carl from Novoda (@charroch)[http://twitter.com/charroch]

RESTProvider

  • available on github
    • depends on JacksonJSON etc
  • makes a RESTful API available as a Content Provider
  • couple of branches — caching_carl one stores locally in SQLite
  • can start service with loads of requests — it will handle them in a queue
  • can add params: putExtra("params", new List(...))
  • Tip: adb shell setprop log.tag.Database VERBOSE
    • slows it down a lot
    • can add your own tags too
  • ResultReceiver: a way of passing back status to app UI
  • if connectivity is lost, it stops the queue
  • need to watch out for the user setting to disable background downloading
  • extend HttpQueuedService
    • override getMarshaller
    • create a LoggableJsonRequest with a marshall method to store data using a ContentProviderOperation
  • library supports ETags too — saves a download as server data is just a HEAD response
  • also created novoda.mixml (minimal XML) which works in same way as Jackson JSON
    • integrated into RestProvider to cope with XML content as well as JSON
  • hopefully have time to build a more stable version over the new year
  • end goal: to have declarations in application XML and service definition

Unit testing of android classes without emulator

  • see also the RestProvider code on github
  • android.jar only contains stubs, so can’t even instantiate
    • major problem for your subclasses even when you only want to test your additional methods
  • PowerMock works somewhat
  • need to find a different way of doing the tests
  • Carl has copied the source of the Android classes into his test source and modified them to ensure no call to the system…
    • not too hard — just need to ensure that the constructor can work
  • have to keep your code copy up to date with the base Android source
    • but it doesn’t matter that much as you won’t be testing Android code
  • possible next step: Android will run on Intel — could run locally with unit tests
  • currently have three projects:
    1. main classes
    2. local tests using this mechanism
    3. instrumentation tests
  • changing to have a single folder with tests marked with annotations
    • want to have some tests marked as local if possible
    • android instrumentation tests should run all of tests (including local tests)
  • maven could be overkill for Android development
    • build process is quite well-defined, not that many other libs
  • SBT could be interesting (simple build tool, written in Scala)

App Analytics from Capptain

  • combining in-app analytics with CRM
  • collect/measure -> analysis -> engage
  • send messages to users and get feedback
  • SDK available in Android and iOS
  • similar services: motally (acquired by Nokia) & xtify
  • released beta two days ago
  • have REST/JSON API for data
    • not publicly available right now, but available on a case-by-case basis
  • also have a real-time API

  • pricing:

    • free during beta period
    • haven’t decided pricing structure
    • probably freemium — pay for additional functions/users

new analytics capabilities

  • how long users are spending in each screen of your app
  • really nice user path — based on screens, not events
  • real-time analytics — can monitor where people are in your app right now
  • crash logs with device, firmware, etc details
  • as per other analytics, store data locally and send later if not connected
  • Android SDK automatically picks up activities

CRM

  • announcements and polls
  • target by carrier, country
  • test before publish by sending to a single device
  • schedule for particular times

Qualcomm Alljoyn

http://developer.qualcomm.com/dev/alljoyn-p2p

  • exposes a shared communication bus based on DBus
  • automatically uses Wi-Fi and Bluetooth as device allows
  • Java and C interfaces
  • Java interface lets you just send/receive/call POJOs
  • Wi-Fi uses mDNS to find services by well known name (a URI)

Continuous Integration with Maven & Hudson

Hugo Josefson from Jayway (founded Maven Android plugin)

http://code.google.com/p/maven-android-plugin/

Slides and Hudson installation script available from http://code.google.com/p/maven-android-plugin/wiki/Presentations

Android and Maven

  • there’s also a proguard plugin — can use to trim unused classes
  • maven can handle inter-project dependencies
    • keep pure Java code in a Library (so can have local unit tests)
    • then can have app depend on library and on-device tests depend on app
    • see Samples project for MorseFlash example
  • there’s also an Eclipse plugin that helps ADT & Eclipse understand that they’re dealing with Maven
  • the process that takes the longest time is the DEXing

Android, Maven and Hudson

  • don’t see any reason to run Hudson in Tomcat — it comes with its own webserver
    • though it should work fine within Tomcat too
  • Android emulator plugin for Hudson: http://wiki.hudson-ci.org/display/HUDSON/Android+Emulator+Plugin
  • emulator settings: 2.2, mdpi, hvga, en_US, 64M
  • can loop through different settings for emulator
  • Hudson server needs some X libraries but will still run headless
  • currently don’t find out which tests fail when Android tests fail — have to look at logs

Google Q & A

I only noted down one question from the second Google Bootcamp Q & A session:

  • can you target apps at Android tablets?
    • can target large screen devices (currently Galaxy Tab + Dell Streak)
    • will also hit Evo 4G as that has hi resolution too, but smaller screen

Monday, 12 October 2009

MomoLondon: Go your own way? A fresh look at LBS

Tonight’s event was probably the busiest I’ve ever seen the CBI Centre — the room was packed and there were loads of new faces. In terms of the content, there were good bits and not so good old bits — the “walk past a shop and get a voucher” idea reared its ugly head yet again, despite being shown several times to be of no interest either to advertisers or to the consumers.

Vodafone showed off their 360 phone and some services, but shorn of the glitzy launch, it looked a little clunky. The panellists spent a lot of time talking about foursquare and Andrew Scott of Rummble got a few words in edgeways. I’m not quite convinced that either of them have a business model. Shazam looked impressive and gave a good demo — they do have a business model, even with Spotify around. The guy from Cloudmade knows his stuff about maps (the stuff they do is fantastic), but didn’t seem to have much of a clue about mobile.

Skyhook Wireless

Kate Imbach

  • Now selling hybrid location: Wi-Fi, Cell ID & GPS
  • 10-20m accuracy within 1s
  • Drive to find networks
  • London coverage follows people, but empty in parks
  • 125m+ APs worldwide
  • 70% population coverage in Europe
  • Commercial apps require an ad revenue share or a licensing fee
  • Free apps can use SDK for free

Some examples (all on the iPhone):

  • Sit or squat — rate toilets…
  • MyStarbucks
  • Flixster — cinema reviews w/social features + find cinemas & restaurants close by
  • Shazam tying music to locations
  • Sportacular — voting by location, then see stats over country
  • TuneWiki — see where people are listening to what music, and what’s popular around you

Advertising

  • MyTraffic — driving alerts, works in Boston
    • has smarter location-based advertising — but who is selling them?
  • Scoreloop — location-based leaderboards
  • Amazon — what’s popular in Seattle this week? what are the business books selling in London?

http://www.skyhookwireless.com/developers/developersguide.pdf

New launch — Maps Booster for S60

  • feeds Skyhook location into all location APIs on the phone

Vodafone 360 Demo

Patrick Weissert

  • WiFinder acquired by Voda and providing location for 360 phone
  • VF 360 widgets (see http://jil.org) have location API available
  • Apparently Vodafone 360 is still beta…

Flook

Tristan Brotherton

  • browse photos (“cards”) around you and see where they are
  • can add comments to the cards
  • have a follow model like twitter
  • can collect cards you find interesting (favourite)
    • can then add categories
  • scoring mechanism
    • if other people collect your cards, you score more
  • seems too much like twitter with twitpic
  • (integrates with twitter)
  • what’s the business model?

Shazam

Jonathan Symons

  • > 35m users
  • live in 150 countries
  • Jonathan’s role is to think of the money…
  • money comes from:
    • users getting involved, sharing app & music
    • buying things
  • getting roughly 60,000 tweets of music a day
  • “I can find myself in a bar”…
  • meet new people who like the same music
  • basic service for free, funded by advertising & follow-on content acquisition
  • additional services cost

Panel Session

Panellists:

  • Stuart Dredge of Mobile Entertainment
  • Kate Imbach, Skyhook Wireless
  • Jennifer Hicks, Ink Communication
  • Nic Black, Cloudmade
  • Roberta Lucca, Vertu
  • Patrick Weissert, Vodafone

Vertu

  • just launched a new phone
  • together with a location awareness service
  • Vertu consumers work hard, play hard, spend hard
  • travel way more than average
  • not digital natives — use things that are relevant for them
  • want recommendations & whole experience, completed with human concierge

Cloudmade

  • here to lower the barriers to entry for location apps
  • making location a feature, not a whole application

Ink Comms

  • Global Marketing & Strategy
  • analysis

Is iPhone leading the way? What about Android & Symbian?

  • KI: a lot of focus on iPhone
    • Android devs scaling back and going for iPhone instead, since that’s where the money is now
    • Lots of faith in Android but it will take its time
  • NB: various limits for iPhone, esp. everything has to be active
    • Android allows swapping out services for others, e.g. using Cloudmade map service instead of Google
  • PW: VF360 addresses 3 out of 6 segments
    • iPhone is making mainstream what we thought a couple of years ago was just for geeks
    • Android will take similar path
    • can share VF360 even if you’re not on Vodafone (and it picks up facebook, etc)

Foursquare

  • JH: foursquare may come up with a biz model with advertising on a local level
  • NB: foursquare about building up local content
    • need it for developers to play with
  • RL: content useful and so is location, but targeting is vital — need to match the right content according to the influencers
  • NB: have a choice of “what don’t I show on the map”
    • depending on the activity, the time, the context
  • SD: segmenting by the apps you select
  • RL: sometimes people don’t want discover things — they want the choice made for them

Has the industry come round to starting with the service rather the tech?

  • KI: lots of complaints that the Apple App Store has too many apps, but there are a lot of niches
  • KI: 100s of millions of lookups every day — location is becoming ubiquitous within apps, becoming mainstream

How are people making money?

  • KI: Visa are sponsoring a shopping app, seeing $15-24 CPMs — does anyone know what this is?
  • JH: still trying to come together
    • lives in Amsterdam, people are using foursquare like crazy
    • social networking side of location services
  • NB: releasing first part of location based advertising service later this year
    • tailor advertising to app’s context
  • RL: need to involve audience
  • PW: flixter are ticketmaster — they sell tickets
    • the app is advertising for their own service

@torgo: What about the privacy issues? Could that lead to a backlash against location services?

  • KI: app developers are sensitive to the privacy issues
    • generally sharing location for the user experience
    • weird when app asks for location for no reason
    • Skyhook don’t do user application tracking
  • JH: consumer issues will hit as this stuff spreads
    • consumers can get picky
    • getting libel suits as twitter becomes mass market
  • NB: thinks the early adopter community are more concerned by privacy issues

How does immediacy affect social mores?

  • RL: different countries reacting differently
    • next generation will not bother about personal info
    • e.g. Google StreetMap just useful
  • KI: gave up on privacy after my mother guilted me into accepting her friend request on facebook
  • Floor: In Amsterdam, youth feel privacy is very important
  • JH: want you to ask permission to share their info
    • teens will not part with their phones
    • will not be sliced by age; depends on industry
  • PW: need to enable location selectively
    • not enable every tweet
    • choose to

How does Vertu work with location?

  • RL: Vertu handsets are Series 40, but luxury
    • use of location is made clear — transparency
  • SD: more like “push my location to the paparazzi right now!”

What is the thing that O2 UK could do that would be most helpful?

  • NB: reduce barriers to entry: make location part of the platform, and pay them for using it, via location

Does advertising really work?

  • A user is in Kensington, shoe shopping and I want to serve them an ad. Right now, advertisers might have an advert about shoes, probably clothing instead, almost certainly not Kensington
  • NB: might also want to tell people about coffee shops nearby
  • JH: talks about walk-by advertising…
  • @fj says “I’m not responsible for any store making money - get outta my phone!”
  • KI: no inventory
    • no incentive to sell more targeted ads as they sell less impressions that way
    • location-based banner ads are probably not the way things will go
  • PW: time & location push model doesn’t really work
    • more about pull — enabling people to find you

Will there be more integration between mobile and web apps?

  • PW: VF360 all about that. Can sync them up
  • RL: all about lead time: takes a long time to put a new device on the market, but not to launch a service

Are we going to see content fragmentation?

  • PW: biggest problem of app store model — think that services will converge
  • SD: federating content like wikipedia
  • NB: will be launching a “publish content through a central service” later this year

For certain apps, a facebook app is worth about 400 leads

  • JH: it’s too early
    • foursquare think they will make money from local advertising
    • they’re experimenting at the moment
  • Andrew Scott: foursquare not making money — just taken $100m of funding…
  • RL: concentrate on providing something that is highly valuable for their consumers

Upcoming events

  • 26 Oct — Mobile Phones for the Senior Market
    • Even in the UK there is only about 50% penetration in the 55+ market
    • Learn about the opportunities and how to take advantage of them
  • 26 Oct PM — DCKTN Mobile World Congress competition judging
  • 9 Nov — Mobile Monday joint birthday part w/Swedish Beers
  • 7 Dec — Heroes of the Mobile Screen
  • 4 Dec — OpenMIC in Guildford on AR & Location