Scalability

November 7, 2006

Scalable - you see the word in every other software description nowadays. But what the heck does it actually mean? Well, the Oxford dictionary has this to say:

scalable |ˈskāləbəl| |ˌskeɪləbəl| |ˌskeɪləb(ə)l|adjective1 able to be scaled or climbed.2 able to be changed in size or scale : scalable fonts.• (of a computing process) able to be used or produced in a range of capabilities : it is scalable across a range of systems.3 technical able to be measured or graded according to a scale.

It’s becoming harder and harder to find a completely non-scalable tool. But let’s use iMovie, for example. You start off at a certain level and you pretty much stay there no matter how much edit. You may become a better editor and use the software much faster, but the amount of things you can do with it - your creative options - remain pretty much constant.

QuickTime Player is a scalable tool. You start off with just a basic multimedia player, then let’s say you want to rearrange a piece of video, or create a longer one out of many separate files. You can still use the same tool only you have to look it up how to do it. In other words, it grows with yout.

When I discovered LaTEX, I thought it was a the ultimate scalable typesetting system. You start off with a couple of basic commands and keywords (\documentclass, \begin{document}\section, etc) and learn more as your needs progress. There’s very little overhead, as opposed to HTML. Then you want to add a table (the most abused data structure of the information age) - you whip out the manual, find the right commands and then spend the next two days wondering why the TEX file won’t compile (something about ! Extra alignment tab has been changed to \cr.) What happened? The tool doesn’t scale linearly.

So what I suggest is that, because all tools are becoming so versatile, we should stop talking about “scalability” in general and actually try and graph it. Because that’s what it is, and I’m not talking about the learning curve. The scalability curve should tell us how much time it takes to fully realize the potential of any given tool.

And then there’s of course the user element. It’s amazing how things may start scaling in the hands of talented people. Is IRC scalable? I guess so (ie how many networks and servers you may have and what you can actually do with it), but then you see a presentation by Toni Alatalo, the TD of Elephants Dream and find out they used IRC to control their render farm.

More on this later…