21 June 2011

Software Stabilization for Video!


Via Google Research:

Casually shot videos captured by handheld or mobile cameras suffer from significant amount of shake... Our goal was to devise a completely automatic method for converting casual shaky footage into more pleasant and professional looking videos.

Eschewing the promo video, I decided to try and run the technique on a video I'd shot from a moving golf cart, that was moving, while climbing a hill, after I'd had a beverage or few. I've added the software stabilized, and the original videos below. Really quite incredible:

Video Stabilized:


Original:

14 June 2011

Tim Bray on the Android Ecosystem


Went to a presentation by Tim Bray. Here are my notes:
Indication of the state of the Economy:
Who's looking to hire people? Who's looking for a job? Stand up and talk to each other afterward.
Explains his role: I'm an advocate, not an evangelist. Tell me about your experiences so I can take them back to the product group.
  • More than 4BB mobile phones in the world today.
  • Only 1BB PCs
  • Only 5 years to get to 225MM users for iOS
Presents a bunch of various choices for presentations and asks for the group to hum based on desire to hear them. That was really funny. Someone really wanted to hear about native versus web app based applications.
Vast majority of developers don't seem to be making any money. In general, here are the various ways to make money:
  • App sales
  • App upgrades (Oracle is great at this)
  • In-app advertising (this is a substantial driver of revenue for a lot of developers, banging the Google drum)
  • In-app sales (this is a big deal)
  • Subscriptions (trip-it for example, leverages server side platform. 37-signals)
Who are you selling to?
The mobile industry wants you to think you're selling to a young urban hipster. Too many mobile apps are aimed at solving first-world problems. This is not just not-smart, but immoral. Note that the population in the third world for mobile phones is exploding. Don't scope your demographic too narrowly to just the US.
Who's buying and installing apps: US is the biggest, next up Japan, next up Korea, next Germany and Britain.
Multiple APK support: Can now provide multiple APKs that target different segments. Question from audience: Can you ship an app per carrier? Not sure.
Fixing the insane app count:
Two hundred thousand apps and counting. Featured apps get a 25x to 50x spike in downloads. Adding in badges: Editor's Choice, Top Developer, Top Grossing etc. Should help distinguish apps.
Question from audience: black-listing? Not a bad-idea.
Uninstalls for apps are very high value signals when it comes to rating an app.
Frustrated question from audience: Why so many ways to rate things? No answer.
Direct Carrier Billing is 50% of revenue: "put it on my phone bill". Transparent to the developer. Didn't take with T-Mobile, but now going nuts in Asia. Every carrier wants this, but it won't happen quickly (two problems):
  1. Carriers have billing from the 1950s, so its a fierce engineering challenge
  2. When you do carrier billing, they show up with 3 engineers and 11 lawyers
Some complaints from audience about FUD around DCB and latency to app deployment:
Google's core competence never really included communication. But we're talking about things.
What's coming in 3.0 and 3.1 (Ice cream sandwich.. no 'J' yet)
  • new 'Holo' theme
  • the Palm guy is the UI Czar
  • Fragments: widgets that have a lifecycle within an activity. Helps during rotation.
  • Really slick notification interface (ribbing at Apple)
  • Menu bar is always on, but you can put it in "lights out mode", which blacks it out
  • New Action Bar on the top: like a menu bar on a pc app, and its contextual based on your app
  • Renderscript: C like syntax that will exec on the GPU, and runs on LLVM under the covers
  • Much better animation
  • HTTP Live Streaming (data rate sensitive with backoff)
Web vs Native: Shows the TripIt app (which implements native, mobile website and full website) through a set of phases.Not obvious. Choices for why native versus web typically hinge on "I know Java (for native)", vs "I know HTML and Javascript (for web)".

04 June 2011

Visualizing ten months of work in under two minutes


Since wordsinmedia.com was written using Subversion as its version control system, I was able to run the wonderful gource visualizer on the version control logs. Here's the end result:


A view from the Oyster Dome

Mid way to the top of the Oyster Dome last weekend with the Ogden's. Four images stitched with Hugin. Click image to expand to a much higher resolution PNG.