user experience

case sensitivity

The Case For Case Insensitivity

One of the most pernicious problems with C-based languages is that they’re case-sensitive. While this decision may have made sense in 1972 when the language was created, one wonders why the sins of Kernighan and Ritchie have been blindly perpetuated for the last thirty-three years. I realize this is

By Jeff Atwood ·
Comments
Comparing Font Legibility

font legibility

Comparing Font Legibility

If you’re not reading the Wichita State Software Usability Research Laboratory newsletter regularly, you should be. It’s an amazing source of usability experiments with actual data, hypotheses, citations, statistics, and all that other stuff that puts the science back into computer science. A 2001 SURL experiment compared the

By Jeff Atwood ·
Comments

web technologies

Learning from TEH INTARWEB

I try to avoid posting entries from the Mindless Link Propagation Department, but Adam Bosworth’s article Learning from The Web is excellent and it deserves a careful read: The Web taught us several unintuitive lessons: 1. Simple, relaxed, sloppily extensible text formats and protocols often work better than complex

By Jeff Atwood ·
Comments
Disambiguating Search with Quasi-Evil Hierarchies

search engines

Disambiguating Search with Quasi-Evil Hierarchies

Let’s say I was to search Google for the word Jaguar: There’s an immediate problem. The semantics of Jaguar only exist in my head, not in any search box. Did I mean... * Jaguar the car? * OSX Jaguar? * Jaguar the animal? * The Atari Jaguar? * Austin Power’s Shaguar? Whichever

By Jeff Atwood ·
Comments
The Lost Art of Progressive HTML Rendering

html

The Lost Art of Progressive HTML Rendering

One thing I dislike about ASP.NET is that it renders the entire web page in memory before sending one single byte of that page to the browser. Consider an ASP.NET page with an embedded DataGrid that relies on ten complex database queries over 15 seconds. Why can’t

By Jeff Atwood ·
Comments
The Lesson of HyperTerminal

software development concepts

The Lesson of HyperTerminal

In response to My Giant Calculator, Joost commented: I’ll jump to the defense of trusty old calc.exe. Even though it’s crappy, we know it’s on every Windows box we touch. He’s got a point. The applets that ship in the box with the operating system

By Jeff Atwood ·
Comments
My Giant Calculator

software development

My Giant Calculator

Have you ever noticed how many people keep a physical calculator next to their computer? The irony is almost palpable. My favorite is the calculator mousepad. Jef Raskin, in The Humane Interface, defends the practice of keeping a pocket calculator next to your PC: It’s true. Many of us

By Jeff Atwood ·
Comments
GotDotNet: still sucking after all these years

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
Search: If It Isn’t Incremental, It’s Excremental

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
Improving the Clipboard

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
Avoiding Booleans

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
The Cognitive Style of Visual Studio

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