Ben Jackson wrote: > They're both pretty bad. There must be something about CAD programs that > leads to wacky user interfaces.
Interesting comment, in that on another list I was just in a discussion about 2D drawing tools. I am a fan of QCad. Many people complain about the "strange" UI on QCad. But after you climb the considerable learning curve, you can absolutely fly with it... because you can think in geometry and operate like a draftsman, with no time spent doing squinty-eyed mouse nudging. I think the point is that the familiar GUI paradigms are *not* oriented toward creating precise graphical work product. They are oriented toward common office applications like word processing, spreadsheets, and simple illustrative graphics as in a presentation manager. When the fundamental work product is graphical in nature, it requires an entirely different metaphor. Documents have sheets -- often not all the same size. Dimensions are important -- critically important if they are going to go through a CAM tool and create G-code. And the whole concept of managing a database of attributes that is joined to graphical elements is just not there. So anyway, it should not surprise us that the main stream GUI metaphors break down entirely, get in the way, and cause general pain and suffering for any application involving editing a graphical document. So, where does that lead? It says: Slavishly following any of the UI guidelines will likely lead to a klunky, hard to use tool. Trying to invent an improved interface will be unfamiliar to new users, and every attempt will also implement a certain percentage of Bad Ideas along with the good, it can't be helped. In any case, no two independently invented UI's are going to be consistent with each other without *lots* of hard work on the part of the developers. For my part, I've sat through enough meetings listening to the intense debate between top-flight GUI designers trying to get a program right to last a lifetime. Mind you, it has it's time and place. But that experience gives me enough perspective to largely not give a rat's behind any more... gschem gets the job done for me, pcb also, and QCad... and all have different UI's, and while it would be nice if they were all consistent, I will *not* participate in any way in any discussion of what should change. :) However, while I have personally "gotten over it", saying: "Get over it already!" to a new user is not the way to win friends and influence people. It seems to me that the approachability of the suite could be greatly improved simply by constructing a "new user's package". This package would: 1. Have known stable versions all bundled nicely to work together, with reasonable defaults. 2. Come with well-documented, cruft-less libraries that don't try to do everything, but address a common baseline. 3. Come with "getting started" documents that are all self-consistent with the package. (I think this all exists or nearly exists, but is not doggedly curated.) New users may outgrow the "getting started" package pretty fast. But that doesn't matter a whole lot, I think. The point is to get quickly to the point of being self-confident with the tool. Once upon a time I worked at an ill-fated EDA company where the complexity of the tool led to long pre-sales benchmark cycles. I believe to this day that is what killed the product and the company. The longer it takes to get results from the first benchmark, the less confidence in the tool -- I think the probability of closing the sale goes down exponentially with the time it takes to do a trial. Gee, I've rambled on... maybe I can summarize: 1. The most productive graphical tools will always have out-of-mainstream UI's. 2. Retaining a trial user as a new user requires quickly completing a pass or two through the work flow with confidence and minimal confusion. 3. #1 implies a non-trivial learning curve. But simply having the easiest ascent up the learning curve well marked helps. -dave _______________________________________________ geda-user mailing list [email protected] http://www.seul.org/cgi-bin/mailman/listinfo/geda-user

