People should be able to
customize their software as much as possible.
We should be able to change the look of the software, the
key bindings,
the level of help provided by the applications, everything except the
type of functionality that the software provides. The only thing which
should be immutable in software is the functionality. Everything else
should be changable by a user setting.
Emacs does this. So
does
Vern. A lot of the various
MP3 players such as
Winamp and
Sonique are on their way. Customizability is one of the main reasons
that
UNIX and
X-Windows are better than Windows at getting a
personalized user experience.
The big problem with personalizable software is that the personalization
is either hard to code, or hard for users to understand. Toolkits
which make personalizing software easy for the programmer as well as
the user are therefore worthwhile and a Good Thing.