software development concepts

software development concepts

Let That Be a Lesson To You, Son: Never Upgrade.

(Update: This piece originally ran on April Fools' day; although the content of the post is not an April Fools' joke, the retro styling definitely was. View a screenshot of how this post looked on April 1, 2008) I occasionally follow Jamie Zawinski's blog. Jamie'

By Jeff Atwood ·
Comments

user-experience

Revisiting "Keyboard vs. The Mouse, pt 1"

You may know Bruce Tognazzini from his days as Apple Computer employee #66, or perhaps his classic books Tog on Interface and Tog on Software Design. He's still quite relevant today; his list of the ten most persistent UI bugs is an excellent reminder that many of the

By Jeff Atwood ·
Comments

technology trends

Just a Little Bit of Software History Repeating

I lived in the Denver area at the time Denver International Airport's completely computer automated baggage system was unveiled in 1994. The troubled development of this system was big local news. The premise of Denver's plan was as big as the West. The distance from a

By Jeff Atwood ·
Comments

software development concepts

Revisiting The Facts and Fallacies of Software Engineering

I like to re-read my favorite books every few years, so I brought Robert Glass' seminal Facts and Fallacies of Software Engineering with me on my most recent trip. I thought it was a decent, but imperfect read when I originally bought it in 2004. As I scanned through

By Jeff Atwood ·
Comments

software development concepts

Paul Graham's Participatory Narcissism

I have tremendous respect for Paul Graham. His essays – repackaged in the book Hackers and Painters – are among the best writing I've found on software engineering. Not all of them are so great, of course, but the majority are well worth your time. That's more than

By Jeff Atwood ·
Comments

multiple monitors

Does More Than One Monitor Improve Productivity?

I've been a multiple monitor enthusiast since the dark days of Windows Millennium Edition. I've written about the manifold joys of many-monitor computing a number of times over the last four years: * Multiple Monitors and Productivity * Multiple LCDs * Joining the Prestigious Three Monitor Club * The Large

By Jeff Atwood ·
Comments

software development concepts

I Repeat: Do Not Listen to Your Users

Paul Buchheit on listening to users: I wrote the first version of Gmail in one day. It was not very impressive. All I did was stuff my own email into the Google Groups (Usenet) indexing engine. I sent it out to a few people for feedback, and they said that

By Jeff Atwood ·
Comments

programming languages

Code Isn't Beautiful

I was thrilled to see the book Beautiful Code: Leading Programmers Explain How They Think show up in my Amazon recommendations. It seems like exactly the type of book I would enjoy. So of course I bought a copy. Unfortunately, Beautiful Code wasn't nearly as enjoyable of a

By Jeff Atwood ·
Comments

user experience

Tivoization and the GPL

The original Tivo was one of the finest out of box experiences I've ever had as a consumer. I remember how exciting it was to tell friends about our newfound ability to pause live television, and how liberating it felt to be freed from the tyranny of television

By Jeff Atwood ·
Comments

user experience

The Ultimate Unit Test Failure

We programmers are obsessive by nature. But I often get frustrated with the depth of our obsession over things like code coverage. Unit testing and code coverage are good things. But perfectly executed code coverage doesn't mean users will use your program. Or that it's even

By Jeff Atwood ·
Comments

software development concepts

The Years of Experience Myth

I recently received an email from Andrew Stuart of the Australian firm Flat Rate Recruitment. Andrew related their technical phone screen process, which is apparently quite similar to the one outlined in Getting the Interview Phone Screen Right. I'm glad to hear it works. A proper phone screen

By Jeff Atwood ·
Comments

user experience

Every User Lies

Heidi Adkisson notes that features sell products, but the people buying those products often don't use the very features they bought the product for in the first place. A few years ago I did an extensive in-home study observing use of a particular computer hardware peripheral. Most people

By Jeff Atwood ·
Comments