I have never seen a CD move quite as fast as the latest from Abandon Ship just has.
209
GNOME has one user-interface faux pas that really bothers me. The panel sits at a screen-edge, and can hold various widgets, including application launchers, a clock, a menu, and my favorite, the volume control.
On the panel is also a little widget, a tray for icons to appear in when an application wants your attention. Mine at the moment (screenshot) has a status icon for Gossip, a status icon and control for Rhythmbox, a redundant and as far as I can tell useless icon for LogJam, and the status icon for Liferea.
Of these icons, if one clicks on any, the application’s main window opens, and if you click again, it disappears. It’s a nice quick way to hide and show applications. I tend to use it slightly more than the panel at the bottom of my screen that does the exact same thing, because there’s no annoyingly slow animation when you do it with the little icon. That’s the good.
The bad: I have on my panel, within a quarter inch of each other, two icons for Liferea, two icons for Rhythmbox, and two icons for LogJam. If I click the launcher for Liferea, I’ll get an error, because it’s already running. If I click the one for Rhythmbox, it’ll launch a second copy, realize it’s running, and open the main window of the other, after about one second. If I click the launcher for LogJam, its main window appears nearly instantly. If I were to have a launcher for Gossip, it would start a second instance, leaving me with three icons all in a row for it, two status icons and a launcher, each with subtle differences.
If I close Rhythmbox, it dissapears entirely and my music stops playing. If I close Liferea, it hides its main window. If I close Gossip, it will disconnect any conversations I am having, and then re-launch, since I have it set to respawn in my session manager — which I heartily appreciate over having yet another icon in my panel.
What’s hard is the sheer number of user-interface widgets I have for a really minimal setup. I constantly battle for space in the top panel on my screen, taking icons I’m not using currently off. I usually put them back within the day, since I use the same apps over and over. I also have a bad habit of forgetting which thing to click to close a window, but leave the application running. Gossip and Rhythmbox, it’s the icon in the status area. For Liferea, I can just use the close-window button or key shortcut. Since I use Liferea the most often, I have that as a habit, and keep shutting down programs I want running when I want them out of my way.
When it comes down to it, the status notification area is a terrible UI. It’s a good concept: a single place to look for the computer trying to tell you something. In practice, it has some major flaws:
- No direct manipulation. You can’t drag the icons around. At all. Trying will bring up unintended windows.
- Inconsistent interface. (These are some of GNOME’s top people making these apps, and they still get it wrong.)
- Redundant user interface elements.
- Poor keyboard navigability.
- No visual distinction between itself and the panel.
- When used as intended by human interface guidelines, it would be empty. That’s tempting to just remove from the panel — but then, I wouldn’t get notifications of important things at all.
In addition, the panel has other flaws:
- No direct manipulation unless you know to middle-click.
- Overcrowding problems and clutter.
- No communication between an application and its launcher.
- Poor spatial navigation for returning to an application.
What GNOME wants is a dock. Just like MacOS. No matter how you try to solve the problem, I suspect that no combination of tricks will get you the net ease of the MacOS Dock. It gets many things right.
- Spatial memory. When you launch an app, it appears in the dock. If you tell the dock to hold onto it, the application icon stays right there. When the application quits, the icon is right where you left it. It follows the spatial metaphor of if you put it somewhere, it will be in the same place when you return. It’s called “don’t surprise the user”.
- Integrated notification. When an application wants your attention, it wiggles what appears as a part of itself. If it has something to say, you can find it at the application’s icon. The icon (singular) becomes an effective handle for the application, to be dragged, dropped and otherwise interacted with. The application feels tangible, not like some box that pops up, but like a thing, a physical tool.
- Simplicity. The dock is not a file manager. You can put files on it, but it is nothing more than a pinboard. One doesn’t have the feeling that it should supplant the filing cabinet, so it does not. It does what it does well. The dock doesn’t hold “applets”, little extra things without user interfaces large enough to be a separate application. MacOS does put a few extra widgets on it, but they were careful to keep it minimal, and not intrusive. They allow windows of running applications to be placed there as well, which works metaphorically if you think of the windows as things to be manipulated, too, and the dock as a temporary storage. Implementation may be complex, but the concept is so simple that all MacOS users get it: the Dock is a place to put stuff where it’s handy.
My solution would be, in this case, to emulate the Dock wholesale. It’s time for Panel 3.0, a complete rewrite and re-think. Break all backward compatibility and move forward with a new, usable interface. It just needs to satisfy the burning itch that all users have: Let me get my work done, fast. My work involves starting and stopping apps, and knowing what’s going on, without anything in my way. Thank you.
208
While reading Vruba’s post on Intellectual Property (with a special, creative-commons or otherwise liberally licensed treat at the bottom), I was realized some things that would make GNOME truly wonderful to use. This falls squarely in the realm of user-visible components of apps. GNOME has a full-featured and growing library of Things You Can Do, but it occasionally lacks the well-polished interface of some other operating systems.
My task of the moment is to download some freely licensed songs from the Internet, and open them in my music player of choice at the moment. I particularly want them to appear in a playlist in order, but since blindly sharing all of ones playlists complete with song contents is problematic to say the least, but I’d be quite satisfied with them just appearing in the order I downloaded them. I can drag together a playlist from within a single well laid out app easily.
First off, every GNOME app that can download files uses a separate file downloading component. My web browser of the moment is Epiphany, and its interface is pretty sweet: that is to say that it’s nearly invisible. You tell it to do something, and it does. Only Safari passes it up, and that’s a pretty close game. It has its own file downloading component, which just stows (for me) everything in ~/incoming. I’m fairly happy with this, but for music it’s a pain. I go to the Epitonic page on Lali Puna and try to download a copy of 603, and it does. Slowly, since the site’s not that fast. So I get distracted. I forget about the file. I wanted to rebuild the afore-mentioned playlist, and I’m missing a file. So I did the logical thing. I dragged the link into Rhythmbox, where I wanted it to be eventually anyway. Rhythmbox even seemed to accept the drop. And you know what happened? Nothing. Zero. Actually, shortly after, Rhythmbox crashed. I don’t know if it was related or not, since nothing happened in the UI. What did I expect? A little box that looked like Epiphany’s download box, and then when that finished, the song to appear in Rhythmbox where I put it. I was dissapointed. I still have the fifteen or so Epiphany windows open from trying to download that music.
What I want
I want a common download control shared across apps. I’d even like a little daemon with a notification area applet that handled the actual work, since occasionally, certain plugins crash Epiphany, certain songs crash Rhythmbox, and the unexpected does occur. I want it to notify the eventual destination that its operations have completed, and even offer periodic updates if the recipient is interested. (A side note: having a progress-bar like Shareaza’s in the Rhythmbox library listing for a song still downloading would be wonderful.)
It’s simple. It’s not a complex thing to code — if Ruby or Objective C were a core GNOME language, I’d do it myself and offer up the code for integration with all the other apps. Compared to other projects, it’s truly trivial. In fact, I wonder why it’s not been done.
I think part of the problem is a false dichotomy in the thinking about interfaces: It’s not just navigational-versus-spatial orientation. You can mix them. One can navigate to a web link, and following a path of links feels rather like large-scale navigation to me. It’s not like my desktop; it’s like traveling to places. The web feels like it models the real world to me. I don’t want to navigate my files, I want them spatial. I want my web browser to stay somewhat navigational, with all the spatial metaphor possible added. And I want direct manipulation, so I can drag a link from Epiphany to Rhythmbox, and have it Just Work. Then I want all other apps to be able to deal with it the same way. Web enabled apps are not optional. This is the Internet Age, after all.
A post scriptum.
You might ask why I don’t just click the link to the MPEG Audio files and let the existing layers do the work. I would, but MPlayer Plugin intercepts that and plays the song in a browser window, which in addition to being a poor interface for audio, doesn’t save the thing for later. It’s exactly what I want from a Windows Media stream, most MPEG videos, and other things that MPlayer Plugin handles, but not songs. You can’t tell what I want to do by MIME type, so don’t bother. (Besides, I may want Lali Puna’s 603 to appear in Rhythmbox, but if I’m just snagging a few songs I despise for a friend who asks, I don’t want them to end up in ~/Music/Brittney Spears and happily indexed by Rhythmbox. I want them in ~/tmp, and to vanish shortly thereafter. There is no default action. I want control.
197
A few days of silence, there. I’ve been busy: Billing is a pain in the ass.
This time, however, it went about as planned. I can deal with that. I send the credit card batch this afternoon, and should have the money on Monday. Hooray!
We had a frisbee game this evening, and it actually happened. A couple kids from Missisipi showed up, and rounded out the game to a nice four-on-four. It was tough — the wind was high, and we had rain part of the time. I’m sure the gusts reached over a hundred knots, and it took out the tree in front of town hall, just uprooting it entirely. Nothing big came out of the cottonwoods in the town park, though. I was impressed. The pruning job shows.
196
Grumble. People who post to community journals and don’t allow commenting.
195
Miscellaneous good news:
- Inkscape 0.39 has much improved font handling. I think it’s good enough now for my purposes. I miss Corel Draw 7 less with every release.
- GIMP 2.1.2 is out, with a GUI-less mode. Good news for those who want to have a little gimp-fu on their sites.
- Why The Lucky Stiff’s site has a new design, as wonderfully quirky as the old one. Kudos to _why.
- And last but not least, the root nameservers are going IPv6. Maybe we’ll see IPv6 rollout hit the masses this year. Or the next.
194
It’s finally happened. I knew it was just a matter of time.
Spammers are now guessing account passwords and using authenticated SMTP to send mail.
It’s time to make your password just a little better, folks.
193
So I can’t make omelettes. I have made one maybe once. What I now call an omellete is browned scrambled eggs, with stuff on top. It’s what goes inside an egg burrito, minus the tortilla part.
So I’m eating mashed eggs with mango salsa. I’ll live.
A coffeeshop conversation on Voice-over-IP
It’s definately ringing in the public’s ears: A fellow who usually sinks his money into commodities trading is starting to put his money on VoIP providers.
Phone companies are running scared, and they don’t know whether to jump into Internet Service in a big way, try to stifle competition, or embrace IP telephony with open arms. So they do all three, and none of it very well. Except stifling what they can. They’ve always been good at that.
I think we will see convergence coming soon, even here, in the rural West. I can see fibre optics replacing parts of the in-town network. I can see HDSL and other ways of pushing more bits over otherwise empty copper being rolled out in short order.
And I can see phone service becoming completely virtual. You just buy a number in the cities of your choice, and pay a small fee (probably flat) to get it to where you are.
Life is good.
Nine more.
I die, struck by lightning while pulling weeds in the garden during a rainstorm.
I run off and live, solitary in some place truly rural, coming out only each saturday for coffee at the local diner.
Success (and technical support) make me cynical; I hate the world, and slowly become an evil business person.
I finally experiment with a few drugs, decide I like them and live in a fantasty world only I can see, and I eat mostly junk food.
I fall down the stairs; paralysed, I spend my time studying physics and higher math. I make bets with Stephen Hawking, but he writes the proofs even for the ones he loses.
I move to a small farm just outside of Portland. I spend most of my time trying to fit more food in a small space, and the remainder fighting slugs.
I give up on rural living entirely, but I can’t find good chilis, so I spend time growing peppers in pots on my rooftop. I spend lots of time floating from hotspot to hotspot, and being cynical and hip.
I decide to hike the Appalachian trail. I like it so much, I hike the Pacific Crest trail. That goes well, I decide to make a life of it, and make a life of raising money by walking places.
I start a political career, and eventually become a state legislator, after suitable time in law school. I become disenchanted with the system, and begin anew, thirty years later.
A short discourse on topology.
I’m making granola at the moment. As I was stirring it, I started thinking about hypershapes, shapes in more than three dimensions.
Imagine for a moment that the granola in your nine-inch by thirteen inch pan is a solid blob. Now, the goal is to turn it so that the part that’s in the center gets to the outside, so it cooks evenly, and the outer part goes somewhat inside, so it doesn’t burn.
Now, since it’s granola, that’s pretty possible. The optimum way of stirring that I’ve found is to push the edge in, then roll the top layer into the gap, and repeat all the way around, paying attention that nothing gets left behind.
Now imagine doing that without disturbing the surface. That’s what doing it in four dimensions might be like.
189

Salvador Dali Melting clocks are not a problem in my reality. I am an unschooler. I will tolerate a textbook, but only as a last resort. Mud is my friend. I prefer hands-on everything. If I had an anthem, it might be Don’t Worry, Be Happy
.
What Type of Homeschooler Are You? brought to you by Quizilla
188
I was angry when I wrote what was here.