Seth Nickell – Design Fu : All Work And No Play

Seth Nickell – Design Fu : All Work and No Play points out that GNOME has done usability really well by this point, and that just doing usability well is boring. He also points out that usability is relative to requirements and expectations, and requirements and expectations are relative to people’s understanding of what the software is — which can be changed by reimagining and repositioning the application.

Haven’t read the article he links to, just the blog entry, as of yet. Premature blogulation. But it sounds cool so I’m blogging it as a reminder to myself.

Update: Yeah, read it, and it is a must-read for anyone who is interested in the way communities of developers grow and change, and the tradeoffs that are made as goals change. Seth’s introspection on this one is great.

Metaphors Lost

Steve Dekorte notices that the metaphoricity of modern desktop metaphors has been diluted badly. I know I’ve seen these observations before from someone mourning the passage of OS 9 in the face of OS X — Was it Tog? Zarf? mpt?

I remember someone pointing out that Classic Mac OS took great pains to give the impression that an icon wasn’t just a representation of a file, it was that file, as far as the user need be concerned. And a window wasn’t just a representation of a folder, it was that folder (at least in its open state). You couldn’t have two Finder windows open displaying the same directory because that window was that directory. I understand newer versions of GNOME use this technique, while Apple has long abandoned it in favor of the NeXTy finder windows they have now.

Good design isn’t always what you choose to do, sometimes it’s what you choose not to do.

I’m not sure any Unix-based OS is ever going to have a really good, intuitive GUI, because the GUI is always going to be a construct on top of and separable from the primary underlying text-based system. Although ROX seems like a step in that direction — it integrates the GUI and underlying filesystem better than any other Unix GUI I’ve seen — at the cost of changing the traditional Unix customs about the structure of the filesystem.

And There Goes Sound.

UPDATE: Boy is my face red. Sound was fine the whole time. While I was moving the computer I unplugged the speakers. When I plugged them back in, I plugged in the wrong set of speakers. I recently got a new set of speakers (thanks Mom) and the old ones were still nearby and unplugged, and the cord looks exactly like the one from the new set… and I plugged in the old set. Which were not plugged into the power outlet. So sound was working perfectly and was being piped to inert speakers. As for the wireless, I’m going to theorize that the connection was poor cause it was too far away. It got bad when I moved the base station significantly far away. It’s wired now and I’m not worrying about it.
Overall, I retract my frustration about Linux sound. This had nothing to do with Linux, it was just me being a dork. Sound in the 2.6 kernels seems pretty smooth. I must apologize to Linux, and thank my anonymous commenter for keeping the faith.

I hate Linux sound. It’s a gigantic mess.

Mysteriously, the sound on my Ubuntu system started working a while back.

Mysteriously, it doesn’t work now.

I have no idea how to begin to debug it.

No idea.

I don’t have that kind of time in my life.

Maybe I should try the newer, more bleeding edge version of Ubuntu. I dunno.

I just don’t know.

UPDATE: I know it would be a bit much to ask, but my old USB external CDR/W doesn’t seem to work either. All the unix cd burning utilities still depend on the hideously archaic “pretend any CD burner is a SCSI device” technique, and apparently Ubuntu isn’t hip to that. I know it was asking a lot to want my old external USB CDR/W to work, but… it would have been nice.

UPDATE: did I mention that wireless connectivity using ndiswrapper periodically flakes out too? Just plain doesn’t work sometimes, even though it reports having a good signal? Disappointing. Disappointing.

A lot of things *do* work on it, but the networking is a real problem, the sound is really annoying, and the usb burner — well, that’s just a minor disappointment. It’s got really pretty screensavers though.

RMS

“Free” software politics. – KenBlog quoting Kerneltrap via Steve Dekorte:

JA: What about the programmers…

Richard Stallman: What about them? The programmers writing non-free software? They are doing something antisocial. They should get some other job.

JA: Such as?

Richard Stallman: There are thousands of different jobs people can have in society without developing non-free software. You can even be a programmer. Most paid programmers are developing custom software–only a small fraction are developing non-free software. The small fraction of proprietary software jobs are not hard to avoid.”

RMS can fuck off now. ‘k, thx. Fucking hippie.

Actually RMS makes a lot of good points in that interview, including ones about problems of globalism. But his comment made me think about my own (very small and limited) participation in the IT industry, and what he said rang true: I’ve been a programmer for one year, and worked directly with programmers in one capacity or another for about six or seven years, and only in the first couple years of that time was I working with anyone who sold software to customers with a proprietary license. The rest of the time it was all companies writing software for their own use. Sometimes it was companies who released software open source, sometimes they just kept it under wraps and used it themselves, but they weren’t selling proprietary software with a shrink-wrap license or whatever.

And to be honest, those companies had their shiznit together much more than the ones I worked for the first couple years who sold their software as their product. They were pretty sleazebaggish. All inflicting copy protection nightmares on people, all filling their customers’ ears full of lies about when the the next version would be released and how many bugs it would fix, all trying to leverage their control over a set of tools to force another company into bankruptcy so they could buy it and dominate the market (I kid you not, that’s apparently what one of my employers did shortly after I left — the plan failed, btw). On the whole, companies who sell proprietary software seem to have a much greater than average tendency to fall into completely sleazebag practices. (Read that sentence carefully before you think I’m trying to generalize about *all* proprietary software companies.)

I think it’s just the nature of the game, relying entirely on artificial, legally-mandated scarcity for your business model (and that’s what proprietary licenses do: legally mandate artificial scarcity). It’s a tough game to play, the deck is stacked against you, and you’re always tempted to get an advantage in some dubious way.

Programming with Continuations

this article from IBM describes how one can use “continuations” to write simpler, clearer, more powerful web-based applications. It assumes the use of a special programming framework which makes continuations trivial to use. I don’t happen to have access to that framework but it was a cool read because I’d heard about continuations before in my old “learning about lots of obscure and interesting programming languages” habits, but I had never really felt I had understood what they were good for.

Specifically, it discussed the use of “continuation-passing style” which is possible even in languages which do not explicitly facilitate the use of continuations. More on that here.