Hacker News new | ask | show | jobs
by scarboy 5747 days ago
This looks like a neat piece of software to put on the web. It is, however, lacking usability. As a student learning digital design, you want circuit diagrams to be clear and results to be easily and quickly visible.

Wires between nodes are laid out automatically and can not be routed on a grid. In a big design (not that this is meant for that) things will get messy quickly.

You have to click simulate to see the results of your circuit. This is annoying. These circuits are simple and the output can easily be detected whenever a change is made.

Another useful feature is the have keys (0-9) mapped to switches. Testing, for instance, a four bit multiplier would be much easier if you don't have to operate the mouse so much.

I hate to recommend another piece of software, but I think the authors can learn a lot from it's features. Atanua (http://sol.gfxile.net/atanua/) is a cross-platform logic simulator that has all of the above features. It was a great tool when I needed to quickly prototype something for a class, and I still recommend it to students in a class I TA. It hasn't been updated in a while, the OSX version has to be run through Rosetta, but I can't see any glaring omissions the author made that would make it unusable.

Finally, it's 2010, this would make an awesome HTML5 app instead of being written in Flash.

2 comments

Older versions let you simulate the circuit in real time without going to a separate view. It wasn't that the performance was a problem or anything. In fact, I had to write extra code to create the separation. Rather, I found that the actions of pausing, resetting, and stepping through the simulation didn't feel quite as clean when you could modify the circuit at the same time. I might bring back real-time simulation if I can find a way to do it that feels more natural.
What I did was just have separate run, step, and reset buttons next to the design canvas. Is that what you did before? What made it feel unnatural or unclean?
Yes, the simulation controls were part of a toolbar near the design canvas. I had some trouble coming up with a combination of good answers to these questions:

1. How do you set an initial state when controls are also interactive? This is probably easier to do now that I have a floating property editor window. At the time, all interactions with components were direct.

2. If something is interactive, like a switch, what's the best way to handle dragging it with the mouse? Previously, the "wall plate" of the switch was the only draggable part, but it didn't seem like the best choice for usability. Also, it limits the visual design because draggable areas must be large enough to be discovered. I've considered having an extra draggable handle appear when a component is selected, but I'm not sure if that's ideal.

Forcing a separation between a design perspective and the simulation made the answers obvious. However, now that you've made me explain my reasons, I can see that it might be possible to go back to the old way without sacrificing too much.

Can someone explain why Flash 10.1 is required to display ones and zeroes?

I'm done installing any future versions of Flash, especially with all the crap they've started bundling it. I fully expect that Flash 10.2 will include anti-virus software, toolbars, and something that periodically reminds you that you're ugly.

I'm simultaneously testing a beta version of the Flex framework that will require Flash Player 10.1. I would recommend upgrading regardless. 10.1 has some excellent performance improvements thanks to Adobe's recent efforts getting it running on mobile.
Are you also done installing any future OS's or Browsers?

I mean it's up to you what you want to do, but why do you need to throw in strawmen?