Gulf Shores

Gulf Shores Alabama

Focal Length: 0mm
ƒ/ 0.0
Location: false

Papaver Rhoeas

Papaver rhoeas on the roadside

Focal Length: 0mm
ƒ/ 0.0
Location: false


After years of procrastination and inevitable buyer's remorse, I bought a DSLR. I was really set on having a full-frame sensor, HD video and high ISO ranges (for low light shooting) so I went with the Canon 6D. One of my favorite features is the built-in GPS -- a first for Canon. When I looked at the EXIF data, I noticed the geo coordinates tagged for each photo. Since I want to post the photos along with this data on my blog at some point, I hacked up a small Jekyll plugin. The plugin will extract the EXIF data from a photo using the exifr gem into Liquid markup and converts the GPS coordinates into a physical address using the Google Maps API.

require 'exifr'
require 'open-uri'
require 'json'

module Jekyll
  class ExifTag < Liquid::Tag
    def initialize(tag_name, file, token)
      @image_file = File.expand_path "../" + file.strip , File.dirname(__FILE__)

    def render(context)
      exif = EXIFR::JPEG::new(@image_file)
      if !exif.gps.nil?
        coords = exif.gps.latitude.to_s + "," + exif.gps.longitude.to_s
        url = "{coords}&sensor=false"
        photo_gps = JSON.parse(open(url).read)['results'][0]['formatted_address']
        photo_gps = false

Liquid::Template.register_tag('exif', Jekyll::ExifTag)

I've extended the plugin a bit further to output the HTML, pre-wrapped in a nifty div that matches the page layout. The end result looks something like this:

  <div class="panel panel-info">
    <strong>Camera</strong>: Canon EOS 6D<br>
    <strong>Focal Length</strong>: 50mm<br>
    <strong>&#402;/</strong> 1.8<br>
    <strong>ISO</strong>: 12800<br>
    <strong>Location</strong>: 12414 Short Ave, Los Angeles, CA 90066, USA

Hiring A Milkshake

A few months ago, I stumbled upon a video of Clayton Christensen, best known for his study of innovation in commercial enterprises, on hiring a milkshake. Yes, hiring a milkshake. Although the video setting is somewhat bizarre, the concept is simple: design products around "jobs" your customers are "hiring" your product to do.

In a more recent interview with Wired, Christensen wrestles with the notion of investing in efficiency innovations over empowering innovations. This quote really stuck with me:

"We’ve encouraged managers to measure profitability based on a return on net assets, or return on capital employed. That encourages companies to liberate their capital, so they invest in efficiency innovations, which means they can make more money with fewer resources. But what the economy ultimately needs are empowering innovations—like the Model T, the transistor radio. Empowering innovations require long-term investments, which tie up capital for years and years. So companies are using capital to create more capital, and consequently the world is awash in capital but the innovations we need to advance aren’t there."

The Retention Drip

Despite the fact that it’s several times more expensive to acquire a new customer than it is to retain an existing one, very few thriving businesses do the latter effectively. More often than not, growing companies tend to spend more effort on new user acquisition that they often neglect their existing customer base. Look at any marketing funnel diagrams created in the last 15 years and you'll find most stop short after the sale is made. While the greater adoption of lifecycle marketing seems to be pushing things in the right direction, few companies seem to be focusing on keeping customers satisfied for the long haul.

Earlier this week, Groupon reported quarterly earnings that missed the mark -- exposing a net loss of $81 million. Ouch. The problems facing Groupon aren’t new nor are they specific to the discounting model. The daily deal space is inherently flawed; few users are returning for a full-price purchase and fewer are spending beyond the deal value.

Though, these types of retention problems are affecting startups too. I have a habit of signing up for startup-of-the-week type services that I'm curious to try out. I can only think of a handful that have reached out to me to follow up on my experience. For the startups operating a freemium model, you can forget the potential upsell. Offer a new user discount, extend my trial, enroll me in a referral program -- just do something to keep me using your product or service. Loyalty is tenuous, and that has to be earned and nurtured. Dropbox figured this out years ago and they've been dominating the saturated cloud storage space ever since.

Fortunately, a few companies like Userfox, and Preact are working to alleviate attrition problems. By providing event-based messages that are triggered by user actions, or lack thereof, it's possible to target customers and not only predict, but influence their behavior. Businesses that are able to do this successfully will have a significant advantage over their user acquisition-hungry competitors. I'm certain Groupon ex-CEO Andrew Mason would agree; in his resignation letter, he extolls the following:

"If there's one piece of wisdom that this simple pilgrim would like to impart upon you: have the courage to start with the customer. My biggest regrets are the moments that I let a lack of data override my intuition on what's best for our customers."