Vincent Gable’s Blog

February 5, 2009

I Solemnly Swear to Make Mistakes

Filed under: Accessibility,Design,Programming,Usability | ,
― Vincent Gable on February 5, 2009

President Barack Obama, and two other presidents, have retaken their oaths of office, because of some mistake with their inauguration. That means a little over one in fifteen presidential oaths were botched. If that sounds high, it is. But only because people make mistakes.

That’s why, we must make our software so that people can recover after making a mistake.

Pens Suck

Filed under: Accessibility,Design,Usability | , , , ,
― Vincent Gable on February 5, 2009

In 1987, Alan kay said,

By the way, Sketchpad was the first system where it was discovered that the light pen was a very bad input device. The blood runs out of your hand in about 20 seconds, and leaves it numb. And in spite of that it’s been re-invented at least 90 times in the last 25 years.

Almost 50 years after Sketchpad, you can find a light pen at any computer store today. Today, these light pens are used to supplement more circulation-friendly input devices. Maybe that’s enough to solve the problems Sketchpad had.

Personally, I think the metaphor of a the pen is too blindingly strong. People love their pens, because they grew up with them. I don’t accept that they are the pinnacle of input. We can do better then copying a pointy stick filled with dye.

But I have my own biases and unique experiences. I am dysgraphic — I have trouble writing legibly by hand, and spelling. To me a pen is not something that feels good or puts me in the zone. It’s something that gets in the way of expressing my ideas. But fundamentally, isn’t every input device a barrier between your mind and the medium?

Reverse Engineering Inter-Process Communication

Filed under: Interface Builder,MacOSX,Reverse Engineering | ,
― Vincent Gable on February 5, 2009

Matt Gallagher tells how he reverse engineered the link between Xcode and Interface Builder. Very interesting, I learned a lot. I’ve done essentially the same thing with iChat. (And in retrospect it might have been a bad idea, because it’s broken on Snow Leopard).

Better Designed Credit Card Readers

Filed under: Design,Usability | , ,
― Vincent Gable on February 5, 2009

There’s a great comment thread on designing credit-card readers to be more obvious, over at uiandus.com.

And this one, from Chris Clark, sounded the most cost-effective and simple to me,

An idea: put the scanning mechanism into the main body of the machine (in this case, the left) and give the inactive side of the swiping channel a very low profile.

20090205-brup972kd9i3m7w4ykms5erwt4.preview.jpg.png

The channel should be deep enough that your card doesn’t spill out during a swipe, but shallow enough that you can see that the magnetic strip won’t be touching anything if you slide your card with the strip facing ‘out.’

If people work with the assumption that the magnetic strip must touch something to work, this design removes the perceived affordance of the ‘wrong’ side.

You could get the same effect by using clear plastic on just the “short” side. But I prefer Chris’ concept, because clear plastic will get dirty, scratched, and opaque, but empty space will stay empty.

There are lots of great comments, and I don’t know enough about building these things to know which plan would give the most bang for the buck in reality. So if this problem interests you read the blog and pick a winner for yourself.

(UPDATED 2009-02-12: I wanted to clarify why I’m ignoring the most obvious and right answer, of having a sensor in each side of the machine, so there wouldn’t be a wrong way to swipe the card. My understanding is that doing that would be too costly. If that isn’t the case, then I’m deeply disappointed in every credit-card reader I’ve used, and the cheap bastards who opted to save a few bucks to inconvenience all their customers.)

February 1, 2009

“I Deployed More Scheme Runtimes Than Anybody Else on the Planet”

Filed under: Programming,Quotes | , , ,
― Vincent Gable on February 1, 2009

From an Interview with an Adware Author,

Sherri Davidoff
You wrote adware. You bastard.

Matt Knox: [sheepishly] Yes, I did. I got to write half of it in Scheme, which probably means that I deployed more Scheme runtimes than anybody else on the planet.

So are most scheme programs in the wild used for evil? That’s a depressing thought.

January 30, 2009

Color is Cultural

Filed under: Design,Usability | ,
― Vincent Gable on January 30, 2009

An Asian student in my laboratory was working on an application to visualize changes in computer software. She chose to represent deleted entities with the color green and new entities with red. I suggested to her that red is normally used for a warning, while green symbolizes renewal, so perhaps the reverse coding would be more appropriate. She protested, explaining that green symbolizes death in China, while red symbolizes luck and good fortune. The use of color codes to indicate meaning is highly culture-specific.

Information Visualization, Second Edition: Perception for Design, page 16 (via Keith Lang)

I hypothesize that color-codings derived from nature and physics (for example more and less mapping to hotter and colder colors) would work across cultural divides. But maybe that’s just the science-worshiping American in me talking.

UPDATED 2009-02-02: There’s some very good commentary on this post. My hypothesis was wrong, or at very least missed the real difficulty of color coding. Also, it now appears the anecdote was not real culture shock, but a smart student defending their design with the first thing they could think of when it was suddenly challenged.

January 29, 2009

Social Epidemics Take Time

Filed under: Quotes | , , ,
― Vincent Gable on January 29, 2009

The best viral content on the internet won’t reach its audience in a single week. It might sit on YouTube for weeks or even months before it gets noticed and distributed. There’s just so much content out there to compete with. My guess is, viral marketing is pretty hit and miss, but if you’re going to try to do it, give it time to happen. If you’d like to promote an event next year, start writing about it on your blog or MySpace page now.

Jobe Roberts

This reminds me of one of Steve Yegge’s anecdotes,

… long before we had company internal blogs (at Amazon.com), Jacob Gabrielson wrote and circulated a brilliant essay called Zero Config. At least that’s what people call it nowadays. The actual title is longer, but famous essays tend to get shortened, like the way Dick Gabriel’s The Rise of “Worse is Better” became widely known as the “Worse is Better” essay.

Jacob’s essay clearly articulated an acute pain we’d all been feeling, but which nobody had elevated to the status of First-Class Pain. That is, configuration was a huge problem, but it hadn’t made it onto anyone’s radar as an official problem to which we should dedicate company resources.

Sure, everyone had been bitching and whining about it, but we bitch and whine about everything around here, so it wasn’t a problem that was readily discernable in all the noise.

Jacob’s paper was brilliant on several levels. He was able to distinguish configuration as a first-class problem, worthy of a paper — and this was back when there was almost no precedent for writing and circulating papers within Amazon. He made his point in an amusing and memorable way, writing with considerable style and intellectual force. And he articulated a long-term vision for fixing the problem. His goal wasn’t to solve it, but simply to increase general awareness of the problem. It was a little masterpiece.

And nobody read it.

I read it, although not immediately; as I recall, it may have been a few days before I got around to it. But it was relatively soon after he’d circulated it. When I finally did read it, I was very excited, and thought everyone ought to read it immediately. I started asking around, and found that only a few of the people on the circulation list had read it. I felt rather deflated: the company was missing out on an important insight, one that could help steer us in the direction of faster development, more stability, and less pain. I’m sure Jacob felt pretty bummed about having wasted all that time on the essay.

I didn’t give Jacob’s essay much thought after that, although I’d of course internalized his core ideas, which helped me steer my own teams’ work occasionally. About eight months went by, and then the most remarkable thing happened: suddenly all the VPs were talking about the “config problem”. They were citing Jacob’s paper, and from the way they were talking about it, it was obviously considered a well-known and long-standing problem: in other words, in 8 months it had gone from a relatively unknown issue to one that had permeated our corporate consciousness.

It didn’t happen overnight, either. I started hearing references to the paper in meetings about 4 months after he published it, and the frequency gradually went up, until the config problem finally emerged on various strategic planning agendas almost a year after Jacob had written about it.

I was surprised at the time that it took so long, but now it makes sense. People will only read something as meaty as an essay when the time is right. The right time isn’t going to coincide for everyone.

Like anything else, word of mouth drives adoption for essays. Only a few people will read it at first: friends, and a few people who just stumble across it and think it looks potentially interesting. If the essay isn’t relevant enough, then people will just forget about it and move on. No big deal.

But if your essay strikes the right chord with enough people, it will eventually reach critical mass, and you’ll have effected change in the organization. It may not be a huge change, but think about it: getting an idea through to a thousand people, in such a way that they all remember it and more or less agree with you — this is no easy feat. You can’t do it with a single email, unless it’s a really controversial one, and then you’ll just be infamous. You can’t do it with a single public speech: only the folks in the room are likely to remember it. Trying to do it with hallway conversations doesn’t scale.

Jacob’s Zero Config article demonstrated that essays are the best way to change minds on a large scale, maybe the only way, and even then, it often takes months for the message to sink in via mass osmosis.

For Jeff Atwood, of Coding Horror fame, popularity took years

I started this blog in 2004, and it took a solid three years of writing 3 to 5 times per week before it achieved anything resembling popularity within the software development community.

Flash Hate

Filed under: Quotes | , , , ,
― Vincent Gable on January 29, 2009

I don’t like Flash because it is responsible for the overwhelming majority of my browser crashes. I don’t like it because it consumes memory and (especially) CPU resources on my computer for almost the sole purpose of showing me advertisements, which also translates directly to reduced battery life on my laptop.

But it’s interesting to note that it’s quite a technical and ethical challenge to run a browser without Flash.

Steven Frank

I’ve written before about how important it is to optimize CPU usage of your website for the mobile world. And this is yet another reason for anyone who is add-supported. People will tolerate advertisements that are just there. But when they kill their work time, or are otherwise malignant, then they will take active steps to stop them. And that means no more advertising revenue.

January 26, 2009

Adobe UI Gripes

Filed under: Design | , , ,
― Vincent Gable on January 26, 2009

Adobe UI Gripes is a blog with screenshots of Adobe’s weird, non-standard interfaces. (Too much of) Adobe’s current Mac software is like Microsoft’s during the Word 6 period.

(Via Michael Tsai, Jonathan Rentzsch.)

If Adobe didn’t make, you know Photoshop etc. al., I would cut them more slack when it comes to their software’s face. It’s like a dermatologist with terrible acne. Graphic designers seem like exactly the types who would be bothered the most by a tool’s interface not being pixel perfect.

But I am impressed by what I’ve seen of Adobe Lightroom. They deserve UI props for that.

Compressibility of English Text

Filed under: Research | , , ,
― Vincent Gable on January 26, 2009

Theory:

Some early experiments by Shannon67 and Cover and King68 attempted to find a lower bound for the compressibility of English text by having human subjects make the predictions for a compression system. These authors concluded that English has an inherent entropy of around 1 bit per character, and that we are unlikely ever to be able to compress it at a better rate than this.

67 C. E. Shannon, “Prediction and entropy of printed English”, Bell Systems Technical J. 30 (1951) 55. (Here’s a bad PDF scan)

68 T.M. Cover and R. C. King, “A convergent gambling estimate of the entropy of English”, IEEE Trans. on Information Theory IT-24 (1978) 413-421

Signal Compression: Coding of Speech, Audio, Text, Image and Video
By N. Jayant

Shannon says 0.6-1.3 bits per character of English — 0.6 bits is the lowest value I have seen anyone claim.

Practice:

Just as a datapoint I tried gzip --best on plain-text file of The Adventures of Sherlock Holmes, weighing in at 105471 words, and using 578798 bytes. The compressed file was 220417 bytes.

If we assume the uncompressed version used one byte (8 bits) per character, then gzip --best used about 3 bits per character.

Best so Far

The state-of-the-art in the Hutter Prize, a challenge to compress 150 MB of Wikipedia content, is 1.319 bits per character. But that’s with a program tuned just for that data set, and it took 9 hours to run.

« Newer PostsOlder Posts »

Powered by WordPress