(no subject)

Date: 2003-03-17 12:53 am (UTC)
I am trying to bridge the gap between user and programmer. I tend to become a power user at anything I use long enough (i.e. I become restricted by my tools, no longer by my ability), and I guess the only way to improve one's tools is to be a programmer in some form or another.

A user who isn't willing to be a programmer (i.e. work on his tools), should accept the tools he already has (either that or depend on somebody else's help). Programming doesn't necessarily have to involve messing with ugly code in a text form. In fact, given a smart enough environment, one can program by demonstration (see Henry Lieberman), by answering questions, or using some graphical programming language (though I haven't heard of the latter two)(granted, text-based programming is the most powerful, at least for now). The idea is to allow laymen to be programmers without too much effort. But all of this is far from a satisfactory solution to my concerns.

I guess my goal is to create (development) tools to help people to improve their (application) tools. But this requires the application to be written in specific nice ways.

However, what if the application could make these changes transparently? Really, you'd just need baby steps -- change small things one piece at a time. Take an example: if the user constantly needs to be prompted to save their work on exit, and they always click yes, then why not auto-save on exit? A little pattern recognition by the app would go a long way towards transparently customizing a program, in much the same way a Tivo records some TV shows without prompting based on what it thinks you would like to see.

I, for one, like my programs to be predictable. I don't want them learning my behaviors without my control or supervision, since they could learn wrong behaviors. Besides, some user behaviors may be too complex to be figured out statistically. Not only that, but some improvements (probably the most important ones) involving adding new concepts, and are inherently more complex than changing a yes/no setting (such as "Save Automatically?"), and would require a new *programmed* module for modeling the new concept (dumb example: you want to improve Notepad so that it uses multiple fonts on the same document, you would have to re-create the concept of font (in this case the font becomes a property of each character, instead of the document): the program will never learn that by observation).
Basically, you can't get away from logic.

But then again, yours is a good idea in some cases. Maybe the program could warn the user before using its new, learned behavior. Microsoft sometimes does this, but without warning: remember how only the most used apps in would show in Windows XP's Start Menu, unless you clicked for more? I hate that.


Or am I going too far here?

No. It's only too far when you lose sight of what you are doing there. ;-)

I want to study more cases of "walls", and see where my theories need more work.
(will be screened)
(will be screened if not validated)
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting

February 2020

S M T W T F S
      1
2345678
9101112131415
16171819202122
23242526272829

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags