I’m bored of all this Smorgas.
Posted by Nicholas Brookins on 3 July, 2008It’s common in software that often the absolute basics get trumped by candy-coated interfaces and lists of features that mostly go unused (hmm.. MS office 2001-present?). In fact it used to be that the Operating System’s central role was actually memory and I/O management, can you imagine? It is an easy mistake to make. It is fun making new features; tail-wagging dogs that help you search or desktop gadgets that crash in new and interesting ways. The saying that “every program will eventually expand until it can read mail”, is pretty insightful. I swore off using Winamp on the dark day that it took over my video associations, but still couldn’t seem to handle ’shuffle’ correctly - it seemed at the time that every application was expanding until it could play movies.

There is way too much going on here.
I’ve been on both sides of this as a developer, and I understand the compulsion. It’s easy to dream of better applications that integrate everything you need into one place, until you realize the end result is one ginormical application for all tasks, doing all things but none particularly well, with more bloat than Uncle Ralph after Thanksgiving. Instead of the Super-Deluxe All-You-Can Eat Fortune Buffet* method of designing software, let’s go for the specialist role. I want a music player that does one thing very well - play music. I also want an Operating System that manages my files, memory, and processes - and stays out of my way for most of everything else.
The music player part is easy these days. For GNU/Linux Amarok is excellent, and for Windows I highly recommend Foobar. On the Operating System front, things aren’t as easy. Windows XP (or Server 2003) can be beaten into submission fairly well, and that’s what I’ve been using on my Windows development workstation for quite a while, well since it was in beta. It is certainly showing it’s age 8 years later though. Vista is not as bad as some of the rap it has gotten, but it is bad enough that I don’t want to use it every day. I love Linux and there are several distros I’d rather have in front of me all day, so I’ve given though to doing all development in a Windows Virtual Machine. Lately I’ve also been using Server 2008 more and more, and have to say it’s an excellent O/S, so I’ve also thought of trying it as a workstation for a while. I tell myself it is not much different than Vista, at least at a kernel level - but the speed difference and UI constancy improvements are drastic.
The key thing is that the development I do, regardless of where and how, will be kept overly simple. How often do you complain an application is too simple, and can’t accomplish a task? How often do you complain that an application is bloated, and slow, and controlling? For me it is clear that the latter is much more common. Create a program that serves a basic need. Use it. Then add features once you know you (or others) can’t live without them.

I like a buffet now and again, but most of the time I’d rather have one dish made to perfection.
I hereby solemnly affirm my commitment to developing simple and useful programs. They will do a few things very well. The things they do not do well or are not appropriate for, they will not do. This will take discipline - it is harder to write a great small program than it is to write a big terrible one. I’m up for the task, are you?
* A real place, somewhere in Indiana near the Michigan border.

Subscribe to Posts
Subscribe by Email
July 6th, 2008 a.t 10:29 am
Lemme start off by saying that I completely agree with you. I love niche programs like TrueCrypt, KeePass, what used to be Winamp, and ancient versions of CDEx (seems like the last time I downloaded a new version of this, it tried to do too much). Lemme find a program that does one thing good and I’ll worry about something else when it comes to doing my laundry.
That said, I think we’re in the minority when it comes to a general computer user. Most non-power-users (is that a word? seems like too many hyphens) I know could care less about their programs being segregated. They don’t even realize the idea behind a file association let alone when a program is hijacking them. They’d really just as soon “Windows” do everything for them so they don’t have to worry about downloading and installing a new program. (By “Windows”, I mean the O/S plus all of the bloatware that their retailer of choice has preloaded onto the box. They don’t always make a distinction between the two.) So, given that, I don’t agree with, but almost understand the jack-of-all-trades program for entertainment programs. Which brings me to the current bane of my existence…
Does anyone else out there feel like Team Foundation Server tries to do way too many things at once, and does all of them poorly? Look at me, I’m a source control repository, but if you want to work disconnected, forget about it. And occasionally, I’m not going to let you merge your branches back into the main trunk. Have fun with that. I just don’t feel like source control and bug tracking have to be in the same product. All in all, I was much happier developing under a combination of Subversion (a great source control product) and FogBugz (a great bug tracking product). The target audience of TFS is developers and management, right? We’re not the average computer user, we shouldn’t be dazzled by the “wow, it’s version control and it’ll do my dishes” appeal, yet it seems we are. Or at least the management making those sorts of decisions are.
(For any TFS experts out there, I’m not ruling out the possibility that I just have no idea how to properly use TFS and maybe working disconnected is a breeze. If so, feel free to call me an idiot and point out how easy it all is. Trust me, I’ll appreciate it.)
July 8th, 2008 a.t 8:22 am
You mean New Shimmer is a floor wax, AND a dessert topping!?
I finished up a post all about source control.
Good point about how the rest of the world sees their computer. Like how people will tell me they love (or hate) their new PC because it did XYZ. Where XYZ is a freeware program or something their printer installed. I hear things like “but Dell comes with a different, better Windows”.
I haven’t needed KeePass (I can somehow remember every password I’ve ever used), but I still have a copy of CDeX from about 1999 that I got from you. TrueCrypt is also superb, as well as recently even better with SMP support.
March 21st, 2010 a.t 9:44 am
Getting adequate Laptop memory is very important to effectively run all the many applications that need to be run. People do see the difference clearly when they upgrade from a 512 MB to a 1GB or perhaps 2GB RAM.