The spontaneous society

In school they teach you that one of the drivers of economic progress over the centuries has been society's increasingly accurate management of time. The seasons had to be tracked so that farming cultures would know when to plant. Once people started sailing across the oceans, they needed reasonably accurate chronometers to measure longitude. When railroads were built, the idea of uniform time zones became important so that the trains could keep predictable timetables. The term "railroad time" is still sometimes used to mean keeping an accurate schedule.

By the time I was growing up, it was universally accepted that rigorous scheduling was one of the hallmarks of an advanced economy. We scheduled everything well in advance -- classes in school, meetings at work, even social events like parties and dates. How many movies and television shows have you seen where a character says, "pick you up at eight"? And don't be late.

A lack of rigorous time discipline, we were told, was one of the factors holding back economic growth in the developing world. That belief was so well accepted in the US that I don't think anyone even debated it.

So it's very interesting to see what electronic communication -- on PCs, but especially on mobiles -- is doing to time management in the world's most advanced economies. Where my generation pre-arranged its social calendar, I watch my kids make it up on the fly. They'll decide on IM that they all want to get together in an hour, or they'll agree via SMS that they're all going to hang out downtown that evening, where they then call or text each other to link up on the fly.

I have seen this developing for years, but I didn't have a gut feel for its power until earlier this year, when I took my family to Disneyland. Touring the Magic Kingdom with two kids was once an exercise in controlled paranoia. The place is so complicated and crowded that you lived in constant fear of losing one or more members of the family. If you did, it might take hours, and a long trip to the lost child center, to find them again.

Anytime we separated -- mom going with one child to one ride, and dad with another child to a different one -- we had to carefully agree on when and where we would meet up. Inevitably someone would be 15 or 20 minutes late, and you'd spend the whole time worrying that the vacation might fall apart.

It wasn't the walking that wore you out at Disneyland, it was the fear.

But the last time we went was the first time when everyone in the family was old enough to have a mobile phone. Suddenly, as we walked through the park on one of the busiest days of the year, we realized that we didn't have to worry any more. If a child got lost, they could call us. If two people wanted to go off in a different direction, that was no problem at all; we could just use the phone to find each other later.

In other words, we could stay together without staying in sight of each other.

That may not sound like a big difference, but it completely transformed the Disneyland experience. The food was still overpriced, and the lines way too long, but the whole thing was much less stressful. It was almost, dare I say it, relaxing.

It made me realize that a similar transition is happening throughout our society. Ubiquitous personal communication makes it much less important to rigorously schedule many elements of your day; you can just make it up as you go along.

As smartphones arose, we thought they were going to absorb the calendaring function of the PDA. They have somewhat, but I think mobile phones are also making the personal calendar less important.

The first time I went with Palm to China, our employees in Beijing cautioned me that I shouldn't talk about the great calendaring built into Palm handhelds, because people in China just didn't care about it. They didn't schedule meetings, I was told. If they wanted to talk to you, they would just give you a call. At the time I assumed that was just a transitional thing, that over time as their economy grew they would learn to do more and more scheduling. But now I'm starting to think that maybe they were ahead of the rest of us all along.

How to make a college basketball fan very, very happy

A year ago I wrote a frustrated critique of the CBS television network's online coverage of the US national college basketball tournament, which we fans affectionately call "March Madness" even though half of it happens in April (link).

In the tournament, which includes 65 teams, there are often four games underway at the same time, and they start at around 9 am on the west coast. It's an orgy of basketball, but often a painful and frustrating orgy because inevitably your team ends up playing during work hours, or its game isn't even carried on local TV.

Enter CBS, which for the last two years has streamed video of the games over the web. I was furious last year when one of my team's games was blacked out on the web stream. CBS cut off access to it online because it was also being broadcast on local TV; contract problems between the local stations and the network prohibited streaming a local game. As I pointed out in my post, the time you most want to watch the web stream is when you can't access a TV. So CBS was preventing the most important use of its web coverage.

I was pretty steamed. I wrote at the time:

This mess is typical of the foolishness that often happens when old line media companies try to deal with the Internet. They spend millions setting up an elaborate technological tour de force but neglect to take care of the basics, like letting fans actually watch the games they want to see, and making sure all the features work. The lesson: The product you deliver through a website isn't a bunch of HTML and Java code, it's a solution to the problem of a user. Unless all of the elements of that solution line up properly, your product is a failure.

Okay, fast forward a year. Now it's March Madness season again, and this time I have to give CBS credit. They have lined up all the elements of the solution, and they've created a terrific product for their users.

Every game is being streamed live, with no blackouts and no exceptions. The video is a little grainy, but very acceptable when you see it in motion.

Look at the live feed of scores below the video window. You can switch instantly to any game where the score looks interesting. Plus, after the game is over you can go back and watch highlights, or even re-stream the whole game if you want to.

One of the annoying things about watching the tournament on TV is that the network cuts away from one game to give updates on others. So if your team gets a good-sized lead, the announcers will say "let's go to New York" and all of a sudden you're watching Gonzaga play Cornell. When you're watching the web stream, the announcers still say, "let's go to New York," but then they don't go anywhere.

It all gives wonderful empowerment to the viewer. Tonight I could watch USC choke like a dog with a bad hunk of meat in its game with Kansas State, and then pop out to catch Belmont almost upset Duke. CBS showed me the score and time remaining for each game, and I could decide what I wanted to watch.

There's also the obligatory boss button, which displays an amusing fake spreadsheet.

Not that I'd ever need it. Nope, no watching games during work for me. Unh-uh, we're far too busy.

Did I mention that the CEO of Rubicon reads my blog? Hi, Nilofer.

The business side of me admires what CBS has done with its advertising in its tournament coverage. Take a look:

This is what happens whenever there's a timeout in the game. The ad panel on the right is coordinated with the ads that you see in the video stream at left. So companies can make click-through offers or give more details on the things they're advertising. In this case there's a free sample offer.

The whole coverage of the tournament is free; apparently the ads are paying for everything. I hope CBS is making a bundle, because the feed on the web isn't just convenient -- due to the extra control it gives me, watching the tournament on the web is better than watching it live on TV. This is the first time I've ever said that about the web version of a broadcast television show. I feel like I've gotten a little glimpse of the future of video, and I really like it.

Maybe it's possible to have too many developers

I never thought I'd say that, but Apple's making me wonder. Apple says 100,000 developers have already downloaded the iPhone SDK (link). For comparison, it took Palm a couple of years of heavy evangelism to hit the same milestone. That's a deceptive comparison, though -- Palm was a small and relatively unknown company at the time, whereas Apple is a huge brand, with a large base of current Mac developers that it can bring over to the iPhone.

So the process was quite a bit easier for Apple. But still, criminey, 100k is a lot of SDK downloads in just four days. Apple has clearly struck a nerve.

In addition to the 100k statistic, the Apple press release included new endorsements from companies like Intuit, Namco, PopCap (Bejeweled, baby), and SixApart. It's a very interesting variety of companies.

Which raises an interesting question: How in the world will all those developers find an audience? Based on the current iPhone installed base, Apple already has one developer for about every 40 iPhone users. Let's be optimistic and say every user will spend an average of $20 a year on applications (a figure much higher than we've seen on any other mobile platform). Apple keeps 30%, so there will be a total of $560 in revenue per year available to each iPhone developer (not to each app, to each developer). The iPod Touch will increase that number a bit, but not enough to change the math. Either Apple has to grow the installed base enormously, or there are going to be a lot of iPhone developers going hungry.

The iPhone SDK: Apple gets it right

I have time tonight for only a quick note on Apple's iPhone software developer kit announcement. Overall, it is deeply impressive how many things Apple got right. We still need to see more details on terms and conditions, and a lot will depend on Apple's execution, but here are the problems they appear to have solved:

--Mobile applications are hard for users to find and install, so Apple is building the applications store into every device. Apps are installed automatically when you buy them, and you can also be notified of upgrades when they're available.

--Third party applications stores take far too much of a developer's revenue -- 60% or more. So the Apple store takes 30%. That's a bit high (20% would be better), but everyone else has been so greedy that Apple looks like a charity.

--Getting applications certified for use on mobiles is expensive and time-consuming, so Apple has streamlined the process dramatically. Developers pay $99 a year, and apparently get automatic certification of all their apps. We need to learn more about how the app approval process will work, but if it's not burdensome this service alone justifies Apple's 30% cut of revenue. Apple takes responsibility for ensuring that iPhones remain secure and do not abuse the network, something that no one else has been willing to do.

--Developers want to get access to the features of the phone, so Apple has exposed a very rich API set including access to the accelerometer and other special features of the iPhone. This is not a sandbox; it looks like it's access to pretty much the whole OS.

--And oh by the way, Kleiner Perkins is creating a $100 venture million fund for iPhone developers. Makes Google's $10m contest for Android developers look like a popgun.

It has been obvious for at least six years that all of these changes were needed in the mobile market, but until now no one in the US and Europe has had the courage / political muscle / intelligence to carry them all out. The other mobile platforms now look pretty pathetic by comparison -- not so much because their technologies are bad, but because their business infrastructure is so primitive.

At the announcement today, John Doerr called this Apple's third platform, which has a very specific meaning in Silicon Valley. It means they're planning to drive rapid growth in apps, which will make the iPhone more attractive to customers, which will in turn attract more developers, bringing in even more users, and so on in a virtuous circle.

I don't know how far Apple can drive that, just because their sales are so small compared to the total number of phones out there. I still think it's likely that web apps will eventually displace most native mobile apps, because the addressable market will be so much larger. But eventually can take a long time, and if anyone can buck the trend it'll be Apple. They have created by far the best overall proposition for mobile developers on any platform in the US or Europe, and I hope they'll do very well for a long time.

Apple is challenging the rest of the mobile industry to compete on its terms. It will be very interesting to see how the other mobile vendors react, Nokia and Microsoft in particular. Nokia seems to be focused on a strategic positioning activity around seeing who can collect the most runtimes, while Apple is solving real developer and user problems. It's a striking contrast.

The rest of the industry is still trying to figure out how to respond to the system design of the iPhone, and now they need to also figure out how to run an ecosystem as well. Right now Apple is changing the terms of the competition faster than the other guys can react, which is exactly the right way to beat a group of larger competitors.

Nokia and Microsoft, sittin' in a tree...

There's so much hype in the mobile industry that I'm always reluctant to use a word like "shocking," but nothing else fits Nokia's announcement today that it will support Microsoft Silverlight.

If you missed the press release (link), Nokia said that it's going to make Microsoft Silverlight available for all of its mobile platforms -- Series 40 (the low-end phone OS), S60 (the high-end OS), and its Maemo Internet tablet. (It's not clear if Silverlight will be bundled or just offered as a download.) Silverlight is a web app graphics and interface layer, intended to displace Adobe Flash.

The announcement was shocking for several reasons:

--Up until now, Nokia and Adobe had worked together closely. Nokia is one of the few companies paying to bundle Flash on its phones, and Nokia had featured Adobe prominently at some of its developer events in Silicon Valley. So the announcement I was expecting was that Nokia would bundle Air, the next evolution of Flash, rather than its competitor.

--Nokia has generally treated Microsoft as the spawn of the devil. The whole Symbian OS consortium was designed primarily as a way to prevent Microsoft from getting a controlling role in mobile software. Now Nokia gives Microsoft's software layer a huge boost?

--Although Microsoft had hinted vaguely about taking Silverlight mobile, it had given no definite plans at all. So this is a huge step forward for Silverlight.

--Just a few weeks ago, Nokia bought TrollTech and announced that its software was going to unify development across Series 40 and S60. Now Nokia endorses Silverlight, which will also run across Series 40 and S60. Which one are developers supposed to focus on?

What in the world is going on?

I don't know. Nobody from Nokia has explained it to me, so I have to read between the lines. Nokia says in the press release: "Nokia aims to support market leading and content rich internet application environments and to embrace and encourage open innovation. By working with Microsoft, we are creating terrific opportunities and additional choices for the development community." Okay, so I guess what they're saying is that they want to support every platform and development option out there. Presumably the benefit to them is that they can claim their phones support more software than anyone else.

I doubt that's the only motivation, though. By supporting numerous platforms, Nokia reduces the possibility that any one of them can dominate the market and push around Nokia. It also lets Nokia play the sides off against one another. I'm sure the threat of embracing Air made Microsoft give Nokia a very good deal on Silverlight, and no doubt Nokia will now use its Microsoft relationship to get business concessions from Adobe (assuming that Nokia still plans to work with Adobe at all; that's not entirely clear).

Anyway, I can sort of see how this all works for Nokia strategically, although it feels like Nokia is trying too hard to be clever. I'm not as clear on the benefits of all this for mobile developers and users. As was covered in last week's post on mobile apps (link), many developers view the proliferation of platforms as a problem, not a benefit. Microsoft itself said in the Nokia press release:

"We want to make sure developers and designers don't have to constantly recreate the wheel and build different versions of applications and services for multiple operating systems, browsers and platforms."

That's a pretty danged funny quote coming from a company that now offers at least four mobile platforms (two versions of Windows Mobile, Silverlight, Tablet PC, and does .Net CF count as a fifth?), in a press release from a company that apparently wants to support every platform available. If you really think platform confusion is a problem, guys, look in a mirror.

For users, the benefit of all this deal-making is unclear. We're stumbling into a world where you'll need to know details of which platforms are loaded on a particular phone in order to know which apps it can run. I can't think of a better way to discourage use of mobile applications.

The three laws of technology strategy

The other day when I was writing about the fate of mobile apps (link), I mentioned one of the laws of technology strategy. It made me realize that although we in the industry talk about those laws all the time, I've never seen them all written down in one place. There are probably more than three laws, but these are my favorites. Please post a comment if you want to add some more.

Here we go, twenty years of industry experience boiled down to three lines:

1. An elegant business model paired with mediocre technology beats an elegant technology paired with a mediocre business model.

To put it another way, if you create a marvelous tech product that has no way of making money, you get a long and passionate entry on Wikipedia. If you create a lousy tech product that prints money, you get to be Bill Gates.

Windows is the best case study here, but this one has been proven over and over again in the history of the tech industry. But companies keep tripping over it because they're often run by engineers who have been trained to value technical elegance as an end in itself.

Don't get me wrong, elegance is great. The most wonderful tech companies are those that combine elegant products and great business models. But you must pay the bills or you don't get to keep playing. And wads of money can buy a lot of patches and kludges.

2. Design for a need, not a desire.

A serial entrepreneur once expressed this to me nicely: "I focus on aspirin issues." In other words, if someone has a serious enough problem that they feel pain, they'll be much more likely to pay money for an answer. (I wish I could remember who told me that -- I'd like to credit him by name.)

Very often tech companies will fall in love with a concept that is compelling to people in the company, but not to non-technologists. They'll convince themselves that people will want it because, well, they ought to want it.

A related problem: A company will come up with a product that's nice, but doesn't really address an aspirin problem. You know you have this problem when someone in the company says that need a marketing campaign to explain to people why they should want the product. The really good products need marketing for visibility, not persuasion.

I think this is the underlying problem behind most failed web applications. They do something interesting, as opposed to something compelling.

What makes this whole problem especially tough is that you can't just ask customers what they need. They aren't engineers, they don't understand what you could build. All they'll ask you for is improvements on the products they already have today. What you have to do is get inside the customers' heads, understand how they live, and figure out what you could do to improve their lives. That's what the best product managers do.

3. Software designed for one platform usually fails on another.

We teach this one to ourselves every time the industry goes through a platform transition, and then we promptly forget it again:

A computing platform isn't just a technology, it's a mindset, with a huge set of unstated assumptions about customers and business practices attached to it. When you port software from one platform to another, you take those assumptions along with you, and usually they don't fit.

This is why the software leaders in one generation of computing usually fail in the next generation. Check it out -- which software products led in the DOS world? Lotus, WordPerfect, Ashton-Tate. Did any of them thrive in the Windows/Mac world? Nope.

Then did the software leaders in Windows/Mac -- Adobe, Microsoft, Symantec, Intuit -- dominate in the Internet? Nope, the new startups without the mental baggage dominated.

Which leads to an interesting question: Do you think the leaders of mobile Internet will be the same companies that led the PC Internet? Or is the next Adobe/Lotus/Google a little startup out there, rethinking what it means to be connected in a mobile setting?

Think about it.

Following up on "Mobile Applications, RIP"

I was very surprised by the volume of responses to last week's post on the decline of the mobile applications business. Many of the comments were passionate and well reasoned, and if you haven't seen them I recommend that you check them out here.

My biggest insight from the comments was that I had generalized too broadly about the mobile software world. Several mobile developers wrote in to say that they're doing just fine, thank you. Most of them seem to be either in enterprise mobile software, or doing contract development for major companies that have decided they want a mobile presence. In both cases, they have ways to get around the distribution logjam that I see as the biggest barrier to success in mobile software. I wasn't thinking about either of those developer categories when I wrote the post.

Anyway, I really appreciate all the comments. I learn a lot from the folks who post feedback, and I hope the comments are useful for you as well.