editor's blog
Subscribe Now

Building Better Wizards

Wizards are becoming more and more prevalent. Lest you’re concerned that Dumbledore’s relatives are coming to exact revenge, fear not: we speak here of wizards in the GUI (as opposed to gooey) sense. Yes, there are bastions of holdouts that cling to command line interfaces as a measure of their hacker bona fides, but there are solid reasons to like a well-designed wizard.

And “well-designed” is the operative phrase here. You may think of a wizard as no more than a way to simplify processes that could just as effectively be done using the command line if only you were boss enough to remember all the arcane intentionally-obscure commands required to get stuff done. And in some cases, such automation is the goal. But the potential goes beyond that: it’s an opportunity for a world-view transformation.

This is a favorite old topic of mine, but it was refreshed for me while watching a Movea SmartFusion Studio demo: when assembling a sensor fusion algorithm, a wide variety of filters are made available. And I thought, “How do you know which filter to pick??”

Now, you could easily argue that, if you don’t know your filters, then you have no business getting involved in sensor fusion. Perhaps. But really, a designer is interested in a behavior, not necessarily in knowing the details of how that behavior is implemented in some specific algorithm or circuit.

This became really clear to me several years ago on a consulting project where I was designing and prototyping a wizard for a piece of communication IP. The IP was very flexible, so there were lots of options that the user, who would be a system designer, could tweak. The obvious first approach to the wizard was simply to provide option fields for the user to fill in.

Being a communication protocol, it had FIFOs for elasticity; the user could dial up how big those FIFOs were to be. So I put a text field there for the size of the FIFO. But I asked the designers of the IP, “How should the user figure out how big the FIFO should be?” My first thought was that this information would be useful in the user manual. (Stop laughing… I’m sure someone reads those…)

They answered that the user would decide how many packets they wanted to buffer; that and the selectable packet size would determine the FIFO size. Simple enough.

But then I thought, “Wait, why are we making the user of this wizard do some paper-and-pencil calculations before going back to the computer? What if, instead of asking for the FIFO size, we asked for the number of packets?” The wizard already had the packet size somewhere else, so it then had all the information needed to calculate the FIFO size. No paper or pencil required.

Leave a Reply

featured blogs
Sep 27, 2020
https://youtu.be/EUDdGqdmTUU Made in "the Alps" Monday: Complete RF Solution: Think Outside the Chip Tuesday: The First Decade of RISC-V: A Worldwide Phenomenon Wednesday: The European... [[ Click on the title to access the full blog on the Cadence Community site. ...
Sep 25, 2020
What do you think about earphone-style electroencephalography sensors that would allow your boss to monitor your brainwaves and collect your brain data while you are at work?...
Sep 25, 2020
Weird weather is one the things making 2020 memorable. As I look my home office window (WFH – yet another 2020 “thing”!), it feels like mid-summer in late September. In some places like Key West or Palm Springs, that is normal. In Pennsylvania, it is not. My...
Sep 25, 2020
[From the last episode: We looked at different ways of accessing a single bit in a memory, including the use of multiplexors.] Today we'€™re going to look more specifically at memory cells '€“ these things we'€™ve been calling bit cells. We mentioned that there are many...

Featured Video

Product Update: PVT Monitor IP

Sponsored by Synopsys

Join Rupal Gandhi to learn about silicon-proven process monitors and voltage/temperature sensor IP from Synopsys. PVT monitors provide real-time feedback to SoC designers.

Click here for more information about DesignWare Foundation IP: Embedded Memories, Logic Libraries & GPIO

Featured Paper

Helping physicians achieve faster, more accurate patient diagnoses with molecular test technology

Sponsored by Texas Instruments

Point-of-care molecular diagnostics (PoC) help physicians achieve faster, more accurate patient diagnoses and treatment decisions. This article breaks down how molecular test technology works and the building blocks for a PoC molecular diagnostics analyzer sensor front end system.

Read the Article

Featured Chalk Talk

Automotive MOSFET for the Transportation Market

Sponsored by Mouser Electronics and Infineon

MOSFETS are critical in automotive applications, where long-term reliability is paramount. But, do we really understand the failure rates and mechanisms in the devices we design in? In this episode of Chalk Talk, Amelia Dalton sits down with Jeff Darrow of Infineon to discuss the role of MOSFETS in transportation, solder inspection, qualification.

Click here for more information about Infineon Technologies OptiMOS™ 5 Power MOSFETs