Vincent Gable’s Blog

October 23, 2009

GUI is Dead, Long Live UI

Filed under: Design,Programming,Usability | , , , ,
― Vincent Gable on October 23, 2009

The term GUI, Graphical User Interface, pronounced “Gooey” is laughably anachronistic. All interfaces meant for people on modern computers are graphical. The right abbreviation to use today is simply UI, for User Interface, pronounced “You I”.

Believe me, I understand that a command line interface is still useful today. I use them. I’m a programmer. I get the whole UNIX thing. Even without a pipe, a command-line is the highest-bandwidth input mechanism we have today.

But all command lines live inside a graphical OS. That’s how computers work in the 21st century.
Picture 6.png

Whenever I see “GUI” written I can’t help but wonder if the author is dangerously out of touch. Do they still think graphical interfaces are a novelty that needs to be called out?

July 19, 2009

For iPhone and or iPod Touch and or Other Things As Well

Filed under: Announcement,iPhone,MacOSX | , , , , , ,
― Vincent Gable on July 19, 2009

It’s very clear that a program “for Mac OS X” works with any personal computer Apple sells, because they all have “Mac” in their name. Unfortunately, the flavor of OS X that runs on the iPhone and iPod Touch is officially called “iPhone OS” by Apple, which it implies an incompatibility with the iPod Touch, and any future device that doesn’t have “phone” in the name.

I don’t know a good way to unambiguously say that a program is for any iPhone OS device, without tedious enumeration.

“For iPhone OS” sounds like it excludes the iPod Touch.

“For all models of iPhone and iPod Touch” sounds terrible. It will sound even worse when Apple comes out with other iPhone OS devices (“…for iPhone or iPod Touch or iTablet or iFPGA…”).

Apple could help by renaming “iPhone OS” to “Mobile OS X”, but I don’t see this happening.

I personally lean towards using “for iPhone” in general writing, and clarifying, if necessary, in “systems requirements” fine print. This feels closest to how the press covers iPhone OS applications, and of course it’s how Apple named the OS.

I’d love to hear what you call iPhone OS applications, and why.

June 4, 2009

MicroISV

Filed under: Programming | , , , , , , ,
― Vincent Gable on June 4, 2009

The word microISV is all business, in all the wrong ways.

MicroISV stands for “Micro Independent Software Vendor”, which in plain english means a tiny software company, usually on the order of one or three people.

Probably the best reason to buy software from such a small shop is passion. People who build and sell their own software directly tend to care very deeply about it. Their program is their baby. Nobody in a microISV is just in it for the paycheck. No matter how cool a large corporation is, at the end of the day everyone has to compromise on their dream to work together on it. But a one man shop never has to compromise or design by committee.

“Micro Independent Software Vendor” doesn’t communicate this agile vision. It sounds like the same kind of turgid enterprise think that drove the world’s largest software company to rename Netbooks, “low-cost small notebook PCs”. (You just can’t make this stuff up!)

Three people are never going to out-Big-Business a Big Business. So it just doesn’t make sense to label what they do with a Big Business Word. (And by word, I mean several words, because that’s how Enterprise Speak works.)

The most popular synonym for microISV I see in the Mac software scene is indy developer. I think it’s a fine term — better than microISV by about a factor of IBM’s income. But there are many other excellent alternatives to “indie”, like boutique, nano, one-man, etc. The exact term isn’t important; and it need not be short. If someone wants to open their own “Hand Cyphered Soft-Wares Emporium“, then more power to them! What’s important is that their taxonomy reflect the culture of commitment that goes into their unique software.

EDITED TO ADD: Small Batch Business is another fantastic name.

February 9, 2009

No Ducking Way!

Filed under: Design,Quotes,Uncategorized | , , , , ,
― Vincent Gable on February 9, 2009

I’ve finally found an example of, someone intentionally typing “ducking” on their iPhone,

Plotting routes to meetings based on who I’m currently ducking. It’s good for exercise. Also that time iPhone was correct- I meant ducking.

Obviously we can’t have a spellchecker suggesting profanity. But is it really so wrong to just leave it alone? Can we trust that if someone says something that strongly they really meant it?

Word 2008 seems to try, bless it’s heart. It won’t suggest or correct, “Mike Lee” (at least when it’s written as two words).

But it still can’t stand one of the heavy seven (original MP3). Word gives it the scarlet underline. That strikes me as odd. I wish I knew the story behind it. Is it actually a dangerously common typo? Is it statistically more taboo? Did someone just make a Puritan judgement call, and decide people wanted to be corrected for writing it? (UPDATE 2009-11-18: apparently it is the worst swear word in the World, at least according to that cute story.)

Ask yourself, are obscenity filters a Bad Idea, or an Incredibly Intercoursing Bad Idea?

January 23, 2009

Never Submit

Filed under: Bug Bite,Design,Programming,Usability | , ,
― Vincent Gable on January 23, 2009

Submit is always the wrong title for a button. Yet it’s still commonly used, even by people who should know better. I had “Submit Comment” buttons on my blog when I first published this.

Buttons should say what happens when they are pushed, in the vocabulary of the person pressing them. Technically a button might submit a form to a server, but what matters is the consequence of submitting the form.

For example,

Picture 27.png

this button should be called “Search” or “Find” or “See Matches” — something that describes what happens when it is pressed, or what the operator will see after pressing it.

That’s a Bad Word

“Submit” has negative connotations, and should be avoided. The first three example usages (in Mac OS X’s Dictionary.app) are all negative,

submit

verb
1 [ intrans. ] accept or yield to a superior force or to the authority or will of another person : the original settlers were forced to submit to Bulgarian rule.

• ( submit oneself) consent to undergo a certain treatment : he submitted himself to a body search.

• [ trans. ] subject to a particular process, treatment, or condition : samples submitted to low pressure.

Say an apartment takes applications on their website. It would be pedantically correct to say “Submit Application”. But it is more respectful to say “Send Application”, or “Apply”. Pressing a “Submit” button implicitly says “I submit”. And that’s the wrong relationship for a user to have to an interface.

Blame The Programmers (Not Really)

One reason so many buttons are labeled “Submit” is that the HTML code for making a button has the word “submit” in it. The code for is <input type="submit" value="This Button">.

If the keyword send was used to build buttons, I would argue that the web would be a slightly less intimidating place today. A button that demands you “send” something is better then a button that forces you to “submit”.

Choose Your Words Carefully…

So perhaps, when choosing programming terms, we should pick the ones with the fewest negative connotations, since inevitably some of those words will bleed over into user-land. Even if programmer words stay in programmer-land, word-choice influences the way we think about things. Best not to encourage berating your users and customers.

Of course, you shouldn’t go overboard avoiding “ungood” words! There is no question that the most clear term should be used (even if it’s offensive). A better programming-vocabulary means better, less buggy, programs. And that’s better for users (no matter what they are called behind their back). But if possible, avoid disparaging words.

And never submit to the temptation of calling a button “Submit”. There’s always a more accurate, respectful name.

September 6, 2008

The Term “Sprint” is Very Wrong for Software Projects

Filed under: Programming | , , , ,
― Vincent Gable on September 6, 2008

My employer is big on Scrum-flavored Agile Software Development. This is not a critique of “Agile” practices (if you want one Steve Yegge won’t let you down). I just don’t have enough experience organizing software projects to judge if this whole “Agile” thing is working well or not. But I do think the choice of the word “Sprint” to denote a unit of work is harmful.

A sprint is unsustainable. Fully recovering from a true-sprint takes a long time. To be ready to sprint again, you must rest for far longer then the sprint lasted. And you’re pretty useless (at least running-wise) while you rest. These are simple things that we learned as kids on the playground. This is what “sprint” means to people.

Calling repeated multi-week units of sustainable and quality work a “sprint” makes no sense whatsoever. Worse, it subtly encourages over-exertion and behaviors that are detrimental to a project.

It might be argued that in the context of Scrummy-Agileness, “Sprint” is a technical term, divorced from the common parlance. Whatever. Words don’t change meaning overnight, and they are almost never their own antonyms. Word-choice is known to influence people.

Sure, word-choice alone isn’t enough to derail a project, or sink a methodology. That’s why this isn’t a criticism of “Scrum”, which will ultimately stand or fall for other reasons. But there are plenty of much better terms to describe a chunk of work, that will help long-term productivity. Wouldn’t you rather work for a company that evaluated how effective a “Play” was?

February 26, 2008

this is Confusing, self is Not

Filed under: C++,Objective-C,Programming,Usability | , ,
― Vincent Gable on February 26, 2008

Most diction decisions, like choosing the keyword nil over NULL seem inconsequential. Sure, n-i-l is probably faster to type then shift+n-u-l-l, but the difference is too small to matter. Both terms are clear.

However after today I’m convinced that the C++ convention of using the keyword this, over self, was a mistake. “This” is just too common of a pronoun. It’s too easy to say something like “..this is invalid..”, and leave people wondering if you meant that-this or self-this.

I’d be interested to know the reasoning behind choosing the ambiguous keyword “this” over the precedent “self”.

I plan to refer to “this” as “self” whenever possible for a time, to see if it’s less confusing, even to habitual C++ users.

Powered by WordPress