Blog

  • The Coming Social Advertising Revolution

    Facebook has over 400 million active users and members spend over 951 man-years on the site each month. Facebook is passing Google this year as the most visited site in the US and is going to earn somewhere between $710M and $1.1B in revenue this year.

    Google on the other hand have a $27B revenue run rate for 2010 [based on Q1 2010 earnings]. With similar on-site traffic they are doing 25 times Facebook’s revenue. Google have had a long time to learn about printing money efficiently, but even so that’s a blush-worthy statistic for the Facebook executive team. So why the difference in performance?

    Facebook has a crisis of intent. When a visitor signs in to Facebook their intent is to socialize. They don’t want to buy anything and they certainly don’t want to click on ads that lead them to buying something. Facebook has the best data on the web about the people using their service. But all that wonderful data is useless without intent.

    When a visitor hits Google their intent is to see something, learn something, do something etc and these can be cajoled into buying decisions. If Google guides the user to the right vendor, they make a vendor money and can share in some of the revenue. Google’s data on each visitor pales in comparison to Facebook. But Google catches each visitor at the moment they have intent. And that is the power of the search business.

    Facebook needs to solve their crisis of intent. Intent is the missing ingredient that stands between Facebook and $27 Billion in revenue multiplied by the social graph and profile data that Google doesn’t have.

    Changing Facebook.com to capture visitor attention when they have buying intent risks destroying a valuable asset. So instead Facebook have decided to take their data to the places where visitors have intent: The rest of the web.

    “If intent won’t come to Facebook, we’ll take Facebook to intent.” ~Mark Zuckerburg [may have said this]

    In the next 3 to 12 months Facebook are going to roll out their own ad network for publishers – a direct competitor to Google AdSense.

    If Facebook can use my interests, sex, age, location, who I’m friends with and their age, location, interests etc. to infer that when I’m searching for a ‘bobbin’ it’s probably because I want to tie steelhead flies with it, then it makes more sense for every publisher on the web to use Facebook’s ad network than Google or anyone else because they will simply make more money.

    Facebook’s Ad Network will make publishers more money and increase engagement.

    Facebook Connect was phase 1: “Lets see if a distributed Facebook gets traction and doesn’t raise privacy flags.” It was a resounding success.

    The Social Web and Open Graph is phase 2: “Lets see if we can share some user data using an opt-out model.” From the Facebook blog: “For example, now if you’re logged into Facebook and go to Pandora for the first time, it can immediately start playing songs from bands you’ve liked across the web.”

    There have been the usual privacy rumblings, but so far the Facebook community seems to be OK with an opt-out model of distributed data sharing.

    The significance of this is staggering: Facebook have positioned themselves for the perfect AdSense kill-shot. 6 to 12 months from now publishers will  be able to integrate Facebook’s applications and ad network on their blog or website and get:

    • Better revenue than Google AdSense or any other ad network due to better targeting
    • Increased user engagement through social features
    • Increased virality through recruiting other Facebook members
    • Increased data on each visitor from their very first pageview reducing bounce.

    Advertisers will get:

    • Less click fraud because you’re no longer just an IP address and a cookie.
    • Better targeting including the holy grail of demographics: Age, Sex, Location.
    • Ability to show your ad at the moment a user has buying intent on a search engine, a blog about visiting Egypt, etc.

    A significant portion of Google’s $27 Billion in revenue this year will come from their publisher ad network. Google knows what’s at stake. That is why they are willing to bet GMail on products like Google Buzz.

    Facebook is the most serious threat to Google’s business that they have faced. If Facebook plays this perfectly, they will kill the bear and 5 to 10 years from now will be the largest and most profitable ad network on Earth.

    Anyone who plans to compete with them will have to do better than textual ad targeting.

  • PlatformFu for Hackers and Startups

    Being over 35 has it’s advantages. Us old(ish) timers have lived through Microsoft using their platform to beat the hell out of Novell, Netscape, Real Player and others. Watched Eric Schmidt’s ascension from platform victim to platform player. And learned that platforms are honey traps that give good honey but you might get caught.

    Twitter Investor Fred Wilson wrote a much talked about post earlier this week that sparked a discussion about whether Twitter would implement critical apps themselves. Seesmic founder Loic issued a stark warning to Twitter developers today. Apple continues to bar Adobe’s Flash platform from Apple’s iPhone platform and Adobe evangelist Lee Brimelow pulls no punches in his “Apple slaps developers in the face” post today.

    Ten years ago a developer was faced with a much scarier platform landscape. You either build on Microsoft’s monopoly operating system and risk them implementing your app themselves, or stop being a desktop developer. Web Applications were really Web Sites, web platforms didn’t exist and mobile platforms were completely proprietary.

    These days playing with platforms is a little easier because you have a range of platforms and integration methods to choose from. You can build a Facebook app that runs inside Facebook or integrate via FB Connect. You can choose to build on Twitter instead. And if you like you can integrate both to hedge your bets and add social features of your own on a completely external website. If you’re building a mobile app you have Droid and the iPhone to choose from and if both suck, well both platforms have a web browser so a lightweight web interface is an option too. Even in the desktop OS arena if Microsoft rubs you the wrong way there’s always the smaller but more spendy Apple market to go after.

    When formulating your platform strategy it’s important to put yourself in the providers shoes and think about the following:

    1. Are they wildly profitable or is it possible they might go out of business or radically redefine their business?
    2. Have they figured out their business model yet or might your app become their model?
    3. Is their API locked down and unlikely to change or is it evolving as they figure out what business they’re in and how much of their revenue they want to give away via their API?
    4. Are they waging a strategic war with anyone that may affect your business and your app?
    5. Does any part of your own business compete with any part of their business? How about in future?

    Being first to market on a new platform has it’s advantages. My former colleagues at UrbanSpoon got their iPhone app in an Apple ad because they were early adopters of the platform. Smart move – and smarter given that they weren’t betting the farm on the platform. But early adopters of the Facebook platform saw revenues and traffic change as Facebook evolved the platform early on.

    So when building your app, first carefully assess the state of the platform and then decide how and at what level you want to engage it.

  • Perl: Kicking your language's ass since 1988

    The video below is Perl’s development history since Larry Wall and a small team started out in January 1988. It’s visualized using gource. Notice how dev activity has continued to increase all the way to 2010.

    Perl is a powerful language. It’s also fast and everything you need has already been implemented, debugged, refactored, reimplemented and made rock solid. If you ever have a problem, it’s already been solved by someone else. When I was in my 20’s I was a big fan of the new-new thing. Now, as a startup owner taking strategic risks and trying to reduce risks in other areas of the business, I love Perl because I know it will do right by me and I deploy code knowing I’m not betting on a language that might one day grow up to be what Perl already is.

    Watch the video in 720 hidef on full screen (Youtube link) to see all the labels. It’s awesome realizing how much work and evolution has gone into some of the core libs that I use.

  • A nuclear Google may be a very good thing

    Update: April fools courtesy of Arrington and I got taken in bigtime. Ugh! Leaving the original post up as an ode to my naivete.

    52 years ago in August 1958 the United States was so confident in our ability to provide clean nuclear energy that we put one hundred and sixteen men in a tin can called the USS Nautilus and sent them along with a nuclear reactor under the North Pole. Many of the crew from that voyage remain alive and well today.

    What puzzles me is why the USA isn’t the undisputed world leader in nuclear power. Perhaps the title of undisputed leader in nuclear weaponry and leader in nuclear power are mutually exclusive. So it’s France who produce most of their power from nuclear reactors.

    Google getting into the business of Nuclear power is the most exciting development in nuclear power in this country since the Nautilus. Google’s data centers are massive power consumers, but what also consumes a lot of resources is power transmission. It consumes land, steel, and a lot of power is lost during transmission.

    If you can put a nuclear reactor on a 320ft submarine 60 years ago, you can build a clean nuclear reactor in 2010 with enough power to supply a local data center and the local town it provides employment for. My hope is that this is Google’s nuclear vision.

  • Facebook.com overtakes Google.com as most visited USA domain.

    In a press release from HitWise published on CNN Money a few minutes ago, Facebook.com just overtook Google.com as the most visited domain in the USA. This is possibly the most significant milestone in Facebook’s history as a large company. Here’s why:

    Most of Google’s revenue comes from their Ad business. Half of it comes from their own properties and the other half from a distributed network of sites. (sounding familiar already I’m sure).

    There is a lot of noise around Google’s other apps and experiments, but from a business perspective that’s all it is. Noise. Google is a cash creation machine and the cash is created by the ad network both on and off-site. To give you some perspective, Gmail ranks a distant third among email providers with 37 million uniques vs Yahoo Mail’s 106 million uniques 5 months ago [Comsore].

    So Google’s business is relatively simple. It’s a the best search engine in the world and an ad network with themselves as their own biggest customer.

    Google built this business by first creating an incredibly hot property that gave it’s users an incentive to provide it with awesome targeting data. Then it built an ad network around the targeting data.

    The hardest part about building Google was to create the hot property (the search engine) that incentivises users to keep coming back and feeding it more targeting data. The next part of creating Google was a little easier because if they screwed it up the first time they get to try and try again until they succeed in building a money printing machine on the back of this hot-property-with-targeting-data that really does print money.

    Facebook have the hot property that keeps users coming back and feeding it targeting data. They really screwed up the Ad network the first time they had a crack at it with Beacon. But, predictably, their users forgave them and they’ll keep having another crack at it until their money printing machine is running at optimum efficiency.

    There are a few reasons I believe Facebook may be a bigger success than Google long term:

    1. They have better data in the form of individual demographics, interests and data inferred from the social graph.
    2. They already have a distributed network of sites in the form of Facebook Connect which has deeper integration than AdSense. That means Facebook gets more data about visitors to those sites than Google AdSense.

    Possible risks:

    1. Their management team doesn’t have Eric Schmidt. Eric spent years getting schooled by Microsoft when he ran Novell. So he has the hunger, the scar-tissue and battlefield awareness that you need to compete with juggernauts.
    2. The hasbeen factor. Facebook has had a surprisingly good run and has proven to me it has legs because I’m still going back after a few years. But lets see if they can maintain that over the next decade.
  • How to limit website visitor bandwidth by country

    This technique is great if you have no customers from countryX but are being targeted by a DoS, unwanted crawlers, bots, scrapers and other baddies. Please don’t use this to discriminate against less profitable countries. The web should be open for all. Thanks.

    If you’re not already using Nginx, you should get it even if you already have a great web server. Put it in front and get it to act as a reverse proxy.

    First grab this perl script which you will use to convert Maxmind’s geo IP database into a format usable by Nginx.

    Then download Maxmind’s latest GeoLite country database in CSV format on this page.

    Then run:

    geo2nginx.pl < maxmind.csv > nginxGeo.txt

    Copy nginxGeo.txt into your nginx config directory.

    Then add the following text in the ‘http’ section of your nginx.conf file:

    geo $country {
    default no;
    include nginxGeo.txt;
    }

    Then add the following in the ‘server’ section of your nginx.conf file:

    if ($country ~ ^(?:US|CA|ES)$ ){
    set $limit_rate 10k;
    }
    if ($country ~ ^(?:BR|ZA)$ ){
    set $limit_rate 20k;
    }

    This limits anyone from the USA, Canada and Spain to a maximum of 10 kilobits per second of bandwidth. It gives anyone from Brazil and South Africa 20 Kbps of bandwidth. Every other country gets the maximum.

    You could use a exclamation character before the tilde (!~) to do the opposite. In other words, if you’re NOT from US, Canada or Spain, you get 10 Kbps, although I strongly advise against this policy.

    Remember that $limit_rate only limits per connection, so the amount of bandwidth each visitor has is $limit_rate X number_of_connections. See below to limit connections.

    Another interesting variable is limit_rate_after. The documentation on this is very very sparse, but from what I’ve gathered it is time based. So the first 1 minute of a connection will get full bandwidth, and then after that the limiting starts. Great for streaming sites I would think.

    There are two other great modules in Nginx but neither of them work inside ‘if’ directives which means you can’t use them to limit by country. They are the Limit Zone module which lets you limit the number of concurrent connections and the Limit Requests module which lets you limit the number of requests over a period of time. The Limit Requests module also has a burst variable which is very useful. Once again the documentation is sparse, but this comment from Igor (Nginx author) sheds some light on how bursting works.

    I’ve enabled all three features on our site. Bandwidth limiting by country, limiting concurrent connections and limiting requests over a time period. I serve around 20 to 40 million requests a day on a single nginx box and I haven’t noticed much performance degradation with the new config. It has quadrupled the size of each nginx process though to about 46M per process, but that’s still a lot smaller than most web server processes.

  • Great piece of writing from Rolling Stone

    Rolling Stone is running an article about the US pig farming industry. The opening paragraph is a beauty!

    Smithfield Foods, the largest and most profitable pork processor in the world, killed 27 million hogs last year. That’s a number worth considering. A slaughter-weight hog is fifty percent heavier than a person. The logistical challenge of processing that many pigs each year is roughly equivalent to butchering and boxing the entire human populations of New York, Los Angeles, Chicago, Houston, Philadelphia, Phoenix, San Antonio, San Diego, Dallas, San Jose, Detroit, Indianapolis, Jacksonville, San Francisco, Columbus, Austin, Memphis, Baltimore, Fort Worth, Charlotte, El Paso, Milwaukee, Seattle, Boston, Denver, Louisville, Washington, D.C., Nashville, Las Vegas, Portland, Oklahoma City and Tucson.

    The rest of the article is here.

    Smithfield’s response is here. If as they claim the article is false then I’m sure they’ll sue RS for libel. Somehow I don’t think we’re going to see that lawsuit though.

    Here’s a Google Maps satellite photo showing one of Smithfields ponds, via Hacker News.

  • Does your startup pass The Sleep Test

    Having coffee at 4am after an all-nighter with my co-founder and wife a few days ago we came up with a rather obvious but interesting concept. I’ll call it The Sleep Test.

    Unless your business earns revenue while you are sleeping, it won’t scale.

    If you’re an I.T. consultant or lawyer selling your own time, you can’t scale.

    If you’re a brick-layer who employs other brick layers and also employs a sales person, driver, accountant and all the other business components so that your business runs while you’re not there, you CAN scale.

    If you’re a web developer who writes an application that earns ad revenue or that earns subscription money while you sleep, you CAN scale.

    Most businesses start off with a founder selling their time and with the maximum earnable revenue being tightly limited by the founders available time. The founder works themselves into a stupor and at some point they go through what is often a difficult transition where they “step back” from the business and employ others to take over their various jobs. Many businesses don’t make this transition and it is the subject of much discussion in MBA programs world-wide. The birth of Kinko’s is a great example of this evolution. Paul Orfalea is dyslexic and in the story of Kinko’s he mentions how this forced him to step back from the business and employ others.

    Many “Web businesess” or “Software businesses” need to employ a sales team or have components like fulfillment that don’t scale easily or cheaply. But if your business is a “Web App” that earns you money through advertising or through subscriptions and where the application is the business, it scales incredibly well.

    Web App businesses scale so well that if you “get it right”, they automatically pass the sleep test from day one and they pass the test without you having to employ additional staff.

    Two types of Web App that often pass the sleep test are:

    1. A service that attracts huge numbers of an attractive demographic that can earn you ad revenue or
    2. A service that is so valuable to a group of people that they will pay you for it, preferably on a recurring basis

    Your web app business must also:

    1. Not require additional staff time per customer
    2. Not require additional staff time per dollar earned
    3. Market itself. If it’s marketing is limited by your time, you wont’ scale.
    4. Earn you substantially more money than your business costs to run.

    And that’s it. You need to build a web application that markets itself, earns more money than it burns and that is either wildly popular or wildly valuable.

    If you have a Web App that passes The Sleep Test, congratulations because you have just bypassed one of the most difficult stages of small business evolution and one of the most common points of failure that just about every other business type is forced to navigate.

    Final caveat: I’ve written this post discussing this concept in absolutes i.e. you either do or do not pass the sleep test. Of course in reality there is not a single web app business that does not need to employ more staff as their revenue and customer base grows. Google is a fine example of a business that is designed to avoid having to employ more people as revenue or customers grow and they employ over 20,000 people today. But this test is a useful way to measure and think about how efficiently your business will scale.

  • Basic cooking for bachelor alpha geeks

    Just caught up with a good friend of mine who’s a tech geek and bachelor and needed some cooking advice. I’ve watched bachelor friends give themselves scurvy by getting home and ordering pizza every night. Being a tech geek makes it worse.

    Your $badnessOfDiet += $levelOfAlphaGeek**3

    So my wife put together the list of recipes below for him this evening. They are incredibly basic but are staples that you can make in big batches at the beginning of a week and eat the whole week. You can make a big batch on sunday, freeze half of it and keep the other half in the fridge and thaw it out halfway through the week as you run out.

    The foods below are Low GI so will help you lose weight and you can eat as much as you’d like. They also contain much of what you need in your diet. If you’re a geek looking to lose some weight, this list is definitely for you. I lost 25 pounds (200 down to 175) last year eating mostly this. I’d throw in some fruit here and there (organic apples, banannas, grapefruit, oranges, etc..) The fruit is not as low on the GI scale, so don’t go nuts.

    Also, try to drink your geek dose of caffeine AFTER you’ve eaten. You’ll notice your skin suddenly stops being so dry.

    Lentils                                    Cooking Time:  30-45 min

    Lentils are the easiest bean to cook as they don’t require presoaking.  Sort through the lentils to pick out any rocks.  Rinse them to remove dust.

    Add 2 cups water and 1 cup lentils in a pot.  Bring to a boil then set to simmer.  Cook for 30-45 minutes depending on the type of lentil.  Start checking at 30 minutes. They should be soft.  Not chewy (undercooked) or mushy (overcooked).  Add water if you need to during the cooking time.  You can drain off any excess water if they are done cooking.

    You can eat them plain or add some salt and pepper (such as ½ teaspoon salt and ½ teaspoon pepper) or other spices.  You can add spices during the cooking except salt.  Only add salt at the end or the lentils won’t soften.  You can triple/quadruple, etc the recipe to make a big batch at the beginning of the week.

    Dried Beans:                  Black Beans / Lima Beans / Kidney Beans / Pinto Beans

    Soak Time:  8 hours                  Crockpot Cooking Time:  8-12 hours

    Dried beans are also easy to make but need some planning.  You also sort through the bag of beans for rocks and give a quick rinse.  Soak overnight or at least 8 hours.

    The easiest way to cook is in a Crockpot while you are at work or overnight because you don’t have to worry about the water level getting too low.  Put the soaked beans into the Crockpot and cover with about an inch of water.  Add spices, set the Crockpot on LOW then let the beans cook for 8-12 hours.  Start checking at 8 hours or when you get home/ wake up.  Beans should be soft.  Take one out and sample it to see if it’s done.   If you get home and they aren’t quite done, you can put them on high and they cook much faster but keep an eye on them.  They can get low on water and burn.

    Some spices to add are garlic powder, onion powder, cumin seeds or cumin powder and pepper.  Again, no salt while cooking, it will prevent the beans from softening but the other spices are great to add while cooking.  You can start off adding 1 teaspoon of each spice per 2 cups of soaked beans and modify to suit your taste.

    Vegetables:                  Cooking Time: 5-10 minutes

    Go for variety when eating vegetables.  Steaming is the easiest way to cook.  Get a little metal steamer you put into the bottom of any pot.  Be sure to rinse the vegetables before cooking.  Good vegetables for steaming are broccoli, asparagus, cauliflower, green beans, mushrooms and carrots.  Put in the steamer, add water until it just touches the bottom of the steamer, put in the veggies, cover, put on high until it starts steaming then set temperature on medium.   Most vegetables are done in 5-10 minutes.  Start checking them at 5 minutes until they are the texture you like.

    You can eat them plain or drizzle with some olive oil, salt, pepper, lemon juice or even try balsamic vinegar.

    Herbed Baked Chicken:                                    Cooking 50-60 minutes

    This recipe works great with boneless breasts or thighs.  Rinse the chicken and put into a baking dish.  Over 8 pieces, drizzle a mixture of  1 tablespoon lemon juice, 1 tablespoon olive oil, 1-2 minced garlic cloves and 1 teaspoon each of dried (or 1 tablespoon fresh) of your favorite herbs such as oregano, rosemary, thyme, basil, etc.

    Cover with foil and bake at 350 for 45 minutes.  Take them out and check the internal temperature with a meat thermometer.  This is important.  The best way to not overcook or undercook is to check the internal temperature.  The chicken is done at 165.  If the chicken is already at that temperature, it’s done.  If isn’t not quite there, remove the foil and bake for another 5 minutes. Take it out and check the temperature again.  Repeat until it’s at 165.

  • If your bank doesn't like your startup's blog, they may freeze your funds

    Update: The Fabulis story had legs like I’ve never seen before. When I posted it to Hacker News it shot to number 1 in about 3 minutes and stayed there for 6 to 8 hours. A few hours later Robin Wauters from Techcrunch picked up on the story and since then it’s appeared everywhere from GigaOm and ValleyWag to FT.com. Citi has now issued a formal apology to Fabulis emphasizing their support of the LGBT community which you can read here.

    Update2: Jason posted this update about 4 hours ago with some additional rather startling detail. “Yesterday I was even instructed to come into the branch to view a print-out of the “offensive” content on our site which was in “violation” of their compliance officer’s review of our business account.”

    My original post follows:

    In an utterly bizarre move, according to the Fabulis blog, Citibank blocked Fabulis.com’s bank account a few days ago for “objectionable content on their blog”. To give you some context, Jason Goldberg the Founder & CEO is a good friend of mine and started his career working for Bill Clinton in the White House. He then went on to T-Mobile, picked up a Stanford MBA on the way, raised $50M for Jobster which ended up buying my job search engine, then founded SocialMedian (sold to Xing) and is now working on Fabulis.

    Fabulis is based in NY but Jason is still known and loved by the Seattle startup community and we may one day even forgive him for going to the east coast.

    The company is still finding their niche but it looks like they’re setting up to be a travel portal for gay men. Their blog has had a ton of hilarious videos of guys describing why they’re “Fabulis”. Zero porn, nothing even mildly suggestive or risque.

    Just to be completely clear, we’re not talking about refusing a line of credit here. This is a cash account belonging to a funded company that was blocked.

    I haven’t had a chance to speak to Jason about this yet, so I don’t have any more detail. But after Fabulis called Citi this evening they temporarily lifted the block while “a compliance officer is asked to re-review our website on Thursday”.

    I’m curious why a bank would think they have the right to block a depositor’s access to their own funds based on that banks own moral judgment. Unless I’ve misunderstood the facts, this sets a very dangerous precedent.

    Banks are highly motivated to hold on to your money as long as possible. If they have this power, it is very profitable for them to use it because they earn interest on your money every additional day it stays in your account. Ever heard of the overnight rate?

    One might speculate that this is a form of redlining and that the LGBT community is the new target.

    After their $45 billion dollar public money bailout of Citigroup in 2008 it’s ironic that they would block the bank account of a technology startup who’s goal is to create jobs.

    Whatever the reason, I hope Citi’s PR team is kicking into gear because Jason is no stranger to mainstream media (CNN video) and this seems like the sort of thing that that will get picked up.