The day the world changed?

Later today, Steve Jobs is expected to unveil the much anticipated Apple tablet. I can't really remember what it was like the last time Jobs was expected to do something like this. It has just been 3 years since Apple released the iPhone, and already it is hard to imagine what the world was like before the iPhone, the iPod Touch and the various Android offerings.

Jobs not only made a great product. He reinvented a category of products both in terms of the product itself, but more importantly: the context within which the product exists.

Of course, this was not the first time he had done that. The last time was when he made the MP3 player legitimate and somehow ended up creating one of the biggest music distribution companies in the world. Again, it is hard to remember what the world was like before iTunes and the iPod. They fundamentally changed our perception.

In retrospect you have to wonder what the management at Nokia and Sony Ericsson were doing. At best they were asleep at the wheel. At worst they've demonstrated that any vision that might have been present at the outset has definitively been drowned in the distraction of mediocre product portfolio tinkerers -- people who actually buy into the flawed idea that having a gazillion marginally different products that do the same thing is a good thing; when science so clearly tells us that an abundance of choice only makes the consumer unhappy. There is a fundamental disconnect between observed reality (science) and the weirdness they teach at business schools and then later perpetuate in "mature companies".

Had you asked me 5 years ago I would have said that the mobile phone of the future would run Linux and offer a full JVM (as opposed to the utter garbage that is the J2ME platform) and it would probably come from China. If you squint, I was partially right, but I got the timing wrong. Google released the Android platform which is just that. But only after Steve Jobs kicked down the door.

The most important thing that has been known about a prospective Apple tablet is that Steve Jobs has been opposed to the idea for years. According to many sources his fundamental problem has been "so what would you use it for?". There have been lots of tablet products. As recently as a few weeks ago Ballmer presented a brand spanking new tablet running Windows and the press yawned so violently jaws were dislocated all over the world.

I don't think the Apple tablet itself is the key. I think the key is what Steve Jobs thinks it is for and what its context will look like.

The obvious first guesses are books, newspapers and magazines. Sure eBook-readers with low energy, high contrast screens are nice, but let's be honest: the Kindle is a butt-ugly device and it has more limitations than it has features. It works for linear consumption of books and it is pretty much useless if you were to use it for reference-type books that are generally used in a random-access manner. It does have one redeeming feature: the invisible mobile subscription that keeps you connected to Amazon wherever you are, but this is also the achilles heel of the product since it makes Amazon dependent on mobile network providers.

I will not be surprised if Apple have teamed up with publishers. In particular, the newspaper industry. Newspapers are pretty much screwed and they need to reinvent themselves. Fast. In the US Rupert Murdoch is trying to force the toothpaste back into the tube and get people to pay for content. In europe various newspapers are battling windmills with the blunt instruments that are EU Bureaucrats. Meanwhile, nobody is lighting a fire under the banking industry for failing to provide the payment systems that are needed to eliminate the actual obstacles and which force those who have something to sell to practically reinvent payment and fragment the user experience every time you want to set up shop. (Prediction: within the next 5 years, regulatory bodies will start to recognize the banking workarounds. Why? So transactions can be taxed. I think this will start in Asia and it will start with online ecosystems that deal in in-game currency, property and goods).

There is some low-hanging fruit in publishing. eBook-readers are computers, yet they only scratch the surface of what is possible as a platform for augmenting books and newspapers. Proper searching capabilities, cross-referencing, cross-referencing across books and other sources, embedding media in a non-tacky manner (for instance by bundling book and an audio rendition of it), social and collaborative aspects (sharing notes for instance), offering integration for third party applications into the reader software etc.

A more recent speculation is that the tablet will attempt to fill the role of communication device. Jokes have been made of people holding the tablet to their ears and speaking into it like a phone.

Video conferencing has never taken off outside the business sector and many people think it may never take off. But it seems unclear why. Some people subscribe to the idea that it just isn't something that we really want for personal communication. The fact that video conferencing has been available to the masses for years and still hasn't taken off for personal communication suggests that this assumption has merit. Furthermore, observation suggests that even if you make phone calls free, there seems to be a relatively fixed upper bound for how many minutes the average person talks on the phone per month -- suggesting that we have no real wish to spend more time on the phone. Perhaps a similar fundamental limit exists for video conferencing? Who knows.

On the other hand it may be that the device that does it properly has yet to be invented. There are many products that have ticked all the right boxes for some category of product, yet have still failed to achieve any success with consumers. And to be quite frank: even professional video conferencing gear sucks.

So perhaps the tablet will be the ultimate videoconferencing device?

Another use that would be attractive to me is the tablet as a device for dealing with images. Perhaps not unlike the Wacom tablets that come with a built-in screen. Unfortunately, this would necessitate processing power that may be incompatible with the energy requirements of a lightweight mobile device. Still, it would be very nice to have a portable image-editing device that provides me with a great interface for running applications like Lightroom.

I just take it for granted that it will be a kickass mediaplayer. Despite the fact that most gadget geeks have obscenely large HD screens in their homes, people still use their laptops and iPods to watch video podcasts, movies and TV series. I don't know why. For me it is about mobility and convenience. I have almost stopped watching TV entirely. The way I consume news now is by watching it on my iPod when I go to bed in the evening or while travelling. My iPod Touch has also changed what I watch. I spend far more time watching lectures, talks and debates and far less of the sort of rubbish they pump out on cable TV.

In any case, by this time tomorrow we will know for sure why Steve Jobs as stopped being militantly opposed to the idea of an Apple tablet. :-)


Overture for tesla coils, jacobs ladders and pyrophone.

Earlier today I took part in a DIY synth workshop at TEKS. The workshop was a lot of fun. We got some hands on experience making noisy gadgets and I am probably going to continue experimenting with mine on the weekend. I've been thinking about hooking up to my Arduino to make it MIDI-controllable, though before i do that I probably have to whip out my calculator and do a bit of head-scratching to make sure that I don't fry my Arduino.


The part that really excites me is that TEKS may be what Matt, Ståle, me, and others have been looking for: a place to meet other people who are interested in building stuff -- and not least, a place to do it. I talked a bit to Arnfinn, who works at TEKS, and we agreed that we should set up a meeting and discuss a bit.

Crazy ideas...

We also talked a bit about building an instrument based on a tesla coil. Well, actually, multiple tesla coils. I am thinking something along the lines of having 2-4 large tesla coils (anything worth doing is worth overdoing) hooked up to some oscillators and build a MIDI interface for it so it can be hooked up to a keyboard or a sequencer. The more of it we build ourselves, the more fun it will be.

To that end I was thinking about recruiting Hans Jørgen Grimstad since he has actually built a tesla coil. If Hans Jørgen is up for the challenge of guiding a bunch of people through building: I'm in! :-)

On my way home I got a couple of other crazy ideas involving large, translucent tubes with jacobs ladders inside them and microphones in the tubes to capture the sound of the sparks so we can process the sounds before pumping them out on a PA system.

It would also be interesting to build a (MIDI-controlled) percussive instrument based on gas, pipes, some solenoids and spark plugs, but I'm afraid the fire department may have something to say about that.

It would be cool to write a piece of music for "four tesla-coils, a pyrophone, two jacobs ladders and a fire-department". :-)


Mobile Predictions for the next decade.

Okay, time for some predictions on the next decade for the mobile industry and telcos in general.

None of you are going to remember any predictions I make now in 10 years anyway so I feel confident that I will not be confronted with any failures to see clearly into the crystal ball when 10 years have passed. :-). (Actually, if someone would remind me of these predictions in 10 years I'd be grateful, because I will most likely forget about them).

Clever teleco companies become banks.

Two things will will drive telcos in this direction: a) an increased presence of telcos in emerging markets where banking is practically unavailable to large portions of the population, and b) the pressure to get Payment 2.0 done.

By Payment 2.0 I mean payment systems that make charging for content on the web frictionless and financially feasible. The systems we have today are arcane, clumsy and only suitable for charging relatively large amounts. Payment 2.0 probably cannot emerge from banks or credit card companies themselves because they are too heavily invested in the status quo. It probably has to come from outside the banking sector because only those outside will have the ability to think of payment in ways that challenges current truths sufficiently.

Payment 2.0 necessitates banks that challenges our (and the regulatory bodies) perception of what a bank is.

Mobile phone becomes the mobile computer.

While the mobile phone has already become a mobile computer we still tend to think about smart phones primarily as phones, so this prediction is about a change in perception. Thinking of smart phones primarily as telephones is artificial and limiting. For instance it prevents people from reasoning about the role of the smart phone in emerging markets. Smart phones will be vital in emerging markets because it is a cheap, robust, small (usability-challenged) computer rather than a clunky, expensive phone.

(Gut feeling: the $100 smart phone will become a reality in early 2011. The $50 smart phone in 2012. Android will rule the west, but eventually some Chinese OS platform will rule emerging markets in Asia with leaks into the European market)

The radio bottleneck will be resolved.

The big bottleneck for cell phones are the cell towers and the radio spectrum. Ideally, larger chunks of the radio spectrum should be just baseline IP-connectivity and none of this GSM or CDMA nonsense to make higher density of mobile IP clients possible. However, chopping up spectra and selling them is a much loved pastime of governments and easy money, so it isn't going to happen. Instead we will see more use of femtocells and related technologies as well as mobile phones that have more seamless transition between different networking technologies.

However, this will only start to accelerate as telcos are incentivized to address it, and the incentive will be when flat rate is the only kind of mobile networking plans consumers will be willing to buy. (The incentive being to offload the GSM cell towers since they are essentially scalability dead ends).

Additionally, non-telco entities will move more aggressively forward in providing wireless connectivity. Probably for free or at reasonable flat rates. These will be tied to organizations that have widespread physical presence, such as retail chains and francises. At this point slow-moving telcos will start to hemorrhage due to a combination of losing last-mile advantages and no longer being top dog in backbone capacity (which is a different topic altogether).

Telcos will have to redefine their identity.

In the coming decade telcos will have to reinvent themselves; their main sources of revenue will not be voice or messaging. They will also have to transition from being in a stable business where a reactive mode of operation is the most cost-effective to finding themselves in a more volatile situation where proactivity and placing more bets and accepting more failures will be necessary.

In practical terms this means "more build than buy", "fail fast and agile" over "formal and conservative". It also means that products that do not contribute to the bottom line directly will become more common (for instance products that are a net loss, but which have other beneficial effects such as brand building and increasing user affinity).

It also means that the sole reign of the pure MBA is coming to an end. In particular as there will be less need for people who can optimize the bottom line of a predictable business and more need for people who can predict the innovation and execution efforts needed to not become irrelevant.

At least one large telco will screw up and have their lunch eaten.

This is inevitable. In every class there are kids on both sides of the bell curve and I predict that at least one large telco will be in denial long enough not to make the transition to a proactive frame of mind.

Some non-telco will secure the assets, send most of the employees packing and resurrect the business with a leaner organization that has no organizational legacy tied around its feet like a boat-anchor. The real question is: Branson, Bezos or Schmidt?


We need more organized crime?

With any reasonable prohibition there is always risk of feebleminded people getting ideas. Banning smoking in public areas was reasonable and has turned out to be very beneficial. Banning prominent display of tobacco products in stores was fairly reasonable. Banning food products that vaguely remind you of tobacco products was just goofy.

Sorry, but I can not find a single positive thing to say about people who think that cylindrical pieces of chocolate-covered marzipan ought to be banned because someone imagines this will imbue a deep lust for big, fat, cuban cigars in children.

Now some rabid moron wants to ban smoking outright. Which necessarily means that you would have to ban sales of cigarettes (and other tobacco products).

I wish these pathetic amoeba would have paid attention while at school. Prohibiting tobacco products is going to achieve little other than creating a host of new problems: it will strengthen organized crime, criminalize a large segment of the population, create unenforcable laws and erode people's respect for the law in the process.

Banning alcohol has been tried before. It did not work. In fact it had disastrous effects. In the US it helped solidify organized crime by handing them a golden business opportunity. Which they took. To this day the US is battling the mafia. To this day the mafia controls obscene portions of commercial activity in the US.

The way to battle tobacco use is by peer pressure and proper, honest information. The naked, unembellished facts are more than scary enough. Making tobacco products illegal is only to hand criminals a golden business opportunity. And believe me: they will make the most of it.

The very last thing we need to do is to listen to barely sentient nutcases with a perverse urge to foist their misguided ideas on controlling unfortunate behavior unto others.

Learning photography.

I've been taking pictures as a hobby for a number of years. In the beginning I was completely clueless. I had no idea about composition, I did no post-processing, I knew very little about optics(1) and even less about image sensors or even digital imaging and the issues that come with the territory. I shot pictures of people, places and things that I thought I might want to remember some day.

Somewhere along the way I started developing more of an interest in understanding how you get better images. What worked for me was a) developing a better understanding of how the technology works, and b) looking at other people's pictures with an analytical mind.

I am not by any means what I would rate as a good photographer(2), but I am eager to learn and when I look at pictures I've taken over the years I do see that I am getting better. And that is good enough for me.


There are a lot of hotshot photographers that will turn up their noses at gadget geekery and say that "it is not about the gear". Sure, there is some truth to that (though it sounds bit hollow when coming from people who have $5000 camera bodies with a $20.000 assortment of lenses to go with it). There are people who make great shots with their mobile phones. But that still doesn't mean that actually knowing how stuff works isn't a prerequisite to evolving as a photographer. You need to know some basics and I think it is hard to get a good grasp of the basics quickly without at least a good SLR.

If you shoot an SLR in manual mode and you pay attention to how the different parameters influence the end result, you will eventually develop some intuition. It will also force you to be a bit more analytical when taking pictures. There are compact cameras that have manual modes (such as the Canon G11 and its predecessors), but the optics and sensors on these cameras do not produce as obvious results. They are okay cameras, but I don't consider them very good learning tools. In part because these cameras are aimed at people who have no clue and thus come with a whole battery of features to produce the best possible pictures with the least amount of manual intervention. (Same goes for modern SLRs. If you want to learn, turn off auto-ISO, matrix metering, fancy focus modes and all that. Use manual (M) mode as much as possible. In fact, you are probably not going to use any of that most of the time once you've gotten a good grasp of the basics).

So if you have a tight budget, get a used SLR or an entry level model. If you have to choose, get a 18-70mm zoom lens. A lot of people recommend only having a 50mm, but if your goal is to learn, the 18-70mm or similar is more important. (Your next lens should probably be a wide aperture 50mm lens though. By the time you are getting ready to buy one you'll know why).

Develop a vocabulary.

As for looking at other people's pictures to learn, it does help to have a vocabulary. There is a number of tutorials, articles and blogs that explain, for instance, compositional rules. If you know about the rule of thirds it helps when looking at other people's pictures in an analytical way. Having a vocabulary helps you see how different techniques have been used to achieve somthing that works visually -- or doesn't. If you can describe what is going on in a picture it'll be easier to learn from it.

There's also a whole vocabulary to describe the technical aspects. You need to understand concepts like shutter speed, aperture, focal length, depth of field, dynamic range etc.

Exposure and inspiration.

A great way to get exposed to a lot of photos, and to expose yourself (pun thoroughly intended) is to join a social website that centers around photos. Flickr has been a very useful place for me both to publish my own photos and as a source of inspiration.

There are some groups on flickr where you can enter your photos to have them criticized by other people. This can be a good learning experience, but it can also be a bit intimidating. Just keep in mind that most people are just trying to be helpful, so don't get put off by the fact that most of the feedback you'll get will be of the form "nice, but...". People usually focus on what they can say that is helpful to you in terms of how they think you can improve your photography. Don't take it the wrong way.

Of course, a lot of people won't share your taste, or indeed, have any. Before taking any criticism to heart, at least have a look at their photos. You'll soon notice that sometimes the worst nit-pickers are people who tend to take supremely dull photos. (Don't insult their photos in return. Just do better).

Post-processing or not?

I post-process my photos. I consider people who are militantly opposed to even adjusting brightness or contrast in their photos to be odd.

Post-processing has been part of photography from the very beginning, the main difference is that the means by which photos are post-processed. In fact, in the early days there were people arguing that photography could not be art if it were mere depictions of reality -- unaltered by artful intent.

I think the idea that you shouldn't post-process is a combination of decades of amateurs who never had access to the right equipment, historical ignorance, and the increasing trend of "photographic dishonesty" that has given image processing a bad reputation. I am not arguing that you have to post-process your photos, I am merely saying that the obsessive-compulsive people who view post-processing as "impure" do not represent any sort of norm. You should at least learn what is possible and how to do basic post-processing before you dismiss it.

Of course, there are degrees of post-processing. On one hand you have people who twiddle the colors and contrast to get that National Geographic look, and on the other hand you have a whole industry of people who turn healthy looking people into emaciated plastic dolls(3). And somewhere in the middle of that you have press photographers who take liberties in ... interpreting the truth.

Much of the time, I shoot pictures in a way that both necessitates and anticipates post-processing. Sometimes the light can be tricky, so what I worry about is that my shot captures the raw data I need to later achieve the end result I desire. Knowing a bit about how digital imaging works and what is possible in your post processing tools can help when you have to deal with the rather limited sensory capabilities of a camera.

Lastly, be patient. I've been somewhat serious about learning photography for the past 5-6 years and I've seen a steady improvement. I am still in the process of learning and figuring things out, and the photo-related sites, blogs, podcasts I've been exposed to over the past few years have really been a catalyst.


1) Well, a physics course covering optics certainly gave me a theoretical basis, but brilliant though my physics teachers were, none of them ever ventured into the practical beyond splitting light into simple spectra and calculating refractive indices of various transparent materials. None of which will provide you with any intuition as to why a 50mm lens is such a favorite among most photographers.

2) No this isn't false modesty. I am fully aware of the fact that I am a better photographer than a quite a few professionals, however that doesn't really mean I am a good photographer -- it just means that there are professional photographers who aren't really all that good. Also, with the digital revolution in photography, there are now more excellent amateur photographers in the true sense of the word "amateur" than ever before. Every day I see pictures by amateurs on flickr that are way better than what most professionals produce.

3) I've watched Top Model a few times in the naïve hope that the show would provide even the tiniest fragment of useful knowledge on how to take pictures of people. The only thing I've deduced from the show is that the fashion industry is a perverse universe where expensive cameras are pointed at braindead morons and that the output is then de-humanized and sterilized by yet more morons and the end result is then evaluated by really creepy people who make judges at cat shows seem like well-adjusted individuals. But hey, to each their own.


Source of misery.

The old doorknobs were significantly easier on the eyes, but in their infinite wisdom the manufacturers decided to make them out of cast iron. Not proper steel. Which meant they were brittle. So they broke. Which is bad.

Bad, because old houses do not come with spare parts. Bad, because just like manufacturers of socks, people who design doorknobs, locks and whatnot get ideas every so many years. This would be okay if they somehow managed a quantum leap in door-technology. Sadly, no such quantum leap is evident from the fossil record.

I am not going to take you on the whole, painful journey of my prompt education on the subject of doorknobs and paraphernalia related to all manner of doorknobbery, but trust me when I say that changing doorknobs in an old house is a source of profound misery. There is simlpy no way you can win.

The new doorknobs look awful.

But they work. I keep telling myself that.

They work.


Three strikes.

It is with some amazement one observes that the halfwits of the french government have been successful in ramming their three strikes law for intellectual property offenses on the Internet down the throats of their apathetic subjects. I suppose if it doesn't revolve around litigation of someone who has wrongfully applied the term "champagne" to random fizzy drinks or happened to mislabel decayed dairy products, the french obviously do not comprendre or even care.

What is particularly worrisome is that "the charge of the proof is on the connection owner", as Wikipedia summarizes it. In other words: guilty until proven innocent. I suppose the only real surprise is that they are not re-opening Devil's Island in French Guiana to have the delinquents shipped there? Or just roll out Madame Guillotine and have their heads?

The reason I am annoyed at the french government, and by extension to semi-sentient hominids who elected them and so pathetically failed to put an end to this nonsense, is that stupidity is contagious. This nonsense will spread to other countries. We have enough trouble with our own halfwit politicians already thank you very much. We do not need you lot to inspire them.

One can only hope that the french courts will wipe off the books what feebleminded politicians have so carelessly crapped into law.

Oh, and we know how this one will go if there is still someone left in France who finds this law even the least bit odious: there will be a scandal in which a prominent person will have his Internet connection cut off for pirating vintage swedish pornography. Repeatedly. Complete with a suitably large cache of that unspeakable of unspeakables. Mark my words.


Gran Turismo 5, the Duke Nukem Forever of car sims?

Sony announced that the release of Gran Turismo 5 has been postponed. Again. Is this going to be vaporware in the same way Duke Nukem Forever was "just around the corner" for years and years until too much money has been spent and the adoring fans have gone elsewhere?

From what has been said about the development in the media, it seems that they are slowly losing their way. The appeal of GT4 to a great number of people was that you could use it to familiarize yourself with various race tracks. The graphics were fairly good, and the physical model wasn't too annoying (except for some steering oscillation phenomena at high speeds that were quite annoying).

Of course, it did have some elements that were a bit out of place.

Most people I know who are interested in GT4 don't give a crap about the "career" nonsense in which you have to earn points to get access to better driving machinery. Nor do they care about damage models and such. Damage models is probably the single most stupid feature in a car sim when your primary objective is to practice the rythm and flow of a race track. If you go outside the track and the car gets "damaged" it isn't useful. It just means that you have to reset to continue your practice.

And while we're on the subject of resetting: please make the menus quick and easy. I know that the people who make menus think that users are as enthusiastic about them as they are, but the truth is that if your menus necessitate accessing secondary storage, they are no good. There is absolutely no reason why a usable subset of the menu system can't reside in memory at all times.

The way I use GT4 is as a training tool. Before I travel to the Nürburgring I spend a few weeks doing 2-8 laps per day on the playstation for a few weeks. The Ring is a long track and if I skip driving it on GT4 before I go there are a couple of sections where I will struggle a bit more during the first laps.
It doesn't matter that the physics engine isn't entirely realistic. Nor does it matter that the elevation changes aren't really obvious in GT4. What matters is that I can use it to get the rythm and flow of the corners. And believe me, once you do get there, you have an awful lot of other details to pay attention to (track surface temperature, moisture, shadows, bumps, tricky cambers, other drivers, etc.).

If it were up to me I'd prefer a GT5 edition that just concentrates on getting a collection of real race tracks done well -- with cars that are handy on the track. (Forget about the Ferrari 599 and other nonsense). In addition it would be really nice to be able to customize the tracks a bit. Be able to drive them in the dark, in varying weather conditions etc. and with different track configurations (Nürburgring with Nordschleife + GP track for instance).

It would also be nice if they disposed of the need for physical distribution media. They should go for an online distribution model so the game can be updated and improved continually. Possibly with third party extensions (cars, tracks, APIs that allow software extensions etc).

But most of all, they need to stop fiddling with it. Release it already.


Tempered Sensationalism.

While looking through my pictures I came across a picture of Håkon Wium Lie on my flickr feed. The image was snapped at the Go Open conference a while back. At the time a fierce debate was taking place about OOXML being fast-tracked through ISO to become a standard.

Since I liked the picture and I do not particularly care for standards that are too big to be really useful (more on that later) I decided to post it to Reddit. I have to say that the response was a bit greater than I had anticipated.

I'd like to clarify a few things though.

Lars Marius Garshol brought to my attention that the picture of the "printout" of the standard that I added in the comments on the flickr page is in fact a fake. Those are blank pages that have been put in binders.

It looks like about 6000 sheets: each binder seems to hold the equivalent of 2 packs of printing paper. One pack of printing paper holds 500 sheets, so each binder would have 1000 sheets of paper. 6 binders would then indeed be 6000 sheets, but who in their right mind would print this single-sided? A real printout would most likely be double-sided, meaning that the stack would probably be half of that.

So yes, the printout can be said to be an exaggeration.

I got (from Lars and others) a link to an actual printout that seems to confirm this: http://xmlguru.cz/2007/07/czech-comments-ooxml

Another thing I'd like to clarify is why I think OOXML is a waste of time.

If you are going to create a standard for something your primary focus should be to address the problem domain in the best possible way. It should not be to merely document a particular set of legacy technologies. In particular not when this forces excessive complexity upon implementors which strictly speaking is neither beneficial nor particularly useful.

If I were to design a standard for a file transfer protocol I would not, under any circumstances, start off by considering FTP a baseline that the standard must contain. Indeed, it is a widely used protocol, it is old and it has, in a sense, an aura of "authority" -- but if you have ever tried to create a reasonably complete implementation of the FTP protocol, you have no doubt discovered that this is a rather painful exercise.
Of course, you can blame this on the way it is documented and argue that better documentation would fix things, but wouldn't it be a lot better to start over? Do you really want users to be forced to think about active versus passive connection modes -- or to endure software that is so dumb it forces users to understand these concepts? Also: people have had good ideas in the area of file transfer since FTP. (And file sizes have grown to a point where transfer errors have become more of an issue).

Then of course there is the sheer size of the standard.

This one is really simple: the likelihood of there being a thriving flora of complete and reasonably correct implementations sharply decreases with the size and complexity of a standard.

There is absolutely no way around this. Sorry.

The very reason the Internet protocols were so successful was because they were simple and they were driven by implementation. Not only that, they were driven by the fact that it was possible to have multiple implementations of the same protocols without it costing a trillion billion dollars to achieve. The reason X.400, the OSI stacks and SGML are not mainstream technologies today (or in many cases even viable) is because they were too complex.

What good is a standard if the only managable way to use it is to use a subset of it?

To me OOXML is a big, chunky standard that is too preoccupied with the past. I hope I will never have to deal with it.

"None of the above"

During my random clickery I came across a telco-related website that had the following poll:

I can't help but think that this is a bit of wishful thinking. Telcos are very keen to drive up data traffic on mobile. However, they are not charitable organizations -- they have shareholders who want to see them earn money and thus telcos want to drive up traffic and earn proportionately more money.

As long as data traffic on mobile is metered, people will have an uneasy feeling about mobile connectivity. Especially since the current crop of "smart phones" do not have very good mechanisms for keeping an eye on your bandwidth use. For instance, for the Android, there are third party apps that gives the user the opportunity to monitor network usage as well as toggling the network on or off. But none of these apps are very good.

Most of the metering apps are fiddly. Then there is the issue of APNs (Access Point Names, the point where a phone enters an IP network) for MMS and for Internet. Whereas Internet access is metered by traffic, MMS is metered by transaction -- ie. you are billed by number of messages and not by byte.

Until recently the app I use to toggle network connectivity did not differentiate between these two APNs -- meaning that if I switched off network connectivity, my phone was unable to accept MMS messages. Of course, the app does not do any kind of metering. I have a different app for that -- and to put it mildly, it doesn't work very well.

I am not sure if the same problems are present for the iPhone. In any case, until unmetered Internet access is the norm, connectivity and bandwidth management are things that smart phones must have.

But I digress.

I think the biggest driver for mobile internet use will be (dare I speak it aloud?): fixed pricing. Or failing that, more reasonable data plans and phone operating systems that acknowledge the need to keep a close eye on your bandwidth use. The moment when people start to feel more relaxed about using mobile Internet is the moment it'll be something more than a backup solution for Internet connectivity. Because that is what it is today: a backup solution for when you are not on a wlan.

This suggests that the wishes of the telco industry are at odds with the wishes of the consumer.

Trouble? To me this suggests a huge opportunity for telcos. They are at a crossroads. They can continue to sell metered bit-pipes, a business that will most likely be eroded by other types of connectivity (what percentage of your time do you spend outside wlan coverage these days?) -- or they can ensure that they position themselves as service providers; which is a deliberately vague term since it can mean anything, though in this context it means something more than just offering the service of shifting your bits around :-).

The question is whether telcos can see beyond their next few quarterly results and plan for the longer term. When changes are afoot, being myopic about what the scope of the company will be 5-10 years down the road is dangerous. Just look at the photo industry. Who would have thought that it would be game over for those who did not make the move to digital fast enough?

If I were a shareholder in a telco today I would look at what long term plans they have and whether these plans display a clear and concrete commitment to adapt to a rapidly changing landscape.

Most large telcos today have the financial means to develop the new talents that will be critical to ensure longevity. On paper, they should have a bit of a head start.

The problem is largely a cultural one: most telcos are optimized for operating in a relatively stable business. A state where you can move slowly and deliberately and where you don't need rapid innovation -- or in fact any real innovation. What little economic theory I know also suggests that this complacent state is extremely dangerous when disruptive changes are likely. And disruptive changes are more likely now than ever with user behaviors changing ever more rapidly.

So to answer the poll: "none of the above".

And yes, I think there's still time. :-)


Same thing, only different.

A while back I was looking at different applications for using the Getting Things Done way of organizing all the things I keep forgetting that I am supposed to do. Being a rather introspective consumer of technology and gadgetry I made some mental notes of what went into choosing an app for this.

The first thing I realized was that if I am going to actually make use of the app, it needs to be ubiquitous. If it only lives on my laptop or on the web, it isn't of much use. I move around and sometimes connectivity is fiddly or simply not available. I also have a lot of computers and gadgets that I use in different contexts. This means that at a bare minimum it needs to live on my laptop, it needs to have a web interface and it needs to live either on my iPod Touch or my Android.

Side note: no, an Android or iPod Touch optimized web interface is not good enough. I need a native app that can synchronize data to the device so it works offline. Besides, browsing the web over 3G or even wlan is a pain on these devices and this is not going to change in the short term. Operations that can be completed in the background while the UI remains responsive or while I am not actively using the device is the only sufficiently frictionless way.

The second thing I realized (and this is implied by web availability) is that the data needs to be stored online. I am not going to say "in the cloud" because I think that "cloud" is a meaningless term. Having the data stored at an online service is preferable since it means I don't have to maintain any universally reachable infrastructure myself. This is why I like Evernote so much: I don't need to muck around with setting up a server: they provide a service and the terms are acceptable.

None of these realizations are in any way new. This is how I have handled email, source code and most of my notes and documents for years.

What is new (to me) is that a) I don't have to maintain any of the infrastructure myself and b) this is how I expect all my services to work.

In fact, there were several GTD programs that would probably have suited me better, but they did not offer any way to synchronize the content in a way that didn't create more friction.

And no: having to connect my iPod Touch or my Android to my laptop to sync isn't good enough because I am not going to do that. I have years of experience of what a pain in the neck it is to depend on having to physically wire together gadgets to transfer data. It just does not work and it takes only a few days before I stop doing it.

The exception is syncing podcasts to my iPod Touch, but this is something that I barely can stand and I usually don't do it unless I am out of content -- and then I mutter silent curses under my breath the whole time. The iPod touch should have much better support for fetching podcasts and other content in the background -- either from iTunes or from my other Macs that are on the same network at any given time. It is just silly that I should ever have to wire up my iPod to my workstation to have content downloaded to it. The only available workflow to do this is a manual one and it does not take advantage of the fact that the content is already on my home network.

To sum things up:
  • Data gets stored online or I am not interested(*).
  • Native clients for iPhone or Android is a must (for now).

(*) obviously not applicable in some cases. For instance my obscenely large library of RAW format images from my SLRs -- the cost of online storage is still a bit too high and the available bandwith is completely inadequate.

Among the applications I like that do this in a good way are:
  • Evernote
  • DropBox
  • Spotify
The key words here are "ubiquitous" and "convenient". My computers are no longer the hubs for my "stuff" -- my "stuff" lives online.


Geek cruise notes

I just stumbled across a text file containing some notes from a Geek Cruise arranged by Cantara a few weeks ago. They are just rough notes, but I thought I'd post them anyway. Here goes:

Last weekend I went on a two day "Geek Cruise"; a sort of mini-conference, arranged by Cantara
To be quite honest I had no idea what to expect from the event and I had my doubts when I noticed that Totto had put me down for a talk on a topic for which I can confidently claim that I am certainly not any kind of authority. I can't recall the title right now, but in retrospect, and with a bit more sleep, I see that he didn't ask me to give a talk on the security challenges of ID-systems, but "merely" how you would build a scalable ID-system. That's actually something I would be able to talk about for hours without repeating myself.

But I had barely had any sleep when I sat down to write the talk, so instead I gave a talk on what sort of mindset you need to build a scalable system -- which is perhaps more important than how you actually do it.

Summarized in a few words: if you do not understand the problem domain on a very fundamental level, you are not going to succeed in solving your problem at scale. Sorry. Methodology and fashionable practices are no substitute for knowing what you are doing. If you do not know what you are doing you still can do well if you are adaptable, open minded, willing to be unconventional and learn.

Pair programming.

In my talk I mentioned that I am skeptical towards treating fashionable practices such as pair programming as some sort of universal solution, and I was somewhat surprised (stunned, more like) to find that the majority of people present do in fact find pair programming beneficial as their main way of writing code. I have to admit that I was a bit stunned.

I usually ask people who are willing to pay lip service to pair programming if they actually practice what they preach, and I am used to that the vast majority somewhat shamefully admitting that while they think it is a good idea in principle, they do not actually do it.

Personally, I find pair programming annoying. I usually write code in bursts lasting 1-4 days and when I do program it is a largely introvert activity. I have a very non-linear programming style which means that it can be really hard to follow what I am doing. And if I have to stop and explain everything gets painfully slow and ideas quickly get lost. I also get terribly bored when watching other people program and I am invariably frustrated when I have to sit and watch someone else edit code. People use different text editing tricks, and some people are just too painful to watch as they clumsily key their way through code.

I prefer to separate the actual moulding and writing of the code from the reviewing of it. Going over a chunk of code that I have just written works better for me because then I can dedicate my full attention to understanding what the other person is thinking and we can have a discussion without the risk of me losing my train of thought.

Of course, sometimes I do find pair programming beneficial. For instance when I have no idea why something that looks reasonable either doesn't work or just feels wrong.

I think pair programming is a matter of experience and personal preference. Some people prefer to do pair programming. Most experienced people I have met to date can't stand it. Which is why I was surprised to find myself in a room with experienced programmers who could not just stand it, but who preferred it.

Oddballs, the lot of them :-).


There was a whole spectrum of views on typical enterprise architecture. While I got the impression that nobody thought relational databases were the ultimate solution to everything, some seemed more fond of their RDBMS than others (hi Johannes! :-). I guess this has more to do with the reality of the world people live in than any deep-seated preference.

I've spent the last 10 years in a field where relational databases are almost completely irrelevant as a data management technology, so obviously, I don't really use them in any manner that poses any scalability challenge.

On the first day, Emil from Neo4J presented a taxonomy of databases. Emil is part of the NOSQL crowd and eagerly pointed out that NOSQL should be read as "Not Only SQL" rather than "NO SQL". Apparently some get their knickers in a twist over the latter definition.

Emil also talked a bit about their product, a graph database called Neo4J. Not having seen a viable specimen of this species before I was very intrigued. Especially since problems involving large graphs has slowly grown to become a topic of interest in more ...uhm, pedestrian developer communities. When I get a bit of spare time I intend to play around with Neo4J. I have some interesting problems that I think might be a good fit for it.

Totto tried make us define when a relational database stops being relational. We agreed to just leave it at "it stops being relational when you lose joins". In any case, a relational database stops being really useful as such when you have to partition the data across machines, which is probably true even for products that offer ways to deal with this.

Hands off my data!

Although the term SOA has been so thoroughly discredited by the flatheaded morons who incessantly stick web services onto anything and everything, and then go on to talking about this makes them service oriented even though they still use the database as an integration point, there was fierce agreement, at least between Dan and me that allowing access to state only through services was The Right Thing.

Sometimes the hype can kill something that was actually a fairly good(ish) idea.

Well, hype and Web Services. Nobody had much positive to say about web services. I found it rather heartwarming when someone said "I hate raw web services. I want proper client libraries".


Everyone agreed that the Erlang crowd are a smug bunch (ok, we're jealous).

Sentiments on Ruby seemed to range from "nice", via "a good replacement for Perl", to "oh grow up, it is a fucking toy".

Random topics.

At some point Dan brought up "gossip protocols" or "epidemic protocols". Sadly we didn't get around to discussing this topic in more detail, so I will have to read up a bit on this later.

EDIT: added links.