The Compass and the Clock

Our struggle to put first things first can be characterized by the contrast between two powerful tools that direct us: the clock and the compass.  The clock represents our commitments, appointments, schedules, goals, activities — what we do with, and how we manage our time.  The compass represents our vision, values, principles, mission, conscience, direction — what we feel is important and how we lead our lives.  In an effort to close the gap between the clock and the compass in our lives, many of us turn to the field of ‘time management.

– Steven R Covey, First Things First

Metrics vs. Depth

I often see teams that maniacally focus on their metrics around customer acquisition and retention. This usually works well for customer acquisition, but not so well for retention. Why?
For many products, metrics often describe the customer acquisition goal in enough detail to provide sufficient management guidance. In contrast, the metrics for customer retention do not provide enough color to be a complete management tool. As a result, many young companies overemphasize retention metrics and do not spend enough time going deep enough on the actual user experience. This generally results in a frantic numbers chase that does not end in a great product. It’s important to supplement a great product vision with a strong discipline around the metrics, but if you substitute metrics for product vision, you will not get what you want.

– Ben Horowitz, “The Hard Thing About Hard Things

I’m really enjoying this book. It’s just the right balance of management theory and start-up war-story to be both engaging and immediately useful.

How BuzzFeed built value by designing awesome experiences inside other platforms

In some recent client work, an emerging theme is that consumer tech. / media start-ups no longer control the most important bits of their UI.

Today, if you’re a consumer technology or digital media company, nearly all of your customers will first encounter you through a channel like Facebook, Instagram, twitter, an app store or an email application. In each case:

  1. You, as the app developer or content owner have minimal control over how your application or content looks and works in these platforms.

    This means that you need some very good designers, engineers, and content creators who deeply understand each channel from both a technical and audience perspective. You need to excel within tight constraints, and be able to change your Facebook App or twitter strategy very quickly based on user behavior.

  2. Most of these channels are controlled by incumbents who set the rules for these channels and can change them at a whim.

    This means that you need to grow very quickly, develop your own direct connections with users, and find an early exit strategy that will work.

    BuzzFeed excels at both of these. And between all of the stupid top-N lists, and cat videos, they’re also producing some fantastic long-form journalism. So yeah, I like this deal.

Most of Facebook’s valuation is driven by 0.15% of Mobile Gamers

As you read the breathless reviews of Facebook’s Q2 2014 results, remember that the entire App economy depends on a tiny group of whales who spend hundreds of dollars a month on in-App purchases.

This is terrifying.

Facebook’s stock price is the second derivative of in-app purchase revenue. Things are highly geared, and incredibly risky. Which isn’t to say that you can’t keep making money on $FB; just know the risks you’re running.

It’s only a matter of time before Tim Cook makes a move to capture some of the App advertising market for himself.

All that said, well done Facebook!

Pre-Apocalyptic Detroit

The New York Times Magazine ran a breathless story on the “rebirth” of Detroit. In part, the story was told through the eyes of Dan Gilbert, the CEO of mortgage machine Quicken Loans. Memorable quote:

One of Gilbert’s new downtown properties is an iconic Kahn creation from 1959 called Chase Tower, previously the National Bank of Detroit Building, which spans a full city block. Now nicknamed the Qube, the building houses hundreds of Quicken loan officers who sit or stand at small desks, working their phones. Employees are encouraged to write on the walls, which also display the latest tallied results in competitions between internal sales teams. Stenciled on the walls as well are the Quicken credos, 19 bits of pithy wisdom the company calls its “Isms.” (“The inches we need are everywhere around us.” “Numbers and money follow; they do not lead.”) Above the workers hover decorative, spacecraft-like orbs, in peach and pink and aquamarine, matching the colors of the cabinetry and carpeting. The overall atmosphere resembles “The Wolf of Wall Street” as art-directed by Dr. Seuss.

I can’t help but think that the Times, yet again, missed the point.

Detroit, once the beating heart of American industrial supremacy, is now reduced to flogging mortgages at overextended American consumers.

If that’s not a metaphor for the decline of the U.S. as an economic power, and the fall of the blue-collar middle class, I’m not sure what is.

Pre-Apocalyptic Detroit

Apple backs down, restores ability to sync contacts & calendar without an iCloud account

Back in October I noticed that, with the release of Mavericks, Apple removed the ability to sync your Contacts and Calendar directly between your Mac and iPhone or iPad. Instead, they forced you to use iCloud, and upload and store your information in iCloud.

I was a bit peeved at this; so were other people. I didn’t think that I should have to share my Contacts with Apple just to move them between two pieces of hardware that I own.  Especially since I had never had to do so in the past.

Anyway, in OS X 10.9.3, it looks like Apple restored the ability to sync your Contacts and Calendar directly between your Mac and your iPhone or iPad.

image

You’re welcome, internet.

Effectively change the hosts file of your iPhone, iPad or Android with ettercap

Based on “Test web apps on iOS by DNS spoofing your LAN with Ettercap” by Henrique Barosso. Modified to work on a Mac running OS X.

To access a website or service that uses a virtual host but isn’t in DNS, you need to add it to the hosts file of the machine you’re using for testing.

Unfortunately, you can’t edit the hosts file of a (non-jailbroken) iPhone or iPad. This makes testing difficult.

As a work around, we’re going to use ARP spoofing to intercept DNS requests from your iPhone or iPad and respond to those requests with the IP address of your virtual server.

So, if accessing your development environment requires a hosts file entry like

192.254.12.1	devserver.mysite.com

then this process will let you tell your iPhone or iPad to resolve devserver.mysite.com in the same way.

A few things to keep in mind before you do this:

  • you need to have sudo on your Mac
  • your iPhone or iPad and Mac need to be on the same WiFi network, and
  • you can do a lot of evil, evil things by ARP spoofing on a public network; do not do this, it’s illegal

With that said, to get this going:

  1. Install ettercap. I recommend using homebrew to manage linux ports on your Mac:
    % brew install ettercap
  2. Find the IP address of the device (iPhone or iPad) you’d like to test with. On iOS 7 you can see your phone’s IP address by navigating to Settings > Wi-Fi > Wireless Network Name . Let’s say it’s 192.168.1.105.
  3. Turn of WiFi on the device you want to test with; this will clear its ARP cache.
  4. Edit /usr/local/etc/ettercap/etter.dns and add an entry for the virtual server you would like to test, e.g.
    # Websites for testing
    devserver.mysite.com   A   192.254.12.1
    
  5. Enable the firewall and IP forwarding:
    % sudo sysctl -w net.inet.ip.forwarding=1
    % sudo sysctl -w net.inet.ip.fw.enable=1
  6. Start ettercap and activate the dns_spoof plugin:
    % sudo ettercap -i en1 -T -q -M ARP:remote -P dns_spoof /192.168.1.105/ //

    Remember to replace 192.168.1.105 with the IP address of your phone or tablet.

  7. Turn WiFi back on on your device.

    If everything worked properly, you should see some output from ettercap, letting you know that it’s intercepted an ARP request on your device.

    % sudo ettercap -i en1 -T -q -M ARP:remote -P dns_spoof /192.168.1.101/ //
    Password:
    
    ettercap 0.8.0 copyright 2001-2013 Ettercap Development Team
    
    Listening on:
       en1 -> XX:XX:XX...
    
    SSL dissection needs a valid 'redir_command_on' script in the etter.conf file
    Privileges dropped to UID 65534 GID 65534...
    
      33 plugins
      42 protocol dissectors
      57 ports monitored
    16074 mac vendor fingerprint
    1766 tcp OS fingerprint
    2182 known services
    
    Randomizing 255 hosts for scanning...
    Scanning the whole netmask for 255 hosts...
    * |==================================================>| 100.00 %
    
    Scanning for merged targets (1 hosts)...
    
    * |==================================================>| 100.00 %
    
    7 hosts added to the hosts list...
    
    ARP poisoning victims:
    
     GROUP 1 : 192.168.1.101 CC:XX:XX:XX:XX
    
     GROUP 2 : ANY (all the hosts in the list)
    Starting Unified sniffing...
    
    
    Text only Interface activated...
    Hit 'h' for inline help
    
    Activating dns_spoof plugin...
    
    dns_spoof: [devserver.mysite.com] spoofed to [192.254.12.1]
    
  8. Try navigating to devserver.mysite.com on your device. If it doesn’t work, then try turning your WiFi on and off again to flush the ARP cache.
  9. Once you’re done testing, press q to exit ettercap.

That’s it! If you have questions, concerns, or enhancement suggestions please let me know on twitter (@josephby) or join the conversation on Hacker News.