Guido

From HypertWiki
Jump to navigation Jump to search

Status: half-baked ide

End-user Overview

There are times when you really just want to stab your computer because it won't do what you want it to. Someone knows how to make it behave, but you don't, and all the help screens and online documentation and google searches you have time for (and then some) have gotten you nowhere closer to the answer -- and "the answer" isn't even what you want; you just want to get some work done.

Guido knows the answers, or might know them, or might know someone who knows. In any case, Guido is ready to break a few kneecaps if someone don't start singin' pronto. Let Guido Be Your Guide-o (hey, he was never so good wit' dat poetic stuff inna first place, so shaddup).

Technical Overview

I'm going to use Linux as the example, because no other operating system in my experience has more stupid little secrets you Just Have To Know than Linux, and thus it is a perfect place for Guido to start causin' trouble if the softwares ain't fallin' properly in line an' showin' proper respect. (Windows XP would be a good next choice, especially in the area of network configuration.)

The basic functionality is in two parts: the user module, which largely consists of some kind of scripting engine through which Guido accomplishes various tasks (downloading files, executing commands, simulating mouse and keyboard activity, etc.) as well as interacting with the user, and a web-based hacker module, through which Guido is given instructions on how to accomplish various things and text for explaining things to the user.

Guido can be thought of as a kind of wiki-based Help system with teeth (on both ends; the wiki end will need security to prevent malicious scripts).

User Module

Take Microsoft's MSDN Help application, make the contents secure-wiki-based, and give it the ability to execute scripts. I need to describe in some detail what's good about MSDN Help (there are some things that are not good, too), but for now I'll just list:

  • Hierarchical topic view (so you can just browse looking for stuff)
  • Searchable index (analogous to MediaWiki's [Go] title search)
  • Searchable contents (analogous to MediaWiki's [Search] button)
  • Contents nicely formatted

The user should have the option of letting Guido do the work or, instead, viewing instructions. The instructions should be tailored to the current system (e.g. when trying to run Gimp, Guido's scripts would tell him how to find the binary, but Guido would only tell the user "this is where it is" unless asked for more info), but the user should have the option of seeing how Guido did the tailoring (asking for more info) so as to be able to apply the gained knowledge to other systems without Guido's presence.

For any given task, there should be some kind of indication of how many users had used Guido's instructions and how happy they were with the results -- in fact, it should be a trivial task for the user to add their own notes to a given task, for other readers to view. (Lists of tasks should show, for each solution, how many comments as well as the success rate.)

Hacker Module

This end of Guido will be more or less like a wiki, except that the main "articles" will be code, with attached bits of text which will show up as explanatory text in various places. There will need to be some kind of security to prevent malicious scripts from being run by unprotected users. The primary defense should probably be self-policing (as in MediaWiki), rather than heavy restrictive measures, but this aspect of the system will have to be designed very carefully.