Bookmark and Share
The logo for The Embedded Muse For hints, tricks and ideas about better ways to build embedded systems, subscribe to The Embedded Muse, a free biweekly e-newsletter. No hype, just down to earth embedded talk. 23,000 other engineers subscribe. It takes just a few seconds (all we need is your email address, which is shared with absolutely no one) to subscribe to the Embedded Muse.

No One Likes GUIs

Published 11/06/2003

An email from a development tool vendor contained the interesting statement "no one likes GUIs, anyway". This is from an outfit that sells cross compilers, all of which run on Windows and Mac platforms, the very nexus of GUI-ness. Does this comment stem from user feedback or some vague notion of preferences of embedded developers?

Surfing various USENET groups turns up plenty of griping developers who feel a GUI is nothing more than a protective shell for the clueless. But USENET has more than its share of the boorish and irascible; though posts can be informative and interesting they're often nothing more than strong opinions, very loudly uttered.

Is a GUI-based development environment a prophylactic for the clueless? Or is it indeed a valuable tool that increases productivity? Hunting around the `net I found plenty of unsubstantiated claims of productivity boosts (mostly from tool vendors), but nothing with numbers.

Me, I love a GUI. There's nothing like a big monitor with multiple open windows. In Windows, a quick ALT-TAB switches me from the editor to the compiler to the linker. When the email bleeps a half-second toggle shows me how I can be longer, debt-free, a babe magnet, or pals with a Nigerian minister (http://www.scambusters.org/NigerianFee.html). Slashdot (www.slashdot.org) lurks under one window, my Daytimer (http://www.chaossoftware.com/) beneath it.

So is the GUI more productive... or a very efficient way to maximize distractions? A recent article (http://www.sdmagazine.com/documents/s=821/sdm0308f/) in Software Development magazine suggests that context switching between projects costs 40% of your productivity. so perhaps the question becomes: "is a GUI an anti-productivity tool"?

I do miss the simplicity of a Make file. Every GUI-based integrated development environment has its own way to manage projects. All are complicated. Most litter files randomly around the hard drive. Backups become difficult, as does porting the development environment to another machine. The worse tools are those that monkey with the Windows Registry. Portability goes to zero. Frustrating surprise interaction between programs thwarts progress.

It's tough to impossible to script automatic operations - especially automated tests - with most GUI-based tools. Scripting's a breeze with command line interfaces.

Though I love the GUI tools, there's nearly always a Linux C Shell window open on my desktop. Gentle Wife shakes her head in dismay at the flow of cryptic commands. But via various pipes, redirections, links, and regex hacks I can do almost anything to a set of files. I find myself using Windows tools for routine operations and the C Shell for the complex.

The old saying about UNIX is that you can do anything with it. but you must be an expert to do anything at all. GUIs promised to make computing possible for the masses and easier for the rest of us. Which do you prefer for firmware development?

 

 
Upcoming Events

You can bring this class to your company! Click here to find how we can come to your facility and present the class.


Did You Know?

Salary Survey
Here are the results of the 2012 salary survey..