A lot of things in EAGLE are done with quite small dialog boxes
containing only one or two fields. That's not a problem. The problem is
that the VISUAL representation of these is spartan in the extreme and,
again, valuable information is NOT available for the user. Let's take
renaming as an example again:
1. In the schematics, there are three objects that can be renamed:
Parts, nets and busses. If there are NO multiple segments of
nets or busses available, the NAME dialog appears the same for
ALL of the three. It is NOT immediately apparent whether the
CORRECT thingy will be renamed - the dialog doesn't tell.
Additionally, the dialog's title is just 'Name'. Hmm. VERY
minimalistic. Couldn't the dialog be called 'Rename part' or
'Rename net' or 'Rename bus', so that the user IMMEDIATELY
knows?
2. The only edit field is the 'New name:'. When appearing, this
field nicely contains the CURRENT name of the object. Fine.
Hitting a key immediately throws away ALL text and enters new
one. Fine. BUT if the user hit a key by accident and just wanted
to change the trailing number by one? What WAS that number
previously? One cannot see anymore. The user could be presented
with an ADDITINAL text just above 'New name:', which would be
'Current name:' and show exactly that. Then the user ALWAYS
could see that, mistyping or no. Even better, with a LITTLE bit
of additional work one could make this text clickable, so that
the current name would be inserted into the edit field again
for further editing.
3. The user MUST know at this stage what RENAMING really MEANS.
For parts, that's JUST the unique component identifier, but
for nets, renaming might create ELECTRICAL CONNECTIONS, which
is something completely different that quite a number of new
users are simply not familiar with. The word RENAME (or just
NAME) does definitely NOT immediately ring a bell like 'Oh, I
have to be careful, because I might create short-circuits
with this renaming'. Newbies just DON'T know. That's bad
enough, of course, but even worse is that EAGLE doesn't TELL
them: Why not show just an additional descriptive text in the
'Rename net' dialog like:
By renaming a net, you can
- give it a unique, descriptive name or
- connect it electrically to an existing net by giving
it an already existing net's name.
This should clear it up even for new users. Experts of
course just ignore that text - they already know.
4. When wanting to CONNECT a net to an already existing one,
the user MUST know the existing net's name BY HEART (including
all underscores and whatnots) to be able to enter it into the
dialog. Why not HELP the user with that? Why not be FRIENDLY
for a change? Do not just use an edit field for net renaming,
but a COMBO BOX: Here, the user can either enter a name of
choice or select an already existing one (because the combo
contains ALL existing net names, alphabetically sorted).
Even better: If the user does NOT want to connect anything,
but just rename, he can even look up if the new name he
desires is already available (BEFORE getting the 'already
exists' warning).
5. If one just wants to DISCONNECT a segment from others, one
often doesn't care for a CERTAIN name, but just for ANY
name that doesn't exist yet. Because I never know which
'N$' number already exist, I usually enter an absurdly
high number, only to realise that I apparently already did
that some time ago, resulting in the feared 'already exists'
warning. Why not HELP the user? Why not be FRIENDLY? Add
a 'Unique' button to automatically rename the net to 'N$x',
where 'x' is the first number that has NOT been used so far?
6. If the user STILL doesn't know what all this is about, why
not give him the chance to shout HELP by hitting F1? This
doesn't work at the moment, but it SHOULD! And, of course,
a dedicated help page for this dialog should be displayed.
With the NAME command as link somewhere. Or, not as nice,
but still workable, JUST the help page with the NAME command.
Please find attached an example of how such a dialog might look (minus
the segment connection options, which should of course appear when
necessary). Such a dialog is a bit of work, of course, but doesn't have
any impact on other source code snippets, so there's no change of
strange side effects.
Of course, from a PROGRAMMER's point of view, it STILL is just a change
of a string. This is why CadSoft created that dialog as it is now: No
hassle, no user help, no nothing. It's just a string edit, so what? But,
from a USER's point of view, it's NOT just a string edit, but something
that can be done MUCH better with a little bit of thought about how
users DO things or might WANT to do things.
Please, CadSoft: The programmers are YOU. You don't sell the software
mainly to people who want to PROGRAM with it. You sell it to people who
want to USE it. A user thinks differently from a programmer, so try to
create a GUI that is convenient for the USER, and not for you as a
programmer. Pretend you are a user. Make believe you are a NEW user. Try
to view the GUI with a newbie's eyes. You will be SHOCKED TO THE CORE by
what you will suddenly see then...
As somebody else exclaimed loudly some time ago in a different
newsgroup: The E in EAGLE means 'easy'. Yes! So why not MAKE the
software easy and CONVENIENT for the user? Even for NEW users?
Andreas Weidner