A Windows moment on my laptop
I had a Windows moment with my laptop today. I normally leave it suspended instead of powered off, and when I unsuspended it I discovered that its networking had stopped working. The network-controlling widget in my taskbar just said 'Networking unavailable', and the various system management interfaces were opaque about what might be wrong and why; the network devices were there, they weren't reporting any obvious problems, and so on. The system just wasn't having anything to do with networking, whether wired or wireless. So I used the usual Windows solution: I rebooted the machine and the problem went away.
The only thing wrong with this story is that my laptop runs Fedora 13.
The problem here is not the existence of Network Manager and its collection of GUIs for managing networking on a modern Gnome desktop (although some old Unix people may feel otherwise). The problem is that none of them were willing to tell me why networking wasn't available. They knew there was a problem; the Network Manager applet even told me so. It just offered no diagnostic and no suggested remedy, not even a 'make networking available again' option to go along with its helpful message.
What makes this a Windows moment is not the GUIs; it is the black boxes. I don't object to making Linux management more user friendly, but the systems for this need to do one of two things: either they need to have black box problem resolution (where there is a 'make networking work again' button), or they need obvious ways to open up the black box to tell you what is wrong and what you need to do to fix it. If you normally manage with GUIs, those GUIs need to have that detailed 'what is wrong and what you can do about it' interface.
(Looking back at the incident, I suspect that some crucial Network Manager daemon process died and that if I had looked at logfiles somewhere I might have found this mentioned. But I didn't, because Network Manager has successfully made itself into such a black box that I have no idea what all of its pieces are and no interest in learning, because it seems pointless.)
Sidebar: why I like Network Manager
The short summary is that it gives me a simple interface to a complex world and makes that world more or less work. I can plug my laptop into any network that gives out DHCP and it will automatically come up on it. I can associate myself to one of several different wireless networks (with different keys). I can bring up a VPN over all of this. And I do all of this at various times.
With sufficient research I could write scripts and run commands to do
all of this, and keep opening terminals and running
sudo as I move
around between networks and suspend my laptop and so on. Network Manager
means that I don't have to. I'm lazy, so I appreciate that.
(Could it be better? Of course. But most of the ways I can think of to make it better are to let me express relatively complex policies, like 'if wired networking is available, use it; otherwise, if this wireless network is available, associate with it and then bring up this VPN'.)
The limitation of templates for web design changes
Given that DWiki is template-based, in theory I could fix my comment form design mistake from yesterday. All I would have to do is revise the 'write a comment' template that's used here so that it included the entry and the existing comment, as well as a preview of your new comment and the comment entry form itself.
Except not so fast, because this revised version would be a usability disaster as I've described it. The problem is that all of the links to the 'write a comment' page have no fragment identifier right now, so they go to the top of the page.
When the top of the page was either the comment entry form or a preview of your comment, this was the right decision; you immediately see the important thing, what you clicked on the link for (or the 'preview entry' button). But if I just changed the template to put the existing entry text at the top of the page, well, that's what you'd see. This would be a terrible interface; you would click 'add comment' and get what looked like exactly the same web page unless and until you scrolled down (possibly quite a bit). Given that websites are often broken, I'd expect most people to immediately conclude that something had gone wrong in my comment process and give up on the spot. And if you persisted, you'd get to scroll down again every time you previewed your comment (which you have to do at least once).
(I generally assume that most would-be commentators are not all that strongly motivated.)
Fixing this is beyond the power of DWiki's templates. While I could easily add a fragment anchor point to the 'write comment' page, the links to the page are generated by hardcoded logic that lives outside the template system. I could go fix the logic too, but this level of redesign clearly requires me to step outside the template system.
(Plus, I'm not even sure if you can
POST to a URL with a fragment
identifier. Probably you can, but I'd have to look it up to be sure.)
I suspect that this is going to hold true for most template systems. If they automate things like form creation at all, they are likely to contain assumptions about the possible shapes of your design and thus limit your ability to change it radically. You can flesh out the skeleton in many ways, but how the joints move is going to show through sooner or later.