element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet & Tria Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • About Us
    About the element14 Community
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Japan
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      •  Vietnam
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
Autodesk EAGLE
  • Products
  • More
Autodesk EAGLE
EAGLE User Support (English) A newcomer's experience and what can be done about it
  • Blog
  • Forum
  • Documents
  • Events
  • Polls
  • Files
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join Autodesk EAGLE to participate - click to join for free!
Actions
  • Share
  • More
  • Cancel
Forum Thread Details
  • Replies 34 replies
  • Subscribers 189 subscribers
  • Views 2354 views
  • Users 0 members are here
  • standardization
  • gui
  • library
  • usability
Related

A newcomer's experience and what can be done about it

lix
lix over 14 years ago
Hello,
As I just finished my first (small) project in Eagle, I want to express some thoughts on how the program could be improved, especially from the point of view of a new user who did not gave up after his first contact with the software (as probably many other did!). Although I read that an upcoming V6 is under way, however I have no hopes that CadSoft would take my suggestion seriously (it's probably too late anyway); in this respect, you can see my post as an exercise in futility…
First, some relevant information on myself: although I am a newcomer to Eagle, I have a large engineering experience in electronics and software development. During the mid-eighties I led a small team who designed a PCB layout program on a graphical CP/M machine (using a mouse!); by the end of the eighties I jumped on Orcad, then in the nineties on Accel Technology's Tango suite (under DOS), and later on P-CAD 2000 under Windows, which I still use today. On occasion I had to professionally evaluate several CAD programs, including but not limited to Protel, Specctra and Ultiboard.
I also stumbled upon Eagle several times, but it never made it, as the UI was so clumsy. I re-visited it now for several reasons: as I am soon going to retire but still plan to work on hobby projects, I need a reliable and low-cost tool, which ideally should work also on a Macintosh. As the Mac version now runs natively (previous releases required the X11 windowing subsystem), I saw it as suitable solution.
In order to make things straight: I have no issues with any OS or computer maker, be it Linux, Windows or MacOS X. I had (and partially still have) to deal in my career with all of them, and many other Unices in-between (HP-UX, AIX, DG-UX, Nextstep, etc.). And yes, I am a long time user of many CLIs (command line interfaces), from CP/M to DOS to sh, tcsh, bash, etc., even to some written by myself while developing software for various projects.
However, for personal reasons I need not to explain, my current working machine is a MacBook Pro notebook (and I am very happy with it). I use the Parallels virtualization software to run several virtual machines, among others a Ubuntu Linux and a Windows 7.
Now back to Eagle. My remarks are based on the use of the freeware, unregistered Eagle version 5.11.0 on a MacBook Pro running MacOS X 10.6.8 (Snow Leopard).
To summarize my experience in a single phrase: Eagle is an incredibly solid and powerful piece of software, with an incredibly poor user interface. Let me now go to the details.
The good: the software is very solid, during my three weeks experience with Eagle, it never crashed and I never lost files or parts I've designed in my own library. I was particularly impressed with the autorouter. I've used and seen quite some of them in my professional life, including the Cooper & Chan autorouter, quite famous by the end of the nineties, but for this price Eagle is really outstanding. And last but not least, Eagle is probably one of the few (if not the single) serious CAD packages that runs natively on the Mac.
The bad: the user interface is non-standard by any of today's GUI standards, be it Windows, Mac or Linux. The library management system is a complete torture. The fact that Eagle runs on more than one platform may have led to some curious decisions by the developers, as for instance ignoring many of the underlying APIs of the individual OSes and rather build instead their own functions/classes (wheel re-invention). The net result is that the program looks and acts strange, gives the feeling of "not belonging here". Frustration is the first feeling a newcomer gets, so in this respect, the acronim "Easily Applicable Graphical Layout Editor" (Eagle) is only wishful thinking.
There are many issues that I consider as not being compliant with modern GUI design principles, but I will list only the most glaring of them. I believe changing these would not alienate current users, but would greatly increase the number of new users adopting Eagle.
1. This one must be written in bold letters: elimination of the "MOVE" command (button). This should be replaced with the default state of the GUI, that should be reached by clicking a button represented normally by an arrow (standard for most drawing programs). In this state, it should be possible to click on an object, be it a part, a text, a pad, a line, etc. and move it by acting on the mouse. A right click should bring a context sensitive menu that should allow additional operations like "delete", "rotate", "replace", or show "properties". In addition, several keys should be used as shortcuts that would greatly increase the speed of operation (e.g. "R" for rotate, "DEL" or "backspace" for delete, etc.). Obviously, the keys should have some defaults, but should be user assignable. It is important that the shortcuts should work without modifier keys (i.e. CTRL, ALT, CMD, SHIFT), therefore a solution must be found for the CLI. And this brings me to the second issue:
2. Eliminate the CLI from the GUI, or at least allow it to be hidden (this should be the default). I spent quite some time reading the forum and I noticed that there are a couple of die-hard users that would rather get rid of one of their fingers than of the CLI. However, they are a small minority. There is even someone claiming being able to do certain operations 10 times faster with the CLI than in the GUI: this doesn't mean that the CLI (or for that matter that guy) is better, rather that the GUI is so poorly designed, that it does not offer the same functionality!
3. Another disturbing deviation from standard GUI practices is the use of the right-click button for the ROTATE function. Right-click brings a context menu on all platforms, be it Windows, Mac or Linux. Eagle is inconsistent in this respect: there are situations where a right-click brings indeed a contextual menu, but others where not. Rotate should be implemented through a simple key (user-programmable): as long as an object is selected, pressing a key without modifiers (e.g. "R") should perform the rotation. And still better: "SHIFT+R" should rotate the part in 45 degrees increments, while "ALT+R" in one-degree increments.
4. Operations performed on multiple objects are sorely missing (maybe they are possible within the CLI, but this is not the point). For instance, there are no ways (or at least I've found none) to change at once one or more characteristics of all pins in a package (library edit), or to change the width of a set of lines, or the parameters of several vias. You need to take each and every object individually and apply the required modification. If you can do this with a simple CLI command, then it is understandably why some users  need it, but again, this only demonstrates a badly designed GUI.
5. The total confusion surrounding the cut/copy/paste operations (largely discussed elsewhere on the forum). Why should Eagle use different meanings for these commands, when everybody knows by now what they should do? The presence of two similar buttons (cut and delete) is confusing enough. I had a hard time copying a symbol from a library into my own library following the step-by-step procedure in the manual, simply because I confused the CUT button with the DELETE button (in this case indeed, the CLI saved me, because typing the commands indicated in the manual led to the expected result; later I found out that in fact I have had to use the scissors button). To resume: the actual DELETE should be renamed CUT while the actual CUT should be renamed COPY. And PASTE should paste the same object as long as it is used, without the need to re-copy the object. In fact the PASTE button is now mixture of COPY and PASTE, which is wrong. If I need to copy&paste one pin 24 times (e.g. for an IC), why do I need to click double so much times as necessary? It should work like this: select the master pin, click copy (or, better right-click and select copy), then click paste 24 times.
6. Another strange thing is that after the initial start, if you resize a schematic or layout editor window its content is also resized. Thus it's impossible to scroll, simply because there are no scroll bars unless you zoom in. This behavior is incorrect, the content's size must remain unchanged and only the scroll bars should be updated (if required). But again, these side-effects are the result of not using the APIs provided by the individual underlying OS on which Eagle is running.
7. The library management must be re-worked. The general paradigm is quite well thought (the Device/Package/Symbol concept), however, there are many implementation issues. I find inconsistent that the symbols are not displayed in the library hierarchy. Deleting library objects is awkward, one must always know the exact name of the object in order to delete it. Why not simply search for it in the library hierarchy, right-click and choose "delete"? The same applies for "rename". And, as I already hinted before, there should be a much obvious way to create new packages/symbols starting from existing objects, e.g: open an existing object, modify it and then save it into the same library with a different name, or into a different library with any name you want. A sort of "save as…" for devices/packages/symbols.
8. There are serious issues with the mouse and display, at least on the Mac version: sometimes when scrolling the drawing is only partially redrawn. I need to click the redraw button to correct the situation. In addition, due to the proprietary mouse control implementation, I can't scroll left/right, which would be a major benefit, especially for those users having a multi-touch capable trackpad (all MacsBooks manufactured after 2007 have one). By the way, it is my experience that a multi-touch capable trackpad can almost completely replace a mouse and it is much confortable to work with.
9. And finally, a minor one: ESC should terminate all commands, including "place via" or "place hole".
All the above suggestions concern only the user interface. There are obviously other potential improvements in other areas, and many of them have already been suggested by other posters. As a beginner with Eagle I am not yet in a position to comment on this. From what I have seen so far, Eagle seems to me a very solid piece of software with great potential. It's a pity that due to the unconventional user interface so maney potential users are scared away. I suspect improvements at this level would help increase Eagle's market share.
Since 1984 when the first GUI becomes available for the large masses (the launch of the original Macintosh), the GUI has established itself and reached a good level of standardization. The graphics may be different between Windows, Mac and Linux, but most of the mouse and keyboard interactions are rather common on all of them. Why should Eagle be different?
Nevertheless, no matter what CadSoft will do with their next release, I plan to continue using Eagle for future projects, but only for private use for the time being (I will probably even buy the hobbyist version). If during the next releases the user interface will improve (and standardize), I might even recommend it for professional use.
Lix

Hello,

 

As I just finished my first (small) project in Eagle, I want to express some thoughts on how the program could be improved, especially from the point of view of a new user who did not gave up after his first contact with the software (as probably many other did!). Although I read that an upcoming V6 is under way, however I have no hopes that CadSoft would take my suggestions seriously (it's probably too late anyway); in this respect, you can see my post as an exercise in futility…

 

First, some relevant information about myself: although I am a newcomer to Eagle, I have a large engineering experience in electronics and software development. During the mid-eighties I led a small team who designed a PCB layout program on a graphical CP/M machine (using a mouse!); by the end of the eighties I jumped on Orcad, then in the nineties on Accel Technology's Tango suite (under DOS), and later on P-CAD 2000 under Windows, which I still use today. On occasion I had to professionally evaluate several CAD programs, including but not limited to Protel, Specctra and Ultiboard.

 

I also stumbled upon Eagle several times, but it never made it, as the UI was so clumsy. I re-visited it now for several reasons: as I am soon going to retire but still plan to work on hobby projects, I need a reliable and low-cost tool, which ideally should work also on a Macintosh. As the Mac version now runs natively (previous releases required the X11 windowing subsystem), I saw it as suitable solution.

 

In order to make things straight: I have no issues with any OS or computer maker, be it Linux, Windows or MacOS X. I had (and partially still have) to deal in my career with all of them, and many other Unices in-between (HP-UX, AIX, DG-UX, Nextstep, etc.). And yes, I am a long time user of many CLIs (command line interfaces), from CP/M to DOS to sh, tcsh, bash, etc., even to some written by myself while developing software for various projects.

 

However, for personal reasons I need not to explain, my current working machine is a MacBook Pro notebook (and BTW, I am very happy with it). I use Parallels virtualization software to run several virtual machines, among others a Ubuntu Linux and a Windows 7.

 

Now back to Eagle. My remarks are based on the use of the freeware, unregistered Eagle version 5.11.0 on a MacBook Pro running MacOS X 10.6.8 (Snow Leopard).

 

To summarize my experience in a single phrase: Eagle is an incredibly solid and powerful piece of software, with an incredibly poor user interface. Let me now go into details.

 

The good: the software is very solid, during my three weeks experience with Eagle, it never crashed and I never lost files or parts I've designed in my own library. I was particularly impressed with the autorouter. I've used and seen quite some of them in my professional life, including the Cooper & Chan autorouter, quite famous by the end of the nineties, but for this price Eagle is really outstanding. And last but not least, Eagle is probably one of the few (if not the single) serious CAD packages that run natively on the Mac.

 

The bad: the user interface is non-standard by any of today's GUI standards, be it Windows, Mac or Linux. The library management system is a torture. The fact that Eagle runs on more than one platform may have led to some curious decisions by the developers, as for instance ignoring many of the underlying APIs of the individual OSes and rather build instead their own functions/classes (wheel re-invention). The net result is that the program looks and acts strange, gives the feeling of "not belonging here". Frustration is the first feeling a newcomer gets, so with all due respect, the acronim "Easily Applicable Graphical Layout Editor" (Eagle) is only wishful thinking (maybe it was true 15 years ago, but not anymore today).

 

There are many issues that I consider as not being compliant with modern GUI design principles, but I will list only the most glaring of them. I believe changing these would not alienate current users, but would greatly increase the number of new users adopting Eagle.

 

1. This one must be written in bold letters: elimination of the "MOVE" command (button). This should be replaced with the default state of the GUI, that should be reached by clicking a button represented normally by an arrow (standard for most drawing programs). In this state, it should be possible to click on an object, be it a part, a text, a pad, a line, etc. and move it by acting on the mouse. A right click should bring a context sensitive menu that should allow additional operations like "delete", "rotate", "replace", or show "properties". In addition, several keys should be used as shortcuts that would greatly increase the speed of operation (e.g. "R" for rotate, "DEL" or "backspace" for delete, etc.). Obviously, the keys should have some defaults, but should be user assignable. It is important that the shortcuts work without modifier keys (i.e. CTRL, ALT, CMD, SHIFT), therefore a solution must be found for the CLI. And this brings me to the second issue:

 

2. Eliminate the CLI from the GUI, or at least allow it to be hidden (this should be the default). I spent quite some time reading the forum and I noticed that there are a couple of die-hard users that would rather get rid of one of their fingers than of the CLI. However, these are a small minority. Someone claimed being able to do certain operations 10 times faster with the CLI than in the GUI: this doesn't mean that the CLI (or for that matter that guy) is better, rather that the GUI is so poorly designed and not offering the same functionality!

 

3. Another disturbing deviation from standard GUI practices is the use of the right-click button for the ROTATE function. Right-click brings a context menu on all platforms, be it Windows, Mac or Linux. Eagle is inconsistent in this respect: there are situations where a right-click brings indeed a contextual menu, but others where not. Rotate should be implemented through a simple key (user-programmable): as long as an object is selected, pressing a key without modifiers (e.g. "R") should perform the rotation. And still better: "SHIFT+R" should rotate the part in 45 degrees increments, while "ALT+R" in one-degree increments.

 

4. Operations performed on multiple objects are sorely missing (maybe they are possible within the CLI, but this is not the point). For instance, there are no ways (or at least I've found none) to change at once one or more characteristics of all pins in a package (library edit), or to change the width of a set of lines, or the parameters of several vias. You need to take each and every object individually and apply the required modification. If you can do this with a simple CLI command, then it is understandably why some users  need it, but again, this only demonstrates a badly designed GUI.

 

5. The cut/copy/paste operations are totaly confusing (this is largely discussed elsewhere on the forum). Why should Eagle use different meanings for these commands, when everybody knows by now what they should do? The presence of two similar buttons (CUT and DELETE) is confusing enough. I had a hard time copying a symbol from a library into my own library following the step-by-step procedure in the manual, simply because I confused the CUT button with the DELETE button (in this case indeed, the CLI saved me, because typing the commands indicated in the manual led to the expected result; later I found out that in fact I have had to use the scissors button). To resume: the actual DELETE should be renamed CUT while the actual CUT should be renamed COPY. And PASTE should paste the same object as long as it is used, without the need to re-copy the object. In fact the PASTE button is now a mixture of COPY and PASTE, which is confusing. If I need to copy&paste one pin 24 times (e.g. for an IC), why do I need to click double so much times as necessary? It should work like this: select the master pin, click copy (or, better right-click and select copy), then click paste 24 times.

 

6. Another strange thing is that after the initial start, if you resize a schematic or layout editor window, its content is also resized. Thus it's impossible to scroll, simply because there are no scroll bars unless you zoom in. This behavior is incorrect, the content's size must remain unchanged and only the scroll bars should be updated (if required). But again, these side-effects are probably the result of not using the APIs provided by the individual underlying OS on which Eagle runs.

 

7. The library management must be re-worked. The general paradigm is quite well thought (the Device/Package/Symbol concept), however, there are many implementation issues. For example I find inconsistent that the symbols are not displayed in the library hierarchy. Deleting library objects is awkward, one must always know the exact name of the object in order to delete it. Why not simply search for it in the library hierarchy, right-click and choose "delete"? The same applies for "rename". And, there should be a much obvious way to create new packages/symbols starting from existing objects, e.g: open an existing object, modify it and then save it into the same library with a different name, or into a different library with any name you want. A sort of "save as…" for devices/packages/symbols.

 

8. There are serious issues with the mouse and display, at least on the Mac version: sometimes when scrolling the drawing is only partially redrawn, large screen areas remain blank. I need to click the redraw button to correct the situation. In addition, due to the proprietary mouse control implementation, I can't scroll left/right, which would be a major benefit, especially for those users having a multi-touch capable trackpad (all MacsBooks manufactured after 2007 have one). By the way, it is my experience that a multi-touch capable trackpad can almost completely replace the mouse and is much comfortable to work with.

 

9. And finally, a minor one: ESC should terminate all commands, including "place via" or "place hole".

 

All the above suggestions concern only the user interface. There are probably other potential improvements in other areas, and some of them have already been suggested by other posters. As a beginner with Eagle I am not yet in a position to comment on this. From what I have seen so far, Eagle seems to me a very solid piece of software with great potential. It's a pity that due to the unconventional user interface so many initial users are scared away. I suspect improvements in this area would help increase Eagle's market share.

 

Since 1984 when the first GUI became available for the large masses (with the launch of the original Macintosh), the GUI has established itself and reached a good level of standardization. After all, 27 years passed since then! The graphics may be different between Windows, Mac and Linux, but most of user interactions with the mouse and the keyboard are rather common on all of them. Why should Eagle be different?

 

Nevertheless, no matter what CadSoft will do with their next release, I plan to continue using Eagle for future projects, but only for private use for the time being (I will probably even buy the hobbyist version). If future releases will improve (and standardize) on the user interface, I might even recommend it for professional use.

 

Lix

  • Sign in to reply
  • Cancel
  • e14 Contributor
    e14 Contributor over 14 years ago in reply to e14 Contributor

    Am 11.11.2011 10:36, schrieb Andreas Weidner:

    >> - If Eagle would support Ctrl-Y for Re-do, that would be

    >> fine for me as well.

     

    EAGLE's default key combinations are a bit lame (nearly nothing is

    predefined), but you can do this yourself with 'Optionen -

    Tastenbelegung' (or whatever its English representation). As a matter of

    fact, I defined

    ASSIGN C+Y 'REDO'

    ASSIGN C+Z 'UNDO'

    which is perhaps what you want. Mind that EAGLE's key combinations are

    Sorry, I should have explained in more detail.

    Ctrl+Y is assigned to Redo in my installation of Eagle already.

    What I wanted to describe was that:

    In a previous version of MS Powerpoint I could e.g.

      - import some pictures

      - right mouse click on a picture -> Size

      - Enter e.g. 50%

      - select the next picture

      - Presss Ctrl+Y (Redo) to apply the last action to the selected picture

    This has saved me a lot of time when preparing reports (*).

    Of course, that won't work with the current selection model that Eagle

    has.

    One may argue that this still requires more clicks an keys than your

    CLI solution, but I think that it would be acceptable for most users as

    you can e.g. select with the right hand and hit Ctrl+Y with the left

    hand. A left-hand-keyboard plus right-hand-mouse usage concept is what

    I'm missing most in Eagle.

     

    The nice thing about a re-do feature is that, if it's implemented

    the right way, it can be used 'orthogonally' to other actions.

    Therefore it could compensate for some of the features you would loose

    with a 'Windows' selection model vs. the current Eagle usage model.

     

     

    (*) I just checked, and it seems that this feature is no longer

         available  in MS Office 2007. As its such a useful feature, I would

         have expected that more applications would implement it.

     

     

    See also my post 'Useful keyboard shortcuts' from 2011-07-22 in

    'eagle.support.eng'.

    Thanks. I picked some of these.

    (I did post in that thread also at that time...)

     

     

    Regards,

     

    Dietmar

     

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • lix
    lix over 14 years ago in reply to e14 Contributor

    "Andreas Weidner" <andreas.weidner@aei.mpg.de> wrote in message

    news:j9f5q4$qt9$1@cheetah.cadsoft.de...

     

    First, it is important to weight the time you use on these different actions

    when thinking GUI. I dont mind spending more time on selecting a component

    if I spend <<1% of the time doing it. The largest chunk of time goes into

    precision-placing (and other nitpicking). Its the nitpicking actions that

    needs to go fast.

    That is very true. I wanted also to point out that some of the examples arguing the CLI efficiency are not from the real pcb-design world. I can't imagine people just droping and forgetting the components on the board. In particular on high- or very high density boards there is a lot of precision-placing going, and this is done after the initial, coarse placement, most probably several times. I designed many UHF boards, where you have additional constraints so that re-placing and re-orientating parts in order to minimise interconection's lenght or cross-talk is done many times. There is no help a CLI can provide to that. On the contrary, a well-thought GUI can.

     

    A proper GUI would let you select the components you want to change with

    either a select window drag (not having to activate the group) like a

    powerpoint presentation design. It will also let you add and remove using

    ctrl (or shift) selects like you do in a (win) filebrowser. Also, a filter

    selection tool could help you add component based on name or other

    parameters.

    Yes, yes, yes!

     

    Lix

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • e14 Contributor
    e14 Contributor over 14 years ago in reply to e14 Contributor

    Am 11.11.2011 10:57, schrieb Morten Leikvoll:

    A proper GUI tool would pick a device from the selection (where last used

    will be in your face) and present it at the mousepointer for you to place

    wherever you want until you press esc, right mouse button or select some

    other tool.

     

    The problem here is NOT how to put the part in your schematics (that's

    easy with ALL programs), but how to FIND the part you want to place.

    Browsing through libraries with the mouse is ONE possibility, typing

    things in the ADD dialog is another, the CLI is a third.

     

    See first point. A filter selection tool would solve this in notime. It will

    be blindingly fast too, maybe faster.

     

    Yes, a filter selection tool would be nice. BUT either the filter dialog

    needs LOTS of rather complicated options (I have one of these in my

    musical notation program), or it just allows entering TEXT (e.g., with

    wildcards). The former needs additional time and learning curve, the

    latter is basically the same as the CLI, but just inside a dialog.

     

    Please don't misunderstand me: I LOVE programs with a nice user

    interface, and I even prefer a nice user interface to using the CLI. BUT

    only provided that things in the CLI work either BETTER than the CLI or

    QUICKER, or have some other advantage.

     

    Examples:

      1. Once upon a time, there was NO connection dialog in EAGLE, so pins

         and packages HAD to be connected with the CLI. I thoroughly HATED

         that, because it was painfully SLOW (yes, even though it was the

         CLI), complicated and REALLY error-prone. The connect DIALOG

         is MUCH better, and I will never, ever use the CLI for that again.

      2. The DRC has BILLIONS of options. I would NOT want to write all

         of that rubbish somewhere in the CLI. The dialog is MUCH more

         comfortable.

     

    Yes it is, but I still think you can make it equally useful and beautiful

    using GUI. And it can make new users ramp up faster. Of course that is in

    Cadsoft's interest, not the exisiting users.

     

    It is even in MY interest, because every time our newbies find out how

    to do things in EAGLE on their own, that's time NOT needed to tell them.

     

    BUT at the moment, some people just claim 'throw the CLI away'. That is

    NOT how things should be done, because the CLI is VERY useful. Even if

    one HATES it, some things can be done MUCH quicker, or even ONLY with

    it. Throwing it away would severly cripple EAGLE.

     

    IF in the (not-foreseeable) future, EAGLE's user interface will be SO

    intuitive, SO clear, SO well-thought-of, SO fast to respond, etc., THEN

    it MAY perhaps be time to throw away the CLI. Quite definitely NOT NOW!

    You cannot make a software better by FIRST throwing away its expert

    user's functions and only AFTERWARDS thinking about how to implement

    those functions with a nice GUI. Please first things first.

     

    There have been some nice ideas and proposals about HOW to make EAGLE

    more user-friendly, and some of them could (and should) be implemented.

     

    Andreas Weidner

     

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • e14 Contributor
    e14 Contributor over 14 years ago in reply to e14 Contributor

    "Andreas Weidner" <andreas.weidner@aei.mpg.de> wrote in message

    news:j9f5q4$qt9$1@cheetah.cadsoft.de...

     

    First, it is important to weight the time you use on these different actions

    when thinking GUI. I dont mind spending more time on selecting a component

    if I spend <<1% of the time doing it. The largest chunk of time goes into

    precision-placing (and other nitpicking). Its the nitpicking actions that

    needs to go fast.

     

    1. Starting commands or actions:

        You do NOT click on the 'value' button, but just type 'v'

        (+return) into the CLI. This of course works, but it is NOT

        really the most wonderful time saver. It's effective and OK

        with me, but nobody NEEDS a command line for that.

     

    A proper GUI would let you select the components you want to change with

    either a select window drag (not having to activate the group) like a

    powerpoint presentation design. It will also let you add and remove using

    ctrl (or shift) selects like you do in a (win) filebrowser. Also, a filter

    selection tool could help you add component based on name or other

    parameters.

    Then when right clicking one of the selected parts, it would pop up a

    property window where all properties are presented (and props with different

    values are marked as "dont change" by default), and it will give you the

    option to overwrite them with a new value. Why should that be time

    consuming?

     

    2. Starting commands with options:

        If you need to change the value of 64 capacitors to '100n'

        (because you have 32 opamps in your circuit), you can do it

        WITHOUT the CLI by

         - clicking on each of them and

         - entering '100n' for each of them.

        That's a LOT of work (1 click and 5 keystrokes per part).

        If you're clever, you only type '100n' ONCE, put the text in

        the clipboard and insert it in the edit field every time.

        That's better, put STILL some work (1 click and 2 keystrokes

        per part). Using the CLI, you

         - type 'v 100n' (+return) and

         - then click on every capacitor.

        This is much less work and consumes much less time (1 click

        per part and ONCE '100n').

     

        But I agree with you that this IS a point where a better user

        interface would melt down the CLI advantage to zero: If EAGLE

        would support changing values for GROUPS, the CLI would NOT

        be necessary for this anymore. So the CLI is very useful NOW,

        but would NOT be necessary for an optimised interface.

     

    Same as above.

     

    3. Selecting library objects:

        When inserting a library part into a design, the PURE mouse

        user

         - clicks on 'add',

         - clicks on LOTS of library tree branches for browsing

           (especially when it's not clear in which library to

           search for the component),

         - selects the part,

         - clicks OK

        and has the part at the mouse cursor for positioning. For

        components that you know nothing of, that's the method of

        choice. But it takes a LOT of time. If you know the NAME

        of your component, you

         - click on 'add',

         - enter the name of the component,

         - click OK

        and have it at your mouse cursor for positioning. That is

        MUCH quicker, but still needs several mouse clicks PLUS

        a bit of typing. Using ONLY the CLI, you

         - just type 'add r' (+return),

        which obviously is VERY fast.

     

    A proper GUI tool would pick a device from the selection (where last used

    will be in your face) and present it at the mousepointer for you to place

    wherever you want until you press esc, right mouse button or select some

    other tool.

     

        I checked this just now with MY libraries and the component

        'R': Pure mouse usage takes 12 seconds (ONLY 12, because I

        know in which library to find the resistor), mouse usage with

        dialog text entry takes 6 seconds, CLI takes 1-2 second.

     

        Here, EAGLE has a GOOD user interface that allows for

        mouse usage as well as wildcard text editing etc. It might be

        that there are methods to further speed up that dialog, but

        it will NEVER be as quick as the CLI.

     

        Of course this needs a useful and easy-to-remember part

        naming scheme, which the standard libraries of EAGLE do NOT

        provide, but hey, this is NOT a problem of the CLI, but the

        libraries.

     

    4. Selecting board objects:

        You created a schematic with 20 opamps, 50 capacitors, 50

        resistors and other stuff, and now switch to the board: All

        components are placed SOMEWHERE, and, if you zoom to the

        whole board, you cannot even read their names, because the

        texts are too small (due to the sheer number of components

        on screen). If you now want to place all components around

        opamp N1 ONLY using the mouse, you

         - zoom in sufficiently to be able to read all names,

         - pan and search until you find the desired component,

         - click on it, pan back again to where it SHOULD be placed,

         - place it,

         - pan back to search for the NEXT component, etc.

        This works, but takes FOREVER.

        Using the CLI, you

         - zoom (with the mouse!) to the EMPTY area where you

           WANT your opamp to be placed,

         - activate the MOVE command (by typing or via mouse),

         - type 'n1' (+return) in the CLI and can place your part

           immediately. No searching, no panning, no scrolling

           necessary.

         - After placing THAT part, you type the name of the NEXT

           one and can IMMEDIATELY place it.

        This is BLINDINGLY FAST and saves MUCH MORE than ten times

        the work necessary with pure mouse usage.

     

    See first point. A filter selection tool would solve this in notime. It will

    be blindingly fast too, maybe faster.

     

        And in this case, there is NO possibility to EVER do this

        decently with a user interface, because the user interface

        would be nothing else but an edit field where you needed

        to type in your component name, anyway (which behaves

        exactly like the CLI, so why get rid of the CLI and build

        something new into the user interface that behaves like

        a CLI?).

     

    Lost you there. I say it can.

     

    Therefore, the EAGLE command line is NOT the tool of choice for beginners

    or people who just need to activate a certain command, but one for people

    who know a BIT about EAGLE (they need NOT be specialists) and want to

    GREATLY speed up their work IN CERTAIN AREAS. For the areas mentioned

    above, you do NOT need to learn crazy or complicated syntax, but just

    - VALUE <value>

    - ADD <devicename>

    - MOVE <componentname>

    which is REALLY easy and saves you lots of time. ENJOY!

     

    And just for fun, I quote again:

    there are a couple of

    die-hard users that would rather get rid of one of their fingers

    than of the CLI.

     

    - I MIGHT be a die-hard user, but

    - I do not like the CLI because I love typing or hate the

       mouse (as a matter of fact I LOVE scroll wheel mice), but

    - just because it's REALLY USEFUL.

     

    Yes it is, but I still think you can make it equally useful and beautiful

    using GUI. And it can make new users ramp up faster. Of course that is in

    Cadsoft's interest, not the exisiting users.

    I think I'll make a thread about it, so we can actually discuss (or tear

    down) the CLI/GUI myths.

     

    Andreas Weidner

     

    PS: Of course you CAN enter crazy and complicated syntax into the command

    line. But who the heck wants to do that? MUCH better to keep it simple...

     

     

     

     

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • e14 Contributor
    e14 Contributor over 14 years ago in reply to e14 Contributor

    Am 10.11.2011 20:22, schrieb Dietmar Schwertberger:

    Example 4 "Selecting board objects":

    This is addressing a common task costing a lot of time.

    His CLI solution is nice, but this is such a standard

    task that I would expect to be able to:

    - go to the schematic

    - select one opamp together with the capacitors etc.

    - do e.g right mouse click "Place selection on PCB"

    ->

    - Eagle switches to PCB

    - the selected components are hanging at the mouse pointer

    - the components are arranged as they were in the schematic

    - Shift-Scrollwheel allows to move them closer/apart

    - Rest of the functionality as with the MOVE command.

    Of course I would expect a warning if a component has been

    placed before or even a routed connection.

     

    THAT sounds like a VERY useful function. CadSoft, please put this on the

    wish list for EAGLE 6, 7 or 8 - thanks...

     

    The actual implementation shouldn't be really difficult, because EAGLE

    can just create a corresponding board group from out of the schematics

    group and place it accordingly. There might be some problem in getting

    the closer/apart function realised or calculating whether or not a

    component already HAS been placed, but these things seem to be surmountable.

     

    Btw. the example of 20 opamps plus caps could probably be solved

    even faster with hierarchical design/layout or another easy way of

    re-use (e.g. select group of devices; right mouse click "Copy

    including layout").

     

    Not really. Most of these are a bunch of small not-repeated filters,

    integrators, etc., where neither schematics nor layout can be copied

    decently. But of course hierarcgical design WOUL be nice.

     

    - If Eagle would support Ctrl-Y for Re-do, that would be

    fine for me as well.

     

    EAGLE's default key combinations are a bit lame (nearly nothing is

    predefined), but you can do this yourself with 'Optionen -

    Tastenbelegung' (or whatever its English representation). As a matter of

    fact, I defined

       ASSIGN C+Y 'REDO'

       ASSIGN C+Z 'UNDO'

    which is perhaps what you want. Mind that EAGLE's key combinations are

    WINDOW specific, which means that it keeps different key combination

    lists for its window types (schematic, board, device, symbol, package).

     

    See also my post 'Useful keyboard shortcuts' from 2011-07-22 in

    'eagle.support.eng'.

     

    Andreas Weidner

     

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • e14 Contributor
    e14 Contributor over 14 years ago in reply to e14 Contributor

    "Olin Lathrop" <eagle@embedinc.com> wrote in message

    news:j9h2pk$6uh$1@cheetah.cadsoft.de...

    This is now the second time your whole message was duplicated.  It doesn't

    seem to be a problem at element 14 since other users posting from there

    don't have their messages duplicated.  Maybe it's a problem here at the

    Eagle Central forums.  All I know is I see your message content repeated

    in

    the message but this doesn't happen from anyone else.

     

    Quote:

    >> Most of the comments only confirmed that your use of the CLI is the

    >> result of Eagle's poor and incomplete GUI implementation.

     

    Then you've taken away only what you wanted to hear.

     

    Quote:

    >> Some of you gave examples of how you can solve faster some tasks, but I

    >> am sorry to tell you, almost none of them can be done faster with the CLI

    >> than with a properly designed GUI

     

    But you show no such examples.

     

    I'd really like to ask Olin, what other pc tools do you drill as well as

    Eagle? I hope you have some GUI tools you like, so we can have a balanced

    discussion. You should  listen to those who have used many other tools, and

    Lix is obviously has a broad experience. I all hear you do is defence of

    the old style Eagle, and rtfm's..

     

    I dare to say I've probably routed the biggest and most advanced layout in

    Eagle (16 layer, HDI type2 with microvias, size 46x42cm, thats >18x16")

    alone, for whatever that is worth, and I know both the CLI, ULP programming

    and GUI well , and I DO agree with Lix. But I also think the CLI can stay

    without causing damage to the GUI. But I believe that as GUI develops, most

    users will turn to it.

     

    I hear some crap what a GUI can't do efficiently. Of course a GUI will need

    actions where you actually need to type stuff, like precise positions,

    selection filters and so on. That is no argument to stay away.

     

    I should also say I love what you can do with the CLI, but I dont like the

    structure of it (I guess the CLI has the power of linux shells and all the

    drawbacks too). Having to type magic characters (modifiers) to describe

    mouse actions is very hacky and shows there was a GUI thought behind it, but

    its boiled down to neither fish or bird, if you know what I mean.

    Learning these special methods are much harder than a pure way.

     

     

     

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • e14 Contributor
    e14 Contributor over 14 years ago in reply to e14 Contributor

    Am 10.11.2011 01:27, schrieb Andreas Weidner:

    Since the user claiming the '10 times faster' absurdity is ME, let me

    give you some examples for command line usage (CLI), sorted by ascending

    usefulness:

     

    Thanks a lot for your very useful post.

    It seems that there should be a CLI cookbook on the Cadsoft site...

     

    Regards,

     

    Dietmar

     

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • e14 Contributor
    e14 Contributor over 14 years ago in reply to e14 Contributor

    Am 10.11.2011 18:48, schrieb Olin Lathrop:

    >> Some of you gave examples of how you can solve faster some tasks, but I

    >> am sorry to tell you, almost none of them can be done faster with the CLI

    >> than with a properly designed GUI

     

    But you show no such examples.

     

    That's easy.

    I found Andreas' post very useful and informative.

     

    Example 4 "Selecting board objects":

    This is addressing a common task costing a lot of time.

    His CLI solution is nice, but this is such a standard

    task that I would expect to be able to:

      - go to the schematic

      - select one opamp together with the capacitors etc.

      - do e.g right mouse click "Place selection on PCB"

    ->

      - Eagle switches to PCB

      - the selected components are hanging at the mouse pointer

      - the components are arranged as they were in the schematic

      - Shift-Scrollwheel allows to move them closer/apart

      - Rest of the functionality as with the MOVE command.

    Of course I would expect a warning if a component has been

    placed before or even a routed connection.

     

    Btw. the example of 20 opamps plus caps could probably be solved

    even faster with hierarchical design/layout or another easy way of

    re-use (e.g. select group of devices; right mouse click "Copy

    including layout").

    This would save me a lot of time when e.g. doing burn-in boards.

    (I understand that hierarchical design is a major task to implement,

      but the "Copy including layout" should be rather easy.)

     

     

    Example 2 "Starting commands with options":

    That's something that I probably will use a lot from now.

     

    But still:

      - I often have wondered why the Change command does not

        include an option to change the value.

      - If Eagle would support Ctrl-Y for Re-do, that would be

        fine for me as well.

     

     

    Having CLI and ULPs for special tasks is very nice.

    (E.g. a colleague used to use Eagle to automatically

      create semiconductor bonding diagrams.)

     

    But having to use CLI and/or ULPs for standard tasks is a no-go

    for most people.

     

     

    Regards,

     

    Dietmar

     

     

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • lix
    lix over 14 years ago in reply to e14 Contributor

    Olin,

     

    I've checked on www.eaglecentral.ca and indeed, some of my messages apear duplicated. But if you check on element14, they are not. I guess there is a problem with the message replication.

     

    Lix

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • lix
    lix over 14 years ago in reply to e14 Contributor

    Olin,

     

    I don't see any duplicate message. Please explain.

     

    I don't know what examples you're expecting me to show, I only know that with Accel Technology's P-CAD 2000 (that I use for more than 10 years now), I can do these examples in a very competitive amount of time. P-CAD has no CLI, BTW.

     

    In fact, the project I just finished in Eagle was already done in P-CAD, but I wanted to learn Eagle. I remember I've spent less that three days to finish that project in P-CAD, and over two weeks in Eagle (reading once the whole manual not included!). True, Eagle was new to me while P-CAD I know by heart. It was the same project: drawing the schematic, creating the etherrnal missing parts in the library and laying out the PCB. Only the fact that Eagle runs on the Mac kept me on, otherwise I would have given up rather abruptly (P-CAD is a Windows only affair).

     

    In reality I did not want to compare Eagle with P-CAD because everybody would have said that I use it as a reference (but now you forced me!). No, I don't want Eagle to behave as P-CAD (P-CAD has its own quirks), but I expect it to behave as a modern piece of software.

     

    Regards,

     

    Lix

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
>
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2026 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube