Programming Vs Interaction Design

If Winamp provides a space to organize files, this is a "feature" of Winamp. It also happens to be a feature of the filesystem. A good programmer will apply OnceAndOnlyOnce to eliminate the feature. Maybe. Assuming "their" version of the "feature" isn't substantially different from the filesystem's.

--- RichardKulisz

Aside from a lot of baggage associated with holistic, is there any support for this hard line? I'll grant that there might be a general difference between a majority of programmers and a majority of InteractionDesigners?, but can you point out something published as a reference?

Maybe you're just confusing your goals for the goals of the author of Winamp, Richard. When Winamp was originally written, Windows Explorer didn't have the MP3 management tools that it has today. The file system browser could infer no metadata. In light of this newer feature, it seems totally redundant. But within the context of the total broken Windows95 era, it was a breath of fresh air.

Just because an ideal system would have features like BlueAbyss doesn't mean that every programmer should adopt its principles when writing for today's systems. When someone says, "I want a program that will play my MP3s on windows and let me manage playlists," you can't fault them for succeeding at this goal. You can compare them to competitors (e.g., Winamp vs. iTunes is not an unfair comparison). It seems to me you're complaining because someone addressed a deficiency of Windows in the only way Windows allows. -- DaveFayram

On the contrary. Look, there are two problems with winamp. One is its HCI. Second is the artificial conflation of sequencing and playing. It doesn't matter that Windows didn't provide sequencing itself and still doesn't. What matters is that they decided to build the two modules into a single MonolithicDesign. And I don't think you want to be defending monolithic design. And even if the second point were magically rendered null and void somehow, that would still leave the first point,.

You think the author of winamp didn't have the same goals as I do? I'm convinced of it.

As for "an ideal system having features like BlueAbyss", well that enters into reproducibility. You're basically saying that interaction design isn't obvious in the sense that different interaction designers working independently and using different techniques won't come up with the same result. I think that it is. -- RK

I'm not "defending" Winamp as a whole. I dislike its HCI (oh, the woes of utterly skinnable applications. Each pointless new skin more ugly and stupid than the last). I'm defending the programmer's choices. They met their goals admirably (and it shows, lots of people still use Winamp). But I will defend the idea of coupling sequencing and playing. You generally decide what you're going to listen to right before you listen to it. In that fashion, it's quite convenient. It also closely mirrors CD player usage, where one loads a CD then listens to it. Perhaps sub-optimal, but definitely familiar.

No [it's not reproducibility]. What I'm saying is that Winamp is a good Windows application. You seem to rate everything based off your ideal of what a system should be. This is good for evaluation, but rather unfair for real criticism. Nor is it particularly insightful - we know Windows UI sucks. -- DaveFayram

I don't get it, what does it even mean "a good application on a standard that sucks"?

Your argument for coupling sequencing and playing makes no sense at all. If you select a single song for playing then you don't need a sequencer. If you want to sequence an album then it makes no difference at all that the sequencer and player are separate; it's the sequencer's job to find the player, to couple itself at runtime. The only time it matters is when you want to replace winamp's crappy sequencer with an improved version that lets you manage the 600+ items in your playlist. And in any case, my usage pattern (and I'm sure it's a common one) is to remember where things are in my playlist and find them there. -- RK

"it's the sequencer's job to find the player, to couple itself at runtime." What? I now have no idea what you're arguing for. Could you work on trying to speak with the goal of conveying information instead of conveying your rightness?

First, you were arguing that WinAmp has no business deciding what order or when to play music. It should just play a song. Then, you argue that there is an "artificial conflation of sequencing and playing." But in this previous paragraph, you argue that Winamp should do more than it did, it should "couple itself at runtime". This implies that the sequencer and the player should be coupled, but in a late fashion.

WinAmp supported this. You could sequence your music as digital music files, and then drag-n-drop them into the list in whatever order you wanted. If WinAmp was your default mp3 player, you could make playlists in the file system and just click the ones you wanted. It was a popular feature back before ID3 tags were de facto standards.

Maybe you're just complaining because you don't want Winamp to have playlists. You want a separate object (or in Windows' case, application) to make playlists which can then be sent to a player to handle. Since WinAmp allowed Internet Explorer to do this - and now that IE has better music file support, it's much more feasible. You must want a separate piece of GUI just to make playlists.

I'm going to go out on a limb here and defend a monolithic design. While I see that in a system like Squeak or Self, such a thing might be useful (since it could be very generic), I think it would suck in Windows. In fact, I'll go a step further and say I like iTunes, which is a monolithic player/encoder/decoder/playlist manager/music database (although I hardly use it for music search any more, SpotLight? has totally replaced that function for me). In a Application-based paradigm, as long as the raw data is dumped somewhere, I really don't care if it's just one application doing the work. I just want to get it done, and gathering related tasks makes a lot of sense in that context.

I understand that under BlueAbyss this would be different, and it might even be superior. But that's future work and research. It does not mean that you can make generalizations about how programmers think or how interaction designers are superior. It does not mean that the Winamp people should have chosen differently for that particular feature.

Oh and yes, WinAmp's interface sucked. I disliked it immensely. But that's because it was made more for looks than for usability. I hated the whole application. -- DaveFayram

BitTorrent managed to avoid having an application altogether. And do you know why? Because its programmer got very, very lazy and very, very smart and decided that he didn't have to provide a UI at all. And it worked. And it was superior to any conceivable UI for casual usage. And the only reason it wasn't superior for all usage is because it exposed the deficiencies in the Windows UI instead of trying to invent a superior substitute for the windows UI that would nevertheless be constrained to a single application. -- RK

What do you mean, bittorrent has no UI? I open it in windows or linux or OS X and it darn sure does seem to have a UI, albeit a minimalistic one. I can see progresses, queue downloads, control upload rates and throttle preferences, and see completed downloads. So what about that is not UI? -- DaveFayram

Individual torrents have UIs but there is no "bittorrent" UI that exists independently of torrents. When you open IE, there's something there independently of any web pages that are loaded into it. That's not the case with bittorrent. When you shut down a torrent, you annihilate its UI. This is imprecise. Another imprecise way of saying it is that there is NoApplication at all, just methods for torrent objects. A very precise way of saying it is that there is no application UI but this is inaccurate. What is an application if not a UI? -- RK

Huh. This differs from the interface I've been exposed to. All the torrents get placed in one window, in one list. It certainly doesn't give me the feeling that torrents themselves have an interface a la NakedObjects that I'm interacting with. -- DaveFayram

You're using Shareaza or something similar, right? -- rk

No. I am using the official bittorrent client. There is a queue of torrents to be downloaded. This is a UI into which the torrents are embedded. -- DaveFayram

It didn't used to be this way. -- RK

BitTornado? is the NoApplication client, although some case could be made that the original command line ui has some of the same benefits


'"very precise" but "inaccurate"? Huh?'

pi = 3.20193857532789854768475789324753794672766437547547; very precise but inaccurate.


JuneZeroFive

CategoryAboutInteractionDesign


EditText of this page (last edited October 14, 2006) or FindPage with title or text search