Welcome to Pete Brown's 10rem.net

First time here? If you are a developer or are interested in Microsoft tools and technology, please consider subscribing to the latest posts.

You may also be interested in my blog archives, the articles section, or some of my lab projects such as the C64 emulator written in Silverlight.

(hide this)

The n00b filter: Bad UX at its Finest in Eagle PCB

Pete Brown - 26 January 2012

Speaking of UX…

I finally decided to download and learn to use the industry-standard PCB and schematic layout software: Eagle. I've tried a bunch of others, and quite frankly, got tired of always using "also ran" software. The majority of the info on the web is for Eagle. It certainly doesn't have the best UI or the best workflow, but it has absolutely the most amount of information and the best support from PCB manufacturers. It's the industry standard, and like most industry-leading technical software (ever use industry-leading 3d modeling software? Gak!), it has some crazy issues.

Here's the workflow. First, while working on the Schematic, you click this "Add" toolbar button


Next, you're shown a screen with the libraries on the left, and the selected part on the right. You can browse the libraries here, but it is not something I went into with the intent of using it to manage library entries.


I wanted to add the component, but I wasn't sure which button to press. Silly me, thought maybe "drop" meant to "drop it on the schematic" because, for whatever reason, "OK" didn't seem right.


"Drop", without so much as a confirmation MessageBox removes the library from the parts libraries on your computer. Yeah, so now I need to go find the library which contains every type of diode, because, umm, I deleted it.

At first, I thought I actually deleted it, but it turns out Eagle marks it to make it not show up in the Add dialog. I'm still going to finish this post anyway, because the brick was already passed painfully through the orifice when the library just went *poof* off the list.

To restore it, you have to go into their separate Control Panel application (hint: if your app has a "control panel" app, there's an issue). That's better than having to reinstall the product, or download the library from RapidItsNotReallyATrojanWeSwearShare.com, but it's not entirely intuitive.


This type of feature can only be called a n00b filter, although I'm sure there's a more technical UX antipattern name for it, probably one which includes a four-letter word or two.

I have a lot of experience in software. I rarely need to be hand-held, and the last time I took a class to learn how to use a piece of software was to be a Novell 4 CNA in the mid 90s, and I took that class *after* I had already set up the network. I almost never read manuals, and use "Help" in apps maybe 5 times a year total, and only because I'm trying new stuff all the time. All I'm trying to say here, is I'm not afraid of software, and I very rarely do something which destroys work or accidentally does a format c:\ or anything.

Seriously. No confirmation. It's a button on the "Add Component" screen.

No wonder users hate us.

posted by Pete Brown on Thursday, January 26, 2012
filed under:    

14 comments for “The n00b filter: Bad UX at its Finest in Eagle PCB”

  1. Davesays:
    At school (1993-1995) I learned first to manually to created PCB boards before we were allowed to use PCB software. Back in the old days there was a very good Dutch PCB software tool called Layo1.

    Later in 2005/2006 when I begun the build of my Douglas DC-3 cockpit I needed PCB software to create boards with a lot of simple digital i/o and a dozen analog 8bit a/d and d/a converters with a serial (USB) interface to the PC to interact with FSUIPC.

    A friend of mine told me about DipTrace and they have a free version for non-profit projects which has a limit of 500pins and 2 layers. For a little over 100 dollars I could have bought the standard version which allowed up to 100 pins and 4 layers per PCB, but I realized that more smaller boards was better than one big board.

    It has also a lot of import and export file formats including Eagle. Oh, and it has a much better UX and is available for Windows and MacOS.
  2. CarlDsays:

    I too have tried many of these EDA tools and most of them have truly attrocious UX design.

    Long ago, my favorite was Orcad, but I'm not about to pay the $$$ that it costs these days for the occasional board I have to do.
  3. Jeeshensays:
    Try these PCB designer I'm using (both are available free)

    Open source PCB designer - KiCAD

    RS Component - Design Spark PCB Designer
  4. G. Andrew Duthiesays:
    Heh...thankfully, I dodged that particular bullet.

    The painful part for me was that I discovered partway through my design that certain components simply could not be selected directly in board view, though I could select them indirectly by typing their name in the search box (which, unfortunately, immediately moved them off the board, requiring me to place them again). Turned out that this was because one of the layers was turned off, though now I can't recall which one. Valen helped me figure that one out.

    Agree completely that there is much in the Eagle UX that is unintuitive, but even with that, I think it's awesome software. The ability to easily bring your electronics ideas to life with a free piece of software is very cool.
  5. Randy Glennsays:
    It's amazing how truly bad electronics software is. Eagle's interface blows. Kicad confuses me even more. OrCAD is about the only piece of software I've ever seen bring a geek to actual tears - it had a tendency to wipe out your saved file when (not if) it crashed when I was using it. Not bad for only $3K annual maintenance, I guess.

    IC design software, however, is even worse, and can run $250K per seat.
  6. Petesays:

    Sure; that's obvious. Nevertheless, this is the first time I've done something stupid in new software, and I never read the manual right away. Once in a while, I read it later, but I like to see how intuitive softwre is right out of the gate.

    It doesn't excuse the UX mistakes here, though. Interestingly, the specific "drop" button issue (besides being over with the confirmation buttons which is a huge no-no) appears to be less of an issue in the german version, which clearly says "remove from list" in German.

    Also, Eagle has the horrible anti-every-other-piece-of-software approach of requiring you to pick a tool (for example, copy) and then apply it to a shape and then click to make it happen. I can kind of see the workflow they're optimizing for, but the fact that delete and control-c, control-v do nothing is just a huge UI anti-pattern.


    DesignSpark PCB isn't bad, but its schematic editor isn't that great either. I tried KiCad and like DesignSpark, felt it didn't have a very good schematic editor. It was also missing a huge number of typical parts right out of the gate, and it wasn't obvious where to go to get more. They all have issues, but at least Eagle files are the standard, and I can simply drop libraries into the lbr folder without having to go through any import/export process.

  7. WestfWsays:
    About "Drop"...
    I tried it out. This does NOT "remove the library from the parts libraries on your computer."
    It is merely the inverse of the "use" command, which specifies which libraries are to be available for a specific schematic. When libraries aren't "used", they aren't searched by the "add' command, or appear in the "add" menu. You can get them back after they've been dropped; select "use" from the library menu, or type "use" in the text command area. All the libraries in your search paths will show up and you can add them back to the list of "used" libraries...

    The "Drop" button is new in v6, and I think I sort of like it. One of the common problem with eagle is how many different libraries contain the same or similar parts. Now, I can search for "atmega328", decide that I want to use the version in the 2011 Sparkfun library, and "drop" all the older libraries that happen to also define the same part.
  8. Petesays:

    Normal UI conventions, including those in Eagle, put confirmation commands at the bottom-right of the dialog. At the very least, that button should not be over there as it is not a confirmation command (a command which closes the dialog and does something on the previous screen).

    Regarding your correction, did you see the paragraph with the bold sentence right after your quote?

    Convenience or not, it wasn't well thought out.

  9. Mattsays:
    Pete: westw is saying you don't have to go to the control panel to unhide the library. That's not to say that this bit of UI isn't bad - it is. Just that it's easier to undo than the way you've found.

  10. Petesays:

    Thanks. Maybe I misunderstood WestfW.

    It's nice to know there's another way, but since the control panel is open all the time anyway, I'm not sure that saves anything or is actually any easier.

    But thanks to you and WestfW for letting me know about the easier way.

  11. Matthewsays:

    I can't believe the program is still out there without using Windows standard cut/copy/paste/undo/redo commands.

    I find that I'm productive with my design in spite of, not because of, Eagle.

Comment on this Post

Remember me