Hi,
I "store" all product settings in a database. I also track *changes* to those settings (sort of an "audit trail"). This allows the user to roll back particular changes to, presumably, get to a configuration he/she "preferred more". (Or, lets him/her see how a particular thing *was* done).
I'm told things like newer versions of Windows have a similar feature (don't know as I've never used it) -- *but* that it requires rolling back the "entire" machine configuration to a particular "save point" (sorry I don't know the Windows-speak for all this :< )
Thinking about *that*, I guess the only practical way it could be used is just *after* making a change that you've decided is "bad"/undesirable. (I am assuming that you explicitly/implicitly *do* something to trigger the creation of this "save point" and can "unwind" them in reverse order by doing something *else*) I.e., Windows is notorious for not documenting their Registry (in a way that can help the user adjust it, interactively).
My approach, at least, doesn't suffer from the lack of documentation aspect. You can see what each setting does and aren't artificially constrained to "DWORD", "String", etc. So, the database tries to assist you in constraining your choices, etc.
I also have an expert system that helps the *software* enforce consequences of setting changes. I.e., "if the user makes this change, then these *other* changes are automatic consequences of that action". So, the user can identify (inspecting the audit trail) his explicit changes and the automatic changes consequential to those.
But, aside from this and making observations about the
*timing* of "explicit changes" (i.e., "You didn't make any changes for three days and then made the following changes...") what else can I offer to assist the user in "remembering"/identifying something that he would like to undo *or* a setting that he would like to revert back to?(e.g., walking backwards through the audit trail, I can tag each *change* that he made with information regarding what the setting *was* prior to the change he made -- as well as the actual new setting)
Sorry, I guess I'm trying to figure out how to overcome
*human* shortcomings... :-/