software development concepts

usability

Keeping The Menu Simple

In-N-Out Burger is a fast food institution here in California. Part of their appeal, I think, is their radically simplified menu. Instead of forcing customers to process a complex menu with a hundred choices, In-N-Out got real and pared it down to what really matters: a burger, fries, and a

By Jeff Atwood ·
Comments

programming languages

Programming Games, Analyzing Games

For many programmers, our introduction to programming was our dad forcing us to write our own games. Instead of the shiny new Atari 2600 game console I wanted, I got a Texas Instruments TI-99/4a computer instead. That's not exactly what I had in mind at the time,

By Jeff Atwood ·
Comments

programming languages

URL Shortening: Hashes In Practice

I've become a big fan of Twitter. My philosophy is, when in doubt, make it public, and Twitter is essentially public instant messaging. This suits me fine. Well, when Twitter is actually up and running, at least. Its bouts of frequent downtime are legendary, even today. (I was

By Jeff Atwood ·
Comments

programming languages

How Not To Write a Technical Book, Epilogue

I arrived at work today to find this package. It's from one "C. Petzold", whoever the heck that is. Inside was a copy of the book 3D Programming for Windows: Three-Dimensional Graphics Programming for the Windows Presentation Foundation. It's even inscribed: This is, of

By Jeff Atwood ·
Comments

software development concepts

Leading by Example

It takes discipline for development teams to benefit from modern software engineering conventions. If your team doesn't have the right kind of engineering discipline, the tools and processes you use are almost irrelevant. I advocated as much in Discipline Makes Strong Developers. But some commenters were understandably apprehensive

By Jeff Atwood ·
Comments

programming languages

Configuring The Stack

A standard part of my development kit is Microsoft's Visual Studio [http://msdn.microsoft.com/vstudio/]. Here's what I have to install to get a current, complete version of Visual Studio 2005 on a new PC: 1. Visual Studio 2005 Team Suite Edition 2. Visual Studio

By Jeff Atwood ·
Comments

software development concepts

What's Worse Than Crashing?

Here's an interesting thought question from Mike Stall: what's worse than crashing? Mike provides the following list of crash scenarios, in order from best to worst: 1. Application works as expected and never crashes. 2. Application crashes due to rare bugs that nobody notices or cares

By Jeff Atwood ·
Comments

programming languages

Always. Be. Shipping.

I believe there's a healthy balance all programmers need to establish, somewhere between … * Locking yourself away in a private office and having an intimate dialog with a compiler about your program. * Getting out in public and having an open dialog with other human beings about your program. I&

By Jeff Atwood ·
Comments

software development concepts

Will My Software Project Fail?

Most software projects fail. But that doesn't mean yours has to. The first question you should ask is a deceptively simple one: how big is it? Steve McConnell explains in Software Estimation: Demystifying the Black Art: [For a software project], size is easily the most significant determinant of

By Jeff Atwood ·
Comments

programming languages

Futurist Programming.. in 1994

Paul Heberli and Bruce Karsh proposed something they call futurist programming in 1994: We believe there is a great opportunity for Futurist principles to be applied to the science of computer programming. We react against the heavy religious atmosphere that surrounds every aspect of computer programming. We believe it is

By Jeff Atwood ·
Comments

programming languages

The Principle of Least Power

Tim Berners-Lee on the Principle of Least Power [http://www.w3.org/DesignIssues/Principles.html]: > Computer Science spent the last forty years making languages which were as powerful as possible. Nowadays we have to appreciate the reasons for picking not the most powerful solution but the least powerful. The

By Jeff Atwood ·
Comments

user experience

The Non-Maximizing Maximize Button

One of my great frustrations with the Mac is the way the maximize button on each window fails to maximize the window. In a comment, Alex Chamberlain explained why this isn't broken, it's by design: This is a textbook example of how Microsoft's programmers

By Jeff Atwood ·
Comments