Archive for February, 2004

How to improve the GNOME 2.6 file selector

My last post criticized what I consider a serious design flaw in the upcoming GNOME file selectors: the text entry field in the “Open” dialog is hidden. Well, here’s how I’d fix it (if I knew Glade, C, and GTK).

Read the rest of this entry →

A design problem in the new GNOME file dialog

I just saw some mockups on Planet GNOME of the new and improved GNOME file chooser. Seth Nickell has posted some additional screenshots, and I really like the way it looks. But while I think it’s a vast improvement, there’s one very minor detail that will seriously affect GNOME usability in the hands of the average user: the text field is missing from the “Open” dialog.

Seth explains that in order to get a text field to type in, one must first press Ctrl-L. He comments that:

No entry widget means list selection is a direct manipulation, rather than going through a layer of abstraction. Conceptual model is “List selection chooses items to open” vs. “List selection changes the entry widget, the entry widget indicates the file name to open from the current path”.

Well, that’s just silly. The entry widget is not some obscure feature that most people don’t need; this is something everyone expects to be present in an “Open” dialog box. While there’s justification for changing the way the entry field works (perhaps turning it into a filter) there’s no real benefit gained by removing the text field from the dialog entirely, even if it’s still accessible with a hotkey.

Let me interject that having a keyboard shortcut is nice, because Ctrl-L is the standard shortcut for the address bar in Nautilus, Mozilla, and other applications. But the way those applications work is that Ctrl-L simply moves focus to a text field that is already there. Instead, in this design, one of the most basic elements of an “Open” dialog box — a place to just type what you want — is hidden from the default view. This will frustrate some users, and for no good reason.

I like keyboard shortcuts. I’ll probably use Ctrl-L in the new GNOME file dialogs a lot. But many people don’t like keyboard shortcuts, and they shouldn’t be penalized for it. I hope someone on the GNOME team feels the same way, or this unnecessarily confusing “feature” will wind up detracting from the overall interface.

New ways to waste my time

I knew it would happen one of these days… they’re watching me now, tracking every word I say. Like acapnotic, I feel obligated to say something remotely related to programming (instead of just ranting about how I should be President).

I’ve been playing with nevow for weeks now, and I’m very impressed. I’ve been able to do so much that I wanted to do with Woven, but couldn’t, with only a modicum of effort. Porting my site to nevow was a breeze. I’m already working on new features and capabilities; the one feature I’m really psyched about is being able to edit page content on-the-fly using freeform.

My new content framework (which remains unnamed) consists of HTML templates and various types of content “nuggets”. Each nugget is a custom data object, representing text, HTML, Structured Text, Textile, a photo album, or whatever else. This is pretty docile, and it’s how my site works currently.

But, a-ha! Every nugget class in my new system implements TypedInterface, which means that nevow will do practically all the work involved in displaying forms that let you modify data over the web. Combined with nevow.guard, which wraps the entire site with pluggable authentication, I’ve got all the trappings of a wimpy CMS — except I’ve no intention of writing a blog.

The biggest issue is rewriting parts of freeform, something Donovan has been guiding me through. Currently, as I understand it, the Renderer which is generating the web resource is the only Configurable object to which freeform is able to post; we need to be able to define an arbitrary number of Configurables within a single resource, all of which can be posted to normally. (I managed to kludge this behavior before DP and I talked about it, but in a horribly messy, not-entirely-functional way.)

Aside from my personal web page, I’ve also been using nevow to write a web-based RSS aggregator. My goal is to create something akin to Bloglines or Flock, but right now it’s a poor substitute for either. But it works, and it was a snap to put together.

Development in nevow is unbelievably easier than it was in Woven. I’m happy to have so many cool things to distract me from my homework. Which reminds me, I won’t have any more homework in a few months. Anybody out there hiring? <grin/>