2 Days in Altium Designer
I've been a Cadence user for the last 15 years. That kind of time frame has let me realize a pattern of usage with Cadence products. About 80% of the time spent in front of the product is dealing with Cadence bugs/quirks/workarounds, with the remaining 20% doing actual EE design work. Even though I've been aware of this pattern for quite some time, I accepted it since Cadence did really seem to have the best products on the market for the large part of those 15 years. Every release would fix old bugs which would give me hope. Hope which would ultimately be dashed by discovery of brand new bugs that were introduced in that new release. The time investment in discovering new workarounds with every release is not insignificant. But this is nothing compared to the poor basic quality of the 16.3 release. The schematic capture interface bugs in 16.3 completely kill the product, to such an extent that I've now deemed the software suite unusable.
The root cause looks to be common to processing keyboard shortcuts. In order to delete something, you highlight it and hit Del. Then witness nothing happening. You do this again, still nothing. Hammer on the keyboard 3 more times, and then maybe the component will disappear. Wanna place a wire? Press "w" and....nothing. Try it again, nothing. Hammer on it a few more times, move the mouse around a little, and maybe you'll luck out. It doesn't help that "w" is a toggle, so you better not bounce out of wire mode once you've been lucky enough to get into it! The same goes for other shortcuts as well.
I've put up with a lot from you, Cadence. But to screw up something so fundamental like this? You're off the island.
Enter: Altium Designer!
It seems the Protel boys have been quite busy over the last 15 years. In my earlier evaluations of Protel it didn't really hold a candle to Cadence. These days however, with Altium Designer 10, it seems to be quite a different story. Don't get me wrong though, Cadence is still the king of features and functionality (when it functions), but the delta between Cadence and Altium has shrunk to such an extent that Altium is an acceptable solution for my 90% case scenario. Individual results may vary, depending on your specific feature requirements.
I've been an Altium Designer 10 user for a grand total of 2 days and here are my initial notes on the product. First, the good:
- Flawless keyboard shortcut processing! Yes, this is a weird thing to point out as #1, but I'm scarred you see.
- No schematic rendering errors. No line segments hanging out in free space when you pan around.
- When dragging a component, you don't end up dragging its pin, you reliably drag the whole thing. Wow, it seems I'm still venting about Cadence. 15 years is a long time, I tell you. Let's give this Altium-centric list a better shot starting with next point.
- It embodies a well designed, component-reused, user interface. That is, they wrote a widget to do something once. Since they only wrote it once, they put a lot of energy into getting it nailed. That widget is then linked to from various locations whenever it needs doing. ONE UI for ONE type of task. Win!
- There are no mysterious crashes or lock-ups. The software is robust so far.
- The way they implemented keyboard shortcuts, as sequences of simple key strokes, is music to my ears. The sequences are easy to memorize because the choice of words is correct. After only 2 days, I'm typing frequent commands really quickly already. This is the equivalent of having a nice command line interface to a GUI. The best of all worlds. Absolute win on this one.
- If you forget a full command sequence part way through, no worries! Menus pop up that quickly show you your next possible keystrokes. They disappear when you make a selection.
- A wonderfully customizable interface. Choose the panels you want to see, dock them to various locations. Use tabs to flip between multiple panels docked to the same location. This is UI done right.
Now for some things that could use improving, but aren't quite bugs:
- Don't make me annotate components, give them a number upon dropping into schematic.
- Default to display value of more components, like voltage and current sources. Having to go into the Component Properties dialog is more complicated then clicking on a zero-valued visible property and just dealing with the Parameter Properties dialog. It also makes schematics more legible to have the value displayed all the time.
- Make the MixedSim graph viewer colorblind-friendly. Most EEs are male, 8% of that majority will have issues using your product. Take a lesson from PSpice here, Cadence did it right in this case.
- MixedSim looks to be multicore, although it doesn't take advantage of all the cores in the simple circuits I've tried so far. Perhaps it scales better with more complicated designs. PSpice is better in general, but MixedSim has been adequately capable to date.
- Documentation on how SchLib/PcbLib/LibPkg/IntLib/Models all fit together could use a nice diagram. It wasn't easy to make new components with new models that end up in a nice IntLib package.
- Provide WAY more components and footprints! Hire some contractors and have them bang out footprints for the whole SOT* and TO* series for example. Provide just a giant standard footprint library. Drawing these right is a PITA.
- Multi-component select should comply to the Ctrl/Shift semantics standard in Windows. Don't redefine these old ideas. Use Ctrl.
- Rectangular area select should include wires! Don't make me clean that crap up manually one by one. Ugh.
- When using A/B cursors in MixedSim graph view show the difference of B-A in both dimensions, don't make me do math. There's a computer right here.
- While the dockable locations are great, I'd like to see user-insertable dividers to provide more docking locations. For example on the left, it'd be handy to have left-top and left-bottom. Or even top-bottom-center docks. Given 1600 vertical pixels, the "Messages" and "Projects" panels could easily co-exist all on the left hand side.
- Too complicated to make new component from cloning old. Unusual number of clicks required. Look at optimizing this user scenario. For example: I should be able to drag a component from the Libraries pane into my custom lib to use as a starting point for a new component. This would eliminate many clicks if Libraries is docked right, and SCH Library is docked left.
Now for things which I'd call quirks or bugs:
- Can't figure out how to simulate just 1 schematic from a project. The "Active Sheet" option in the General MixedSim setup doesn't seem to do just the Active Sheet, but rather everything in the project. Had to move other schematics out of project to sim properly.
- Fourier analysis fails with some current sources present. Gotta drop data collection for everything, and just collect for "active" nodes to get Fourier to work. It'd be better if Fourier would only ever be done on the "active" nodes, while retaining ability to collect data from all nodes. This is more in line with user expectations AND saves CPU time AND avoids whatever bug this is.
- 4-way wire junctions have a bug in which the little ball joining them together magically disappears! You have to place an explicit junction on 4-way wire joints. This explicit junction looks pretty ugly too.
- Print the maximally available precision in MixedSim cursor coordinates. The UI looks to be displaying 1/10th of step size, which doesn't give enough precision to make measurements without re-running at a needlessly small step size. The traces have the resolution, and so should the coordinates of the cursor.
That's it for 2 days of usage. The software is quite capable, and presents a much nicer learning curve than Cadence. I haven't touched the PCB functionality yet, so that may still be a huge disappointment, but I somehow doubt it.
The biggest plus: I haven't yelled at it yet.