user experience

software development

GotDotNet: still sucking after all these years

Why is it that fully half of my interactions with GotDotNet are extremely unpleasant? I was telling someone about the Microsoft sponsored IronPython project today and I foolishly attempted to click through to the GotDotNet workspace for same: That's, like, totally awesome. Maybe I should visit the Workspaces

By Jeff Atwood ·
Comments

software development

Search: If It Isn’t Incremental, It’s Excremental

After I discovered the CTRL+I incremental search function in Visual Studio, I never used the standard find dialog again. Incremental search is so good that it makes traditional search dialogs completely obsolete. If you think that’s hyperbole, consider that Chris Sells calls incremental search “pure sex.” This particular

By Jeff Atwood ·
Comments

clipboard

Improving the Clipboard

In this era of 3ghz processors, 1gb memory, and 500gb hard drives, why is the Windows clipboard only capable of holding a single item? Sure, you have fancy multi-level undo and redo in applications like Microsoft Word and Visual Studio. Did you know that the humble Windows textbox supports a

By Jeff Atwood ·
Comments

enums

Avoiding Booleans

Brad Abrams recently posted another great excerpt from the unfortunately named .NET Framework Standard Library Annotated Reference Volume 2: Avoid creating methods with Boolean parameters. Boolean parameters make calls harder to read and harder to write. Indeed. What is the difference between... Authorization(“foo”, true) Authorization(“foo”, false) Who knows?

By Jeff Atwood ·
Comments

programming languages

The Cognitive Style of Visual Studio

Charles Petzold is widely known as the guy who put the h in hWnd. He’s the author of the seminal 1988 book Programming Windows, now in its fifth edition. And he can prove it, too. He has an honest-to-God Windows tattoo on his arm: This is explained in his

By Jeff Atwood ·
Comments

user experience

Avoiding “Blank Page Syndrome”

One thing I dislike about classic WIMP GUI applications is the way they typically present you with a blank page at startup. Here’s what Word 2003 looks like just after I launch it: This leads to Blank Page Syndrome: when presented with infinite choice, it’s sometimes hard to

By Jeff Atwood ·
Comments

user experience

Comparing GUIs: OS X vs. Windows XP

This OS X versus Windows XP site contains an exhaustive, extensively illustrated 100-topic comparison of these two operating systems. The author tries to be objective, which is admirable, but the extremely detailed comparison is worth reading mostly because it highlights a lot of subtle design differences. For example, this little

By Jeff Atwood ·
Comments

customization

Configurability and Voiding Your Warranty

In The Problem with Configurability, I noted the tenuous balance between the opposing goals of customization and convention. Kam VedBrat, one of the Microsoft Windows UI designers for Vista, riffs on a similar theme. Why isn’t Windows Vista completely skinnable out of the box? There is also the issue

By Jeff Atwood ·
Comments

windows

Changing the Windows XP Boot Screen

We’re in the middle of an after-hours MAME arcade project at work.* As one of the final fit and finish steps, I did a bit of research on how to replace the default Windows XP boot screen with something a little more arcade-y. I came up with StarDock’s

By Jeff Atwood ·
Comments

naming conventions

Microsoft naming: who stole the soul?

Jason Kemp notes that Microsoft's choice of product names can have some unintended consequences: I don't know yet how I feel about the name Windows Vista, but it at least has some character to it. But Windows Presentation Foundation? Windows Communication Framework? Who wants to use

By Jeff Atwood ·
Comments

user experience

On the Death of the Main Menu

One of the biggest highlights of PDC 2005 was the first day keynote, when the Office 12 UI was unveiled. I don’t know if people realized the significance of what we saw at the time – but we had just witnessed the death of the main menu. There’s no

By Jeff Atwood ·
Comments

software development concepts

In Defense of Verbosity

During the fantastic Monad session at PDC 2005,* Jeffrey Snover and Jim Truher illustrated the tradeoff between verbosity and conciseness: cp c:apples c:oranges -fo -r copy-item c:apples c:oranges -force -recurse Monad has a ton of aliases for common commands (e.g., echo is the same as

By Jeff Atwood ·
Comments