software development

usability

You’ll Never Have Enough Cheese

This Human Factors International presentation (ppt) references something called a Columbia Obstruction Device: I couldn’t find any actual references to the Columbia University science experiment they’re referring to, but it certainly seems plausible enough. The parallel with users and usability is natural. Either maximize the cheese (make your

By Jeff Atwood ·
Comments

software development

The Cost of Complexity

There’s an interesting eleven page article in the Economist considering the cost of software complexity: The economic costs of IT complexity are hard to quantify but probably exorbitant. The Standish Group, a research outfit that tracks corporate IT purchases, has found that 66% of all IT projects either fail

By Jeff Atwood ·
Comments

ui design

UI Follies, Volume I

Occasionally I run into UI elements so boneheaded, I have to wonder what the programmers were thinking. It’s a standard convention for installers to show (estimate, really) how long the install will take. That way users have some idea how long they’ll be waiting, and whether they can

By Jeff Atwood ·
Comments

exception handling

Creating More Exceptional Exceptions

I find myself throwing plain old System.Exception far too often. If only I had a complete reference of the many default Exception classes Microsoft provides, like the one Chris Sully provides in his article. That’s good as a starting point, but I don’t see things like System.

By Jeff Atwood ·
Comments

vb.net

Stuck in a VB.NET Ghetto

At a recent trinug user group meeting, Richard Hale Shaw was going off on a tirade about how Visual Basic 6 was “the ultimate anti-pattern.” I don’t disagree. VB6 had some serious issues, many of which .NET resolves. Then he put a question to the audience: “What specific things

By Jeff Atwood ·
Comments

software development

We Make Shitty Software... With Bugs!

I saw this really funny, if somewhat ancient, Dave Winer blog entry on Scoble’s blog and I just couldn’t resist: An old software slogan at Living Videotext: “We Make Shitty Software... With Bugs!” It makes me laugh! We never ran this slogan in an ad. People wouldn’t

By Jeff Atwood ·
Comments

software development

Defending Perpetual Intermediacy

How many things would you classify yourself as “expert” at? I drive to and from work every day, but I hardly consider myself an expert driver. I brush my teeth at least twice every day, and I’m no expert on oral care; just ask my dentist. I use Visual

By Jeff Atwood ·
Comments

asp.net

ASP.NET CAPTCHA control, improved

I improved the ASP.NET CAPTCHA server control I mentioned yesterday: * Control respects all standard ASP.NET server control properties (font, border, accesskey, enabled, etcetera) * Hide ViewState property (it’s required!) * Added CaptchaLength property * Added CaptchaFontWarping property * Improve font sizing algorithm * Improve warping algorithm (more mild distortion, no more drawing

By Jeff Atwood ·
Comments

java

Weeding out the Weak Developers with J2EE

I got into an interesting discussion today about that recently published report, Comparing Microsoft .NET and IBM WebSphere/J2EE. If you haven’t read it, there’s a summary at eWeek, but I definitely recommend downloading the full report for the details. If you’re too busy to do either

By Jeff Atwood ·
Comments

.net

Saving URLs to MHTML via .NET

I just posted another CodeProject article, Convert any URL to a MHTML archive using native .NET code. The title is a bit misleading; using my class, you can actually convert any URL to one of four formats in a single line of code: * Web Page, complete (HTML plus files in

By Jeff Atwood ·
Comments

software development

Development is Inherently Wicked

Horst Rittel and Melvin Webber defined a “wicked” problem as one that could be clearly defined only by solving it, or by solving part of it. This paradox implies, essentially, that you have to “solve” the problem once in order to clearly define it and then solve it again to

By Jeff Atwood ·
Comments

optimization

Why aren’t my optimizations optimizing?

We should forget about small efficiencies, say about 97% of the time: premature optimization is the root of all evil. – Donald Knuth Michael Teper’s blog has a great post about a bread and butter optimization scenario involving string replacement. After implementing three logical alternatives, Mike looks at the benchmark

By Jeff Atwood ·
Comments