Interface vs. implementation

37signals' Ryan Singer puts it succinctly:

"Interface vs. implementation" is a split that runs all the way down a software project, from UI vs. code to the names of individual methods. Knowing which of the two hats you're wearing at a given moment is key to keeping complexity under control and communicating better with your team.

I'd add that it's also the key to creating the best product you possibly can, regardless of what you're producing.

If you require a short url to link to this article, please use http://ignco.de/149

designed for use cover

But wait, there's more!

Want to read more like this? Buy my book's second edition! Designed for Use: Create Usable Interfaces for Applications and the Web is now available DRM-free directly from The Pragmatic Programmers. Or you can get it on Amazon, where it's also available in Chinese and Japanese.