Month: April 2010

  • 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.