Skip to content

“Shining up a turd” , or Visual design vs. Code quality

I believe people experience software usually across two main dimensions, which is a sliding scale:

  • Visual design: Polished to Primitive
    • Polished: Cool slick, and well styled cohesive and easy to use. Most Apple products fall into this vein.
    • Primitive: The controls are there, the aesthetics sure aren’t, but gets the job done. I’m thinking the airline reservation system, DOS, or early eBay web site. (Am I’m dating myself?)
  • Code quality: Robust to Buggy
    • Robust: Elegant, Well written, qualified code which handles errors gracefully and is divided and designed to be maintainable over time, handle changes well, and makes sense
    • Buggy: Spaghetti-code, unmaintainable behemoths, obscure hacker crap code which is ugly to read, difficult to work with, and cryptic at the best of times.

So, examples always help here. Think Polished like the look of, say these sites:

And here’s Primitive:

As for code quality, this is something which is based on experience, but it’s not something you can see at all. It’s just there, or it isn’t. The only way to find out is to use it.

People often make snap judgements about software quality using the Visual design instead of the experience.

For example:

  • Primitive/Robust. If software is written correctly, good software can have a primitive look, yet still operate correctly almost all of the time. That’s the goal. Because I have the design sense of, well, a developer, I write a lot of software like this. Works quite well, but could use a little design help. Google’s early home page was just this. A single search box, but it worked flawlessly, was fast, and you could do some more advanced things if you wanted. But it looked primitive, no? Also, UNIX is exactly this.
  • Polished/Buggy. There’s a lot of this around. To date myself, Windows 95 was probably in this vein. It looked awesome at the time, but it was basically shining up a turd, so to speak. I see lots of software like because fixing underlying code is difficult, time consuming, and risky to update and fix (Read: expensive in terms of time and or money.) Often when software is buggy it’s symptomatic of larger issues which are harder to fix (e.g. poorly architected, bad or fatal design choices).  On the other hand throwing a new skin on something is usually easy and cheap to do. There’s an added bonus that people will think something changed underneath when often, nothing has changed.
  • Polished/Robust: Basically, good software all around. Google, Gmail, FaceBook, 37 Signals, LinkedIn, these are all well written, bug free, easy to use, and work well. You know they put a lot of effort in the quality of their software because … really, when was the last time you experienced a bug on these platforms?
  • Primitive/Buggy. Most software starts off this way, and few lucky projects graduate to another classification. Generally speaking, this software isn’t often used. But sometimes, surprisingly more often than you think, people use buggy software designed in 1989. (That’s bad.)

Of interest here is that people often make decisions based on the aesthetics of a program. If it looks good, it must operate well and do what I want, right?

What’s interesting is the learning curve. You hope software starts out as Polished/Robust, but given enough problems you start to see that it’s Polished/Buggy.

I once bought a Barracuda load balancer which looked polished, and the user interface was slick. Underneath it was a pile of crap, however. The systems rebooted spontaneously, and I returned them for a full refund (no, that’s not my review). That was in 2008, so I’m hoping they’ve gotten their act together since then. I swapped that for a far more expensive pair of Coyote Point load balancers which were slightly less slick, but man – they worked like a charm and never failed me, so they got my business.

I’m going to update this page when I think of products which are on my lists.

Shined up turds

And the list is:

If you want to add to the list, please comment!

Solving the middle level of Rubik’s Cube

While I’m by no means an expert on Rubik’s cube solving, I’ve been able to solve it since a babysitter taught me how as a teenager. It’s also a nice party trick if you can solve it.

My son recently showed an interest in solving the cube, and so I figured I’d document the process as I remember it.

Top-solvedFirst, you have to be able to solve the top-level of the cube, including all corners, so that each side makes a small “T”, like the photo at right. (Continued)

Broke my ankle

El Ankle Brokeno

El Ankle Brokeno

I broke my ankle the day after Memorial day last month. I did it when I slipped on a diving board and the board cracked my right fibula. Huge bummer.

Here’s what you start to appreciate once you’ve gone through something like this:

  • Your spouse who brings you food while you recover from surgery
  • Wheelchair accessible ramps
  • Stairs with hand rails
  • Friends who ask how you’re doing, and even kind enough to drive you around
I was “out of commission” for about a month and a week, and my ankle has since been recovering slowly. I can’t run, still, and the ankle still seems swollen (I’ve been assured that this is something that takes up to 6 months to resolve.)

The biggest issues has been that I was unable to exercise for about 6 weeks, and because of that I’ve started developing lower-back problems. What I’ve found is that when my back hurts, the best thing is to get some exercise and when you get your blood flowing, most body aches and pains dissipate.



Adobe products are buggy. Bring on HTML 5!

Adobe Software Plagued with Bugs?

I’m starting to think that Steve Jobs is right, mostly about reliability, security and performance of Adobe products. Maybe I’m just following his lead, but for the money I’ve spent on their product (Continued)

Witty retort to “I’ve got nothing to hide”

Since I enjoy the discussion of privacy, especially with regards to the internet, and have serious concerns about the number of large corporations which now track every single page view of internet users, this article by Daniel J. Solove regarding surveillance is really compelling.

It focuses on the claim of surveillance advocates, “If you have nothing to hide, then you have nothing to fear.” (P.S. Thanks to Bruce Schneier for the link.)

The argument goes like (Continued)

Penchant for puns

My wife (and her entire family, actually) have a penchant for making the most hilarious puns, usually unintentionally. Her most recent contribution:

“I would love to see the Columbia River Gorge. It’s gorgeous!”

The Harms of Homeschooling: A Retort

Child wearing a dunce cap

Should we legislate home schooled children?

I was notified of an article posted in the Philosophy & Public Policy Quarterly from the University of Maryland. An article “The Harms of Homeschooling“, authored by Robin L. West, begins with specious arguments and then digresses into the ridiculous, and finally argues against his/her own points.

First, let me give a caveat: Ms. West is concerned about the devout, fundamentalist Protestant home schoolers, not the “rest of us.” But given her target, she is doing more of a disservice to all home schoolers in her arguments.

For those who don’t want to bother reading this (Continued)

United decides to tell customers, “F*** your refund”

Traveling is an inherently stressful endeavor. During the holidays, more so. We just took a lovely trip to beautiful Denver, Colorado from our home airport of Philadelphia, PA. Outbound flight was on United, return was on a “partner airline”, US Airways.

To our chagrin, two days before our return flight, my 3-year-old daughter came down with (Continued)

Google’s Public DNS snaps up more of your browsing habits

Now he's watching every domain name I look up?

Now he's watching every domain name I look up?

Google recently added a Public DNS service. For a good definition of DNS, check our new wiki. In short: DNS is how your computer figures out where a web server is located when you type in any web address by your computer, meaning: (Continued)

Google now tracks “Google Alert” links

Is that my cell phone he's holding?

Is that my cell phone he's holding?

As of August 25th, 2009, Google Alerts now tracks links from emails through the domain.

Previously, they didn’t. (Continued)