October 2005

1

Firefox made me think, help!

Posted on Thursday, 13 October 2005

Since Firefox doesn't seem to make it very easy to import/export the data it creates (beyond bookmarks at least), I probed my profile and found a signons.txt file which seemed to contain the information, albeit encrypted. No problem I thought, that will be the password I set for the master thingy in firefox. Wrong was I.
A little googling turns up that you should copy the key3.db file too, which is fair enough, but I really think this kind of thing should be easier. That does have a nasty habit of tending to introduce a lot of complexity as more aspects of the program get more flexible, especially from the user's point of view. Interface designers are getting pretty good at making simple interfaces that do the right thing most of the time, with more advanced options hidden away for when they are needed and this is something I like a lot, but it's a shame that all that functionality is isolated with the user.

It makes me pine for the old days of ARexx on the Amiga. It was (fortunately) considered de rigeur for self-respecting applications to support it and it exposed the full user functionality of a program to automatic scripting. If that kind of thing were updated for the modern world and combined with bindings for the various scripting languages, a whole range of possibilities open up. Back in the Amiga days, Arexx was all about automating the hell out of graphical tasks for power users, but I have been thinking about another possible use.

The idea would be an alternative to traditional help systems which are tedious to compile, large to download, not always very helpful, etc. Instead, exploiting an Arexx-like ability to control applications, the "help" system guides users through the application without making them watch a stupid tutorial - it actually helps them.
That is to say, I click "help me export my data", it asks me some simple and sensible questions to figure out what to do, and actually opens the right windows and shows me what to do while it does it. In one feature you are training the user to do it for themselves (maybe they want to do it or they want to use more advanced options), and you are providing a simple, automated solution for the casual/new user who maybe uses this feature once a year at most and doesn't need to learn it. This has to beat writing reams of documentation and capturing thousands of screenshots. You just need a few text prompts to explain what is happening and what the results are, and the rest is scripting that is quite stable. The developers can do whatever they like inside their application, the "help" is controlling it at the level of UI widgets, effectively. It might even be possible to write the scripts and place the text prompts with some kind of tool, rather than write them by hand.
Perhaps it could be done by the UI designers in Glade-like applications - the same functionality could be useful to them for automated testing and they could write the tests, documentation and interface with the same tool into one XML interface file.

Does that make any kind of sense?

Randomly, I also think the next release of Ubuntu should have a little animated Jeff Waugh who pops up and talks to new users, cheers them up and helps them learn how to use Ubuntu Linux, preferably with the above help system ;)