For most of his points you could drop the free from his title.
Thomas makes the point about most programmers not being good designers:
Some programmers are also great designers, but most aren’t. Programming and human interface design are separate skills, and people good at both are rare. So it’s important for software to have dedicated designers.
True; but software can be over-designed too – I guess this happens more in the commercial world. Sometimes usability is sacrificed for the sake of good looks.
Mega-budgets don’t always help. How did Office 2007 get through its usability testing, when there is no indication that you have to click on the “Office button” to access essential features like New, Save As and Print? What about Outlook 2007, with one of the world’s most obscure and difficult UIs? Opening another user’s mailbox – how many clicks is that, and how would you possibly find it without being told?
Good code is hard; good design is harder.