The two background themes of this blog conspire: my digestive problem is keeping me awake, and stopping my dreams. Well at least I’m not fitfully asleep, dreaming that there’s a small weasel biting the left side of my trunk or something.
Lots of great conversations with people about my ongoing flailing ideas here. I am awful at replying to email, because by the time I’ve found the reply button, there’s another email to read and oh, bright shiny blog thing, but I did read them all. Even the guy who said that I’d just rediscovered Ray Ozzie’s Groove (sorry if I was a bit rude in my reply, Andre).
What made me rub my hands with glee was that all of the replies were by people who I know are much smarter than me, which means I’d managed to fulfil my primary aim of expressing an idea so irritatingly vaguely that better heads will fill it in for me.
A telltale of my favourite smart people is that they don’t prematurely pessimize, which is to blindly announce “Well that would never work because X, Y, and Z”. Buzzkill. No, my kind of smart people go “Well, you’ll have to fix X first, which I think you could do by doing A, B, and — oooh, I bet we could solve ‘Z’ with some string and that doorknob over there! Let’s go!”
However, to speed things along, I’m now explaining to such people there’s a class of problems that I don’t even want to fix in this thought experiment (which, to remind everyone, is — what happens if we push to the edge everything that we’re currently throwing onto Google Documents and other Web-based services). Examples of this class of problem in my gedankenexperiment are:
- There’s not enough bandwidth for a home or mobile servers.
- Customer-level connections are too unreliable for services.
- Hard-drives are too fragile to lug around with you.
These are examples of problems that I hand-wavily announce will bore themselves to death. That is to say, I don’t want to talk about them, because I believe they are very dull, and I am confident there are clever people who don’t find them quite as boring as me will solve them for me.
There is risk here. You do have to be careful of what problems you assume will die of boredom, because sometimes they turn on you and bore your entire future vision to death instead.
NAT traversal is a good example of that. NAT traversal is a tremendously dull topic that was far too boring for most of the people excited about P2P technologies in 2001 to think about for very long (although the ones that did find it fascinating kept the rest of us up until 4AM drawing funny diagrams). They had a revolution to lead! Endless opportunity lay just beyond the horizon!
P2P was what Web 2.0 was supposed to be, incidentally, five years earlier, almost literally (the Web 2.0 conference came from Emerging Technology which came from the ashes of P2Pcon). Sadly, P2P never developed escape velocity, and the entire fledgling industry collapsed more-or-less into BitTorrent and Groove, and that was that. NAT traversal was one of the problems that still hinders it, as is the fact that client PCs generally don’t act like servers, but vanished off and on the networks in irritating ways. By the time you’d coped with constantly self-dismantling networks and impossible to reach edge nodes, I understand most P2P developers wanted to gnaw their own legs off in tedium. The endless opportunity had to be endlessly postponed while everyone fixed this one last problem with getting the Network to work over firewalls, and with constantly changing dynamic IPs, and a whole rats-nest of other dull issues.
If you want a more modern way of thinking of the risks of a boring problem, think of the utterly dull issue of cross-platform JavaScript compatibility. An entire generation of AJAXian prototypes died on intranets because they weren’t cross-platform, and it took decent JS frameworks and know-how built by Stakhanovite miners in the dark pits of tedium.
But we prevailed! The problem, pinned down by the corpses of endless headslapping programming hours, finally died of its own boredom, and JavaScript ultimately came into its own. About seven years later than anyone imagined.
Boring problems can heavily delay the arrival of the future, but they don’t really change the game.
So because we are all Buckminster Fullerish futurists here, let’s airily discount them. Our problems with bandwidth, at least in the United States, are down to awful, creaking monopolies, that will slowly die choking on their own gorged subsidies and foul bellhead toxins (and if not, there’s always China). The fragility of harddrives isn’t going to last another generation.
The unreliability of consumer connections, though. Um. I don’t know whether this is a problem that will die or be fatal. One could argue that it was what actually *did* kill the P2P unboom. Certainly, unreliability is something that the Internet is supposed to deal well with, and when it doesn’t, we could certainly do with some deliciously generalisable solutions. It’s not like it’s not a problem if you keep servers where they’re supposed to be, in yonder cloud. When your main server goes down, what do you do? And can you do that when your edge server drops off the Net a couple of minutes every day, or a bunch of seconds every hour?
Oh, all right. Have your damn comments. You’re just going to pile on and say you don’t have the slightest idea what I’m talking about, and have I tried peppermint tea, aren’t you?