EP foo: In which man does not get swayed by pretty graphics
In an attempt not to giggle myself silly over the kung-funess of my compiz enabled desktop I got into a debate with my friend Peter on how CD labeling should work.
A. If HAL does not tell Rhythmbox it has a burner – we don’t need to worry
B. if GNOME does not tell Rhythmbox it has a configured printer available – we don’t have to worry
C. If we have those and the user selects a couple of songs we then tell him by showing the playlist icon that he can queue them up, we show him the burn icon to show him that we also offer him the option of his music on any media he can burn on
– if we know what his choices are, we only ask him if his options are > 1 – in these cases his defaults are restraints of the physical properties of the users machine and/or network.
If this is the first time the user prints a CD label, here is what we know since it’s exposed by HAL, GNOMEPrint and us (rhythmbox).
We have the artist names, track names, playlist name (or we can ask for it if it matches the default or is a direct selection in the collection) – we can generate a cover for him. We can also get cover images off the web. If that is the case we ask the user if since he has a choice what he wants and when he wants it to be applied (never bug you again about this? reversal is a fringe so we put that in an easily available yet tugged away dialogbox or something).
Are there better printers out there for the job (GNOME print should be able to tell us if there are, say if his printer is a b/w laserprinter and he has printer with color print out, but only when he wants to printer covers. We should know when he has better options available and we should share that information to others who might care.
– Hey guys, when his guy prints b/w stuff he likes this printer (or types like it so if he is on the campus network offer him that one) and when he printers colour offer him that choice.. and please remember his defaults.
We know all this stuff.. come on people. We should only bother the user if he has a choice and no better options available based on prior use or alternative superior options.
We know what the user likes, in the context he wants – we could potentially learn that – This is Joe at work, at work he likes these applications set up like this, this hardware configured like this, he likes this level of bling, etc. At home however this applies since there Joe like to look at dirty websites and play poker while social networking on MySpace. We can make the desktop work like the user goes as he goes and we offer to make it better – oh Joe I see you got a new videocard, I can offer to do this fun stuff do you want to try it and if you like it I’ll apply it where you want when you want with your defaults in mind when we learn.. This Joe is your system
Imagine as a college student if your system learned from whatever imput it has (including you) that between 8 and 10 on Monday you have on specific class, and these where the notes you worked on in Tomboy. In the next class that day you are then in a context that the system knows (be that if you shift to a different phycial system or not), finds your notes, set your away message to your buddies that you are in class because that’s what you did the few times you when to class. The information you need in this context is easily accessable.
Now back to wobbling my windows.