Joel on Software

October 18, 2007 @ 3:30 | In Books, Programming | | del.icio.us digg devbump rss
Joel on Software Book Image

Joel on Software
Author: Joel Spolsky
Pages: 362
Published: 2004

What new can be said about Joel Spolsky? His blog, Joel on Software, is in the top 100 of the most visited blogs and it is probably the most visited blog about software. This book, with the same name as the blog, is a compilation of the best articles published in the past in that website. The book is organized in three chapters: the first part is about good practices to improve your abilities to make software, the second part, about managing programmers and a third part dedicated to the software development business.

A little bit of reading through this book and you instantly discover why Joel writings are so popular. Joel is incredibly incisive in his opinions, bringing lot of subjective opinion based in his past experience (mostly, experiences when he worked in the Excel Team at Microsoft). That makes Joel’s articles very useful and with a vision hard to find in other sites. Do not expect to find here nothing on theoretical subjects. Topics like Architecture Astronauts or the one about the necessity of Technical Managers in the world of software engineering are good examples of what you will find in the book.

Joel is probably not right in all his statements. For example, when he talks about the two software cultures: Windows and Linux. He writes, Windows Software is for non-programmers, while Linux Software is for programmers. To me, this is absolutely wrong. Linux is a better stratified culture with two clearly separated layers: functionality and user interface. Most of the time, in Windows both layers are in a inseparable mixed state. In Linux, it is very usual to have a clear separation between server and client with GUI only in the client part. He writes, too, about how the Mozilla project committed its fatal error: starting from scratch. Time is starting to show that this was a good decision, Firefox is starting to threaten to that monolithic monster that IE has become.

In conclusion, and incredibly fresh read that I earnestly recommend. I am wishing to read his other book about user interface: User Interface Design for Programmers.

Rating: 9 / 10




  1. I really liked the “starting from scratch” post.
    I almost laughed when I read about the Fuc@#dString :D



    Comment by Miguel Herrero
    October 18, 2007 @ 9:20 #

  2. Could it be that this tradition of clear separation between functionality and user interface is what often makes Linux user interfaces inferior to their cousins on Windows? If you think that the user interface is something you just slap onto existing functionality, there is a great risk that you’ll create a crappy UI. Instead, how you want to present something to the user may very well affect the design of the functionality.

    Now, don’t get me wrong. I love Linux. It’s wonderful if you want to run a server, and the command-line utilities are very well designed. I’m just saying that the UI design of many Linux GUI applications is not very good. They are often good examples of leaky abstractions (another term of Joel Spolsky) because they fail to hide the complexity of the underlying functionality.



    Comment by Martin Vilcans
    October 18, 2007 @ 14:02 #

  3. I’m also a regular reader of Joel’s blog. But I not only agree with the former poster, but think that the UI of the 99% of the graphical Linux apps just suck. They are the result of a decentralized development with little consistency across applications, desktops(KDE,Gnome,etc) and distributions. There are some exceptions to the rule.. but most of the time you face “theoritically powerful” apps with terrible interfaces. See The Gimp.

    Not to say that MS overall UIs are great, but they are much better that the typical KDE app.

    It’s a shame the KDE/Gnome developers copied the overall Windows UI philosophy, instead of better models such as NextStep or Mac OS X. I know there are other window managers, though, but those two are the most popular.

    Still, I do recognize that the Linux desktop experience improves every year, but so do other OSes. If mean, Windows had stopped at 98, Linux would be god now. But it’s not the case.



    Comment by Julio Gorgé
    October 18, 2007 @ 17:52 #

  4. Yep, I agree with both comments. In most applications, Linux GUI sucks (although there are honorable exceptions).

    That is not a problem to me (I am a console Linux user) but clearly the Linux Desktop Experience leaves a lot to be desired.

    What I tried to explain in the post is that Linux is better stratified, with projects reusing the work from other projects, or for example a project implementing the GUI of other project. You can find excellent examples of this symbiosis: for example MySQL and phpMyAdmin



    Comment by ent
    October 19, 2007 @ 1:37 #


Fri, 25 Jul 2008 11:39:51 +0200 / 25 queries. 1.260 seconds / 2 Users Online

gentoo link wordpress link apache link PHP link website stats

Theme modified from Pool theme. Valid XHTML and CSS