user experience

technology trends

Supporting DRM-Free Music

You’ve probably read this classic boner of an iPod quote at some point: No wireless. Less space than a nomad. Lame. It’s from the Slashdot article on the introduction of the original Apple iPod back in 2001. I had always assumed this particular quote was written by a

By Jeff Atwood ·
Comments

programming languages

Everything I Needed to Know About Programming I Learned from BASIC

Edsger Dijkstra had this to say about Beginner’s All Purpose Symbolic Instruction Code: It is practically impossible to teach good programming style to students that have had prior exposure to BASIC; as potential programmers they are mentally mutilated beyond hope of regeneration. I’m sure he was exaggerating here

By Jeff Atwood ·
Comments

security

Your Session Has Timed Out

How many times have you returned to your web browser to be greeted by this unpleasant little notification: Your session has timed out. Please sign in again. If you’re anything like me, the answer is lots. What’s worse is that you’re usually kicked out of whatever page

By Jeff Atwood ·
Comments

web development

Help Name Our Website

As I work on UI prototypes for the new web venture, I’ve been brainstorming names for the web site we’re building. I’ve surveyed some of the finest minds in the software developer community (for very small values of “fine”), and we’ve come to a collective realization:

By Jeff Atwood ·
Comments

user experience

UI-First Software Development

We’re currently in the midst of building the new web property I alluded to in a previous post. Before I write a single line of code, I want to have a pretty clear idea of what the user interface will look like first. I’m in complete agreement with

By Jeff Atwood ·
Comments

user experience

What Should The Middle Mouse Button Mean?

Despite Apple’s historical insistence that the computer mouse should only have one button – which led to the highly unfortunate convention of double-clicking – most mice have more than one button today. In his classic book The Humane Interface, Jef Raskin revisits the earliest days of his involvement with the Mac

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

By Jeff Atwood ·
Comments

programming languages

Choosing Your Own Adventure

The Choose Your Own Adventure book series was one of my favorites as a young reader. The Choose Your Own adventure books are still around; modern versions can be found at your local bookstore. I bought one today at a local Barnes & Noble to refresh my memory, and although

By Jeff Atwood ·
Comments

user experience

Death Threats, Intimidation, and Blogging

I miss Kathy Sierra. Kathy was the primary author of the Creating Passionate Users blog, which she started in December 2004. Her writing was of sufficient quality to propel her blog into the Technorati top 100 within a year and a half. That’s almost unheard of, particularly for a

By Jeff Atwood ·
Comments

software development

UsWare vs. ThemWare

Ted Dennison left this astute comment in response to Do Not Listen to Your Users: Generally when I go talk to users, it is to educate myself enough to become a user like them. Then I can see what needs doing, what needs streamlining, reorganizing, rearranging, etc. This brought to

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

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

By Jeff Atwood ·
Comments