Seattle Software Developers


Pugetworks Blog Archive!

Seattle Android Meetup with Tim Bray

I went to the Seattle Android Meetup last night.  It was presented by Tim Bray the Google Android Developer Advocate.  The following are my notes that I cleaned up.  Lots of good facts and observations from Tim.

Current Market Situation

  • Google’s attitude = Mobile First
    • This is where the action is going to be
  • 400k/day android devices activated
  • 100 M devices exist
  • 4.5 B android apps installed
    • US 40.5%
    • Japan 8.9%
    • Korea 13.4%
  • iOS 3.5 B Gross revenue
  • Version Dashboard Updated
    • Tablet = games
  • SMS used to move data in the 3rd world
  • Start free then upgrade = great way to grow business
  • Soon you can sell apps in 99 countries
    • The remaining ones are really hard to setup

Make money by

  • App Sales
  • App Upgrades
  • In app ads
  • In app sales
  • Server Side Subscriptions

Direct Carrier Billing

  • Direct Carrier Billing is “In app billing” but it goes straight to the phone bill instead of a credit card.
  • Huge for 3rd world countries
  • in app billing = in app sales = games
  • Apple hasn’t done this
  • Slow to deploy this system
    • Reason 1: Upgrading the old system is hard
    • Reason 2: Carriers have a lot of legal red tape

Android Market

Android Market = Merchandising

To get featured: Tell Tim
This is the process

  1. Nomination
  2. Goes through an algorithm
    1. Starts
    2. long install rate
    3. they test it heavily
    4. features
  3. 25-50 x increase in downloads

Coming soon features for the Market (June Release)

  • On the market you can now + 1 apps.  Like digg
  • 1 star = spam
  • Larger releases: 4 gig app = 50 MB app + 2, 2GB archives
  • Better ad mob integration

App store still needs

  • Coupons
  • Discounts
  • requires a gen purpose reseller

Improved Reporting

  • So you can file your taxes properly

New to 3.0 and 3.1:

3.0 = Honeycomb = Tablet support

  • Tablet != phone
  • GPU is better
  • Bigger Screen size
  • More Memory
  • Better battery

OS UI Changes

  • Holo theme
  • Action Bar
  • System Bar: Menu Bar
    • 80 px
    • Can’t shut off
    • Light out mode
  • UI designed by the guy behind Palm (UI Czar)
  • Developers control whats on menu vs action bar
  • Contextual Action bar
  • drag & drop
  • http live streaming


  • Fragments = mini activities.  So you can have more than one on a page
  • Transactional approach
  • 1.6+
  • Notifications API

Render script

  • It was built before but, not exposed until 3.0
  • Runs on GPU
  • System scrollers and flingers made this way
  • Better smoother actions
  • Runs on LLVM
  • Plan to farm it to the GPU

Developer Tools

  • Better UI Builder & Code completion
  • Google hired the netbeans interface builder guy


  • Problem with USB
    • Require the device to be a USB Host
    • Requires a bunch of stuff
      • .5 volt power
      • poll devices
  • Solution = Accessory Mode
    • Push the USB host onto the devices so that the devide is the host
  • When a USB device is connected, it fires an intent and can allow for app selection.  So certain devices can be paired with certain apps.

Notable Android Manifest changes:

  • opt-out: exclude devices
  • multiple APK support
    • Mostly for texture compression in games
  • Action Bar : show as action” or “show as action if room”
  • Graphics accelerated = “true”
    • Works bad for maps in a webview
  • Google TV Apps: Soon you can write android apps for google TV, its just a change in the manifest

Write once run anywhere philosophy

  • 3 Platform Tax = (iPhone, Android, Windows 7 Mobile)
  • Titanium
  • Phone Gap
    • Good for Fast Disposable App
  • Web OS
    • Came out of Palm
    • Might be yet another language to code mobile to


  • Cyanogen: Informal version of the android
  • Root phone first then install
  • Allows for more backward compatibility

Quotes, advice, and other things

  • Google’s attitude toward social problems, “Market should sort things out”
  • When you upload an APK you reserve the package name, not when you publish
  • Don’t focus on 1st world problems work on 3rd world problems
  • Only code for 3.1, not 3.0
  • Work with dps, not pixels
  • Intercepting of audio streams = not so good
  • CDMA = no data &  phone at the same time
  • Android is about Intents Activities Services Providers it just happens to be using Java to convey that
  • Myra = programming language Tim likes
    • Hasn’t been released yet
  • Lots more information from the google IO talks
  • JRuby runs on Android
  • It takes 7 Seconds to startup an application
  • NDK is for Game Developers
  • Mem Management issues
  • Not that much better perf wise, Tim thinks