software development concepts

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 biggest

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 centralized baggage

By Jeff Atwood ·
Comments
Revisiting The Facts and Fallacies of Software Engineering

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 the

By Jeff Atwood ·
Comments
Paul Graham’s Participatory Narcissism

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 I can

By Jeff Atwood ·
Comments
Does More Than One Monitor Improve Productivity?

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 Display Paradox

By Jeff Atwood ·
Comments
I Repeat: Do Not Listen to Your Users

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
Code Isn’t Beautiful

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 read

By Jeff Atwood ·
Comments
Tivoization and the GPL

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 schedules.

By Jeff Atwood ·
Comments
The Ultimate Unit Test Failure

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 worth using

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 is

By Jeff Atwood ·
Comments
Every User Lies

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 had

By Jeff Atwood ·
Comments
What Can You Build in 600 Lines of Code?

ruby

What Can You Build in 600 Lines of Code?

Joseph Cooney reminds us that, in January 2005, 37signals went live with a product they built in 579 lines of code: You read that right, not 60,000 or 600,000 but instead a commercial project written in less than 600 lines of Ruby code. When I first saw this

By Jeff Atwood ·
Comments