Coming up on being a full year of only dialup internet at home. Slow dialup at that, generally 28.8. Most people I know who use the net a lot switched to high speed years ago and never looked back, while my internet speed graphed over time is a square tooth wave[1]. I seem to have learned to cope with a slow network, both in the tools I've chosen to use, the things I work on, and the ways I work.

Oddly often slow internet turns into an advantage. Watching apt download the new pdiffs (which relieved at least 1/5th of my current pressure to get a faster connection), I seem to be able to see the steps it's taking to update better than people with insanely fast connections. Checking up on d-i's memory use the other day as it downloaded itself, I could get a much clearer picture of which components used how much memory. Loading a web page, I can tell if it's built on 200kb of crap html or a well-designed style-sheet. Using different revision control systems to download software trees, I can tell which have innefficient protocols. It's the effect of being able to turn a crank and watch the lights as the CPU processes one instruction at a time.

Remember the first computer you used that could scroll text, maybe in a directory listing, faster than you could skim it? Did that feel like an improvement or a new burden? For me this happened with 486 66 machines in DOS as opposed to the older 33's. Now we have to remember to pipe certian commands through less or fiddle with a scroll bar to see their full output.

Now when I am on fast internet, I often seem to feel like too many things are going on at once. I can no longer flip over to my mail reader and read one of the messages that downloaded this half hour while a web page is loading; instead the page loads in an instant and I find myself triggering one mail download after the other, since after all, each takes only seconds, not tens of minutes. And as the mail is downloading I can't watch it out of the corner of my eye and get a sense for whether I have a lot of new mails in one mailbox or the other, whether spam is attachment-heavy today or light, whether there's a lot of work mail today or not, etc. Instead it's all there at once and I feel compelled to go deal with it.

The last time I had really fast internet at home, I ended up turning off my wireless for hours at a time so I could concentrate on coding or reading instead of the available distractions. Now I've inverted that pattern; I'll seek out a fast internet connection and spend a few hours soaking up the full slendour of the net, but then I'll go home feeling shakey and nervious and get back to getting something actually useful done on dialup.

Sometimes I feel we've lost sight of the reason why we want computers to be fast; it's not an end into itself, it's just one more means to let the computer accomplish what we want it to accomplish, when we want it accomplished. Sometimes that's not right away; sometimes, the Italians tell me, you want a nice long compile to go out for a cappuccino.

This all seems very interesting to me and ripe for more research. The rare bits of user interface that intentionally slow things down rather than operating at maximum possible speed (for example, edge resistance) are, I suspect, some of the hardest bits of UI design out there, and probably the most influenced by actual users. There are tie-ins with calm computing, all kinds of interesting UI and scheduling issues (for example, which download does the user need right away and which isn't a priority, as it's not really wanted until tomorrow), all kinds of stuff that we basically don't consider today in day-to-day program design.

And if I could buy an old-style instruction-level crank and front panel lights USB dongle for my laptop, I would, in a heartbeat.


[1] Old-timey-net "fast" at college, then dialup, upgraded to ISDN, back to dialup, then upgraded to ADSL, then blazing fast nearly symetric DSL, then back to dialup, then pretty fast cable, then crazy latency satellite, then back to dialup.

discussion