OK, maybe not all software, but certainly every bit of EDA and CAM software I have used in the past two months. CircuitCAM is the most recent disaster – it takes the output of a PCB design program and converts it into something our milling machine can use. i.e. it takes an outline of a circuit and figures out where the mill has to run to actually cut out that pattern with appropriate clearances and the like. No problem right?
It doesn’t help that the software is written for Windows 3.1 and the copyright notice indicates it hasn’t been updated since 1996. So I’m not expecting something marvellous. But some things really stick out: why, if you have a view menu do the commands for turning layers on and off (and changing their colours) appear under the edit menu? If you select, say, “Insulate” from the menu does it provide a dialog with OK and Cancel buttons in the normal place – but you have to choose Run, which is in a different part of the dialog, to actually do the insulation calculations. On top of this, if you change any of the parameters you have to hit the accept button for them to be remembered. If you start editing a different field without hitting Accept, it pops up a dialog asking whether you want to “accept” the value you had just edited or not. Finally, of all the errors it can give you, the one thing it won’t tell you is if, due to some combination of the parameters you asked for, it can’t actually work out how to cut out all the tracks.
It all makes the milling machine control software look good. At least this piece of software has a coherent and not completely unreasonable model for interacting with it. The details are annoying though. You are meant to select a task to do (drilling holes, milling one side or the other, or cutting out the board) and then select a part of that task to do (e.g. drill all the holes for a particular component). Finally you hit run and the machine does its thing. This works just fine when all you want to do everything all at once. However, if you just want to select a part of the board you run into trouble.
The program has a palette of tools on the toolbar, but your choice gets reset the moment you use a tool. Imagine using the paintbrush tool in the gimp if you had to select it each time you drew a stroke. This “feature” provides a degree of safety for some tools, but if you are trying to select multiple regions it is just a pain in the arse.
Oh yeah, it also has items in the menubar which, rather than poping
up a menu, call up a dialog.