Aaron,
First of all, thanks for your comments, we appreciate the time that
you've taken to systematically articulate your concerns. When I first
started using geda, I was moving from CadSoft's Eaglecad which functions
like most conventional EDA software. Initially I was so frustrated by
geda that I quickly abandoned it in search of other alternatives, so I
can understand where you're coming from. However, I was unable to find
anything with near the capabilities of gschem/PCB at a price that I as a
student could afford. Furthermore, I was reluctant to pay hundreds or
thousands of dollars to lock all of my designs into a proprietary
format. So here I am...
All of that said, back to your concerns. As someone who has become
proficient at using gschem and to some extent PCB, its easy to fall into
the trap of just saying "the program is easy to use---you just don't how
to use it". After all, I am familiar with the "strange" two letter
shortcuts, etc. But I think that only considering the view of the
experienced user is as foolish as only considering the view of the brand
new user.
What I've noticed so far that would be nice to change:
- Don't use the middle button for hardly anything. Number of reasons
here, one of which is linux typically uses this to paste from the
clipboard/kill ring, which would be acceptable. Also, if the
application was to be run under windows using Cygwin, or whatever, it
wouldn't be usable.
I'm a bit torn here. On one hand, using the middle button gives rapid
access to frequently used functionality. However, I use a scroll wheel
mouse which makes it hard to click the middle button and as a result I
find myself wincing when I do have to middle click. I'm not sure that
portability is an issue though because I'm pretty sure that my mouse
buttons work the same under linux and windows.
- Menu options that have command shortcuts should use the form
Ctrl+<key> instead of a one-two letter combination.
gschem is a bit odd in its use of two letter shortcuts. At first, I too
found them unusual but I've come to appreciate them. For me anyway, its
more comfortable to press "v" and then "r" to redraw than to twist my
hand to the left to press and hold "ctrl" and then hit "r".
Its also worth noting here that all of gschem's key/mouse bindings are
completely reconfigurable. If you don't like the way they are, you can
easily change them. Perhaps we should create a "conventional EDA"
binding set that could be easily loaded by those who want it. This
pertains to the middle button issue as well.
- Create standard operating cut/copy/paste (would probably eliminate
the buffer menu and the 'copy mode' type usage).
I assume this comment applies to PCB and not gschem. I agree that PCB
would be well served by an overhaul in the copy-paste area. I know that
DJ Delorie is doing work to separate the PCB GUI from the backend so
that we can create alternative GUIs. This would probably be a good
place to make those changes.
- Though not critical, I did notice it happening frequently: I would
move or resize a component or net, and I'd have to manually go to
View/Redraw to redraw a missing line or something. This option should
not need to exist at all.
I agree here as well, we should not need to have to manually redraw.
The right thing to do is fix all of the drawing code so that things
never get into a state where a manual redraw is necessary.
Unfortunately, that is much easier said than done but I think should be
a development priority nonetheless. In the meantime, the "vr" shortcut
is much more convenient that using the menu.
- I found the fairly simple act of moving components and nets
difficult. This was primarily due to having to use the middle button.
These types of operations should be seamless to anyone that has used a
drawing program before.
It would be nice to be able to drag components by clicking and dragging
with the left mouse button or by dragging a selection box around them
and then dragging the selection (all with the left button). I'm not
sure if this behavior is possible by remapping the mouse actions or if
it requires code changes. As a tip, I find it much easier to move
things by highlighting them and then pressing the "m" key. Just click
the left button to drop them, no middle button required.
- If menu options indicate some current state (like, Options/Net
Rubber Band), they should change depending on the state, for example,
if the option is on, add a check mark next to the option.
Good idea, and not too difficult to implement either.
These are a few of the primary things I noticed that I think can
easily turn people away from this program, and if fixed, will have a
great value. Depending on how my search for other EDA tools goes, I
may download the source and start fixing some of these myself.
We always welcome code contributions. Welcome to the list.
-David Carr
gEDA user / code piddler