The word “platform” used to mean something in the technology industry. Like many other words, it has been applied to so many different things to almost be meaningless.
Yesterday, when I started seeing stuff about the MacOS High Sierra blank root password bug, I took a deep breath and clicked on the first link I saw, hoping it was an Onion article. I read it, picked my jaw up off the floor, and then said out loud “Someone at Apple got fired today.”
Then I wondered if that was true and realized it probably wasn’t. And, that someone probably shouldn’t be fired, but that Apple should do a very deep root cause analysis on why a bug like this could get out in the wild as part of an OS release.
Later in the day, I pulled up Facetime to make a call to Amy. My computer sat there and spun on contacts for about 30 seconds before Facetime appeared. While I shrugged, I once again thought “someone at Apple should fix that once and for all.”
It happened again a few hours later. Over Thanksgiving, I gave up trying to get my photos and Amy’s photos co-managed so I finally just gave all my photos to Apple and iCloud in a separate photo store from all of Amy’s photos (which include all of our 25,000 or so shared photos.) I was uninstalling Mylio on my various office machines and opening up Photo so that the right photo store would be set up. I went into Photos to add a name to a Person that I noticed in my Person view and the pretty Apple rainbow spun for about 30 seconds after I hit the first name of the person’s name.
If you aren’t familiar with this problem, if you have a large address book (like mine, which is around 20,000 names), autocomplete of a name or email in some (not all) Mac native apps is painfully slow.
I opened up my iPhone to see if the behavior on the iPhone was similar with my contacts and it wasn’t. iOS Contacts perform as expected; MacOS Contacts don’t. My guess is totally different people (or teams) work on code which theoretically should be the same. And, one is a lot better than the other.
At this point, I realized that Apple probably had a systemic platform layer engineering problem. It’s not an OS layer issue (like the blank root password bug) – it’s one level up. But it impacts a wide variety of applications that it should be easily abstracted from (anything on my Mac that uses Contacts.) And this seems to be an appropriate use of the word platform.
Software engineering at scale is really difficult and it’s getting even more, rather than less, challenging. And that’s fascinating to me.
I nominate “platform” for overused tech word of 2010. Yeah, I whined about this a few months ago in my post Your Platform Is Not In My Space.
I hear the word “platform” in over 50% of the short pitches I get. A friend of mine who is working on a new startup that isn’t even funded yet (and he’s grinding on the financing) described his goal of “creating a platform for a-phrase-that-only-73-early-adopters-will-userstand.) Entrepreneurs everywhere describe the first release of their MVP (“minimum viable product” – for those of you that haven’t intersected with the Lean Startup movement) app as a “platform”. The first three pages of a google search on “platform” are 33% tech, 33% politics, and 34% other. At least Google image search is more accurate, for example:
Ahem – give me a fucking break. Yup – I get it – it’s great to be a platform. I give you Facebook and Twitter as examples. But real platforms are few and far between. And creating “a platform” is not necessarily the right first move for your brand new consumer facing application. Why don’t you start by being super useful to a bunch of consumers first.
I know I’ve been overusing the word “platform” lately – it’s like a weird brain infection that is hard to diagnose and then eliminate. I’ve found it – now it’s time to remove it from my vocabulary.
In the last few days there have been a large number of posts about two platform companies – Apple and Twitter. These posts covered a wide range of perspectives (a few of the better ones are linked to below) but fundamentally came down to the tension between a platform (e.g. the iPhone OS or Twitter) vs. third party developers that build applications on top of the platforms.
Several of the Twitter related posts include The Twitter Platform’s Inflection Point, Twitter and third-party Twitter developers, and Developers In Denial: The Seesmic Case Study. Several of the Apple related posts ones include and Adobe Vs. Apple War Generates Rage, Facebook Group, Why Apple Changed Section 3.3.1, Steve Jobs response on section 3.3.1. If you missed the leads to the story, Apple made a major change in their TOS and Twitter launched an official Blackberry client and acquired the Tweetie iPhone client, rattling their developer community. And Twitter Officially Responds To Developers and Tries To Calm Fears.
While there has been an amazing outburst of reaction – including much surprise and criticism – to both of these situations, they should come as no surprise to anyone that has been in the computer business for a long time. What we are experiencing is the natural evolutionary struggle that exists between a platform and its developers. In the past few years, both Twitter and Apple have created amazing platforms and build incredible network effects on top of their platforms. One way they have done this is to embrace developers, who have flocked to these platforms in droves, building a huge variety of awesome, great, good, mediocre, and crummy products on top of the platforms. Some of these products have created meaningful revenue for the developers, others have generated fame, and many have generated a giant time sink of work that hasn’t resulted in much. This is the nature of being a developer on top of a platform.
True platforms are special things that are rare. Fortunately, developers have a lot of choices and that is a powerful dynamic that keeps both the platforms and developers evolving. I think the next few months are going to be pretty exciting ones as the current phase we are in sorts itself out.