The Joy of Single-Tasking
I have to admit, I am a fan of retro-computing. I have a real-live TRS-80 Model 100s and a Canon Cat I use on a daily basis. Elsewhere in the house I have a Apple //c, Tomy Tutor and a TI CC-40 I fire up when I'm getting especially nostalgic. And lets not talk about the Commodore 64, Classic Mac, Atari and Apple ][ emulators. I still find time to fire up Stella and play PitFall! or Adventure.
Of course, I wouldn't dream of doing without a system that can run a modern web browser or load a modern steam game. Flitting between email, twitter, skype, google+ and whatever calendar app I have open at the moment is an essential part of my work flow.
But I've been thinking recently how much more satisfying old computers were. Not that new computers are bad, just that I (and most people I know) view them as appliances, not as objets d'art or artifacts of a trans-formative future.
Old home computers generally had much more primitive programming systems. But this was more than compensated for by the ability of one or two people to write a complete commercial program. Capabilities were a little lower, but so were expectations. In the pre-Windows / pre-Unix era, programmers were responsible for writing complete systems. DOS was effectively an extended boot manager, adding just enough functionality to get you into one of a couple of different applications.
Of course now we have a hundred variations of language bindings for on-machine APIs and you're not a real web API unless you have two versions, one of which changes randomly, with little warning and in undocumented ways.
Just recently I remembered one aspect of the pre-Windows era. Virtually everything was single-task. Sure, you could have a hard drive with a bazillion games on it. But only one of them was active at any given time. If you wanted to play a game, you played the game to the exclusion of other tasks until you were finished.
You didn't have your email & twitter windows open in the background as you waited for that important message from your spouse. Your attention could not be diverted from the task at hand, because the operating system was incapable of running background tasks to distract you.
As a charter member of the ADHD Programmers' Club, I'm starting to remember how productive I used to be. When I was at work, I didn't have a copy of Jewel Maze 4 open in the background; I had the Turbo C IDE open. Because that was my job. When I got home, that's when I launched a copy of Sundog or Elite (or Zork or ...)
And I wonder... should we go back to that?
Donald Knuth, the "father of algorithms," famously does not use email. Why should he? It's a distraction. I keep thinking... If someone like Don Knuth doesn't use email, then maybe I can get away with checking my email once in the morning and once in the evening.
Sure. There are plenty of times when emergencies come up, but maybe you should be phoning or texting me when that happens.
I also LOVE the idea of a little bug on the screen giving you a 15 minute heads up before meetings or pre-scheduled phone calls. And I want to have a Skype-like digital phone system open in the background so I can have a note-taking app running in front of me.
What I'm wondering is... can we... should we go back to a "virtual cartridge" system where our user interface isn't a bunch of overlapping windows, but one big ol app in the middle of the screen, a clock icon and an emergency alerts icon.
The user experience would be press the big CHANGE APP button on the keyboard and your whole screen shows the app picker. From there you use the keyboard to search or browse your app collection.
Anyway. Just an idea.