In search of stream-based desktop metaphors

Thursday, June 26th, 2008

I just ran across an excellent article comparing two competing desktop worldviews, documents and streams. The author argues that everything in our desktop environments is set up to support a document-based metaphor, when actually what is more relevant to the majority of our work these days is streams. He makes a very persuasive argument:

The prevailing UI paradigm today is built around the notion of document authoring. It expects that the main thing you do is create spreadsheets, word documents, presentations, and so on. There is a task bar to remind you of what documents you’re editing, there is cross-application cut and paste so you can put pieces of one document into another. You can place documents on your desktop surface itself, so you can organize your work. You can define which applications to use for which types of docs. You can set up a default printer to put your documents to hard copy. You can set up system-wide fonts to use in documents. You can put icons to apps and even documents onto your panel. And on and on. […]

Really, what I mostly do today is stream management. And I suspect this is true for the vast majority of people. I don’t deal with writing documents, but with changes to documents. I put comments onto things. I slap patches onto things. I tweak the states of things. Once in a rare while I may author a completely new thingee, but even there I usually end up working with it as a stream of changes that I build up over time (and usually in collaboration with a few other people who stream changes to me).

I’m sold.

The problem is, our virtual desktops (and pretty much all OSes fail equally at this) do not support stream-centric interfaces to data. I can create discrete files just fine, even organize them into nice little directories, but what about my precious streams? I’m talking about my constantly updating server logs, the weather, stocks quotes, news, emails, instant messages, IRC messages, downloads, and more. Everything is handled separately and discordantly.

I can use an ugly hackish little program that outputs system log tails directly to my desktop. I have a Firefox plugin that tells me the current weather and a couple days’ forecasts. My investing service offers a streaming stock quote desktop application, but it only runs on Windows. Mozilla Thunderbird and Azureus pop up email notices and download completion notices, respectively. Instant messages are handled by Pidgin while incoming IRC messages are handled by X-Chat, both of which blink in my taskbar. As for the news — I can use a KDE plugin called Knewsticker that snarfs up RSS feeds. And I haven’t yet found a good way to track, say, SVN commits to the pyWikipediaBot project, so I’m stuck with getting a new email on every commit. Brilliant.

Read the rest of this entry »

Meet Vertumnus, my new GNU/Linux desktop (running on a Dell Inspiron 530)

Wednesday, June 11th, 2008

If this post seems a little glowing, don’t be alarmed; it’s because I’m still basking in the brilliant sheen of my new GNU/Linux desktop (which I am composing this blog post on as I type these very words — and these words, too). That’s right, I went through with my plans for setting up a GNU/Linux desktop, though I didn’t actually use the parts list I threw together two weeks ago. I ran across an amazing deal through Dell’s small business site (instant savings of nearly half off!) on an Inspiron 530 and I jumped on it. For $360 ($407 after shipping and state taxes), I got a nice little Dell mini-tower with an Intel Core 2 Duo E8200 processor, 2 GB of DDR2 PC2 6400 RAM, 500GB SATA hard drive with 16 MB cache, SATA DVD burner, keyboard, and optical scroll mouse. It ended up being about the same price as the parts list I put together, but the performance is marginally better, with the added possibility of upgrading to 4 GB of RAM. It also came with Windows Vista Home Premium, which I suppose would be a value add-in for some, but which just made me wince at how much cheaper I could have gotten this system without paying the Microsoft tax. Anyway, Vista’s in the trash now, where it belongs, and the price was good enough that I’m not worrying about it.

Installing the OS

I was going to install Kubuntu on my new system, but I opted for Ubuntu instead on a recommendation from Drinian, who says that Kubuntu isn’t quite as well put-together. The only reason I wanted Kubuntu was because I wanted to run KDE instead of Gnome, but it turns out that’s incredibly easy to accomplish in Ubuntu (just install the kubuntu-desktop meta-package in aptitude, then set your login session to KDE). So choosing Ubuntu over Kubuntu hasn’t left me disappointed in any way.

Unfortunately, installing Ubuntu GNU/Linux still wasn’t as easy as it should have been. I blame the problem on hardware incompatibilities, most likely with the SATA controller on the motherboard. The installation CD wouldn’t boot without passing the kernel parameter “all_generic_ide”, which is something I can handle but the average computer user is likely to be turned off by. Then, after the installation completed, my system wouldn’t boot from the hard drive for the same reason, so I had to boot back into the LiveCD environment, mount my boot partition, and then edit grub’s (a bootloader) menu.lst to pass that same kernel parameter. So, yeah, GNU/Linux isn’t exactly friendly for the masses, at least not on this hardware. Curiously enough, I had this exact same problem when dual-booting Fedora Core (another distribution of GNU/Linux) on my previous desktop. There’s definitely some room for improvement in this area by either the Linux kernel developers or the Ubuntu packagers. There’s no real reason this can’t be one of those things that “Just Works”.

Naming the system

But after the minor hitch with “all_generic_ide” , everything else worked just fine. It was the smoothest GNU/Linux installation I believe I’ve ever done. The GNU/Linux graphical installers have become quite advanced, completely putting anything Microsoft offers up to shame. Actually, the part of the installation process that took the longest time was picking a name for my new computer. I have a long history of naming computers after various mythologies, deities, or nerdy things (Ixion, Dark Anima, Fyre, Quezacoatl, Geminoid, Phoenix, etc.), so I wanted to continue the theme. I figured since this is the first time I’ve ever used a dedicated GNU/Linux system as my primary desktop (as opposed to Microsoft Windows), I wanted to emphasize the change this brings to my computing life. So I got into a lively discussion on IRC with someone who apparently knows a good deal about ancient Greek/Roman mythology, and his best suggestion was the Roman god Vertumnus, who is “the god of seasons, change and plant growth, as well as gardens and fruit trees”. I liked both the change aspect and the environmental aspect, so Vertumnus it was.

Read the rest of this entry »

Specs for a high power, cheap ($380) GNU/Linux desktop

Wednesday, May 28th, 2008

The other day, I was realizing that I don’t use GNU/Linux as often as I should. Sure, I run it exclusively on my servers, but I still use Windows on the desktop for the most part. That’s more out of habit than out of any need. Everything I currently do in Windows I can do in GNU/Linux, except for the games, which I’m playing more and more occasionally these days. I was dual-booting my current desktop with Windows XP and GNU/Linux for awhile, but it proved to be inconvenient. My computers’ uptimes, both servers and desktops, are typically measured in months (only going down for crashes and power losses). It takes awhile to reboot and restart all of the applications I typically have running, so I don’t do it by choice. Thus you can see the problem with dual-booting: it entails constant rebooting, which I had to do as often as I felt like playing a Windows game. And then once I was in Windows I wouldn’t want to go through the hassle of booting into GNU/Linux only to boot back into Windows the next time I wanted to play a game. It simply wasn’t working.

So I now see the problem with my initial attempts at using GNU/Linux on the desktop. I simply don’t have the patience to put up with all of those constant reboots and interruptions in my computing environment. I’m too lazy. I’m simply going to get another desktop to use exclusively for GNU/Linux, while making every effort to only use my current Windows desktop for playing games. And luckily, making a desktop computer is cheaper than it’s ever been. Here is a current parts list I put together just yesterday for a killer GNU/Linux desktop.

The specs

This complete GNU/Linux system costs only $355. Throw in shipping and we’ll call it $380. That’s a really cheap price considering how powerful this system is. Avoiding the Microsoft tax by choosing a Free operating system pays huge dividends when the overall system is cheap. Allow me to explain the choices I made in putting this system together with individual analyses of each other components:

The barebone system

First of all, I save a lot of money with this computer by building it into a barebone system. A price of $90 for a case, power supply, and motherboard is really hard to beat. You can easily spend over $90 for each of those individual components (and in fact, when I built my current desktop, I did). Getting a good barebone system is an excellent way to save a lot of money on a low-end desktop. If you’re not building a low-end desktop, I wouldn’t bother. The limitations can be significant. For instance, the motherboard that ships in the barebone I picked out supports a maximum of 2 GB of RAM; fine for a low-end system, but you really want 4 GB of RAM on a medium or high end system. And the power supply is only 250W; again, fine for a low end system, but don’t expect it to be able to power, say, a high-end discrete video card. And naturally the motherboard doesn’t support dual video cards, which would be an upgrade path you might want to keep open on a system you’re outlaying more money on. It also doesn’t support quad-core processors. So there are limitations, but for a low-level system, you won’t run into them.

Read the rest of this entry »