23.4.24

Designing Interfaces

I finished reading Designing Interfaces – 2nd Edition (Jenifer Tidwell, 2011, 547 pages). It was a comprehensive reading on GUI visual design, and it gave me input for lots of reflections on this topic.

To start with, I must say that this book has been on my shelf for over 10 years now. Firstly, because I start by using it as a reference book only, which is perfectly fine. But I also had the intention to eventually read it throughout, to gain some extra insights on multiple related topics. I lacked however the energy and motivation to do so. Until now.

The fact that this book was seating here for so long also means that it got somewhat outdated. And that is reflected on the fact that a third edition of the book was released not long ago. That being said, it is also true that the main design principles remain the same, even though the technology and GUI tech stacks have advanced significantly over the last decade.

What I like in a book like this is that it serves as an exhaustive way of filling the brain with all the main concerns there are around a given important field of knowledge. And user interface design is a very important field of knowledge for me.

Designing Interfaces delivers very well on exactly that, starting from how different people learn new things, and developing on all the main areas related to user interface design (discovery, input, action, presentation layout, etc.), to some of the main general principles behind aesthetics in user experience.

If this sounds interesting, and you have the energy and motivation, you won’t regret reading the book. Although the most recent edition is probably the best choice.

18.4.24

The Pragmatic Programmer

I just concluded The Pragmatic Programmer – 20th Anniversary Edition (David Thomas, Andrew Hunt, 352 pages). And I quite enjoyed it.

Although I’ve been programming myself for now over 20 years, I still think there is plenty to learn and reflect upon the art and craft of programming. This book is a great tool in such a process.

Firstly, because it is quite rich in content. It covers a lot of details in and around programming that are very central to the profession. For example, source control, build automation, and testing practices. Some opinions and recommendations in the book go against common practices. But always with great arguments, and with the weight of professionals who have “been there, done that”.

Secondly, the reflection parts of the book are extremely good, in my opinion. The authors don’t fight shy of discussing topics like ethics, different measurements of success, and even things like the horizon of personal choices that goes beyond the minutiae of all technical details a developer typically deals with on a daily basis.

This book is, in short, great. It could be argued that it has even more relevance for younger engineers. But I can assure that anyone into programming, independent of the level of experience, will benefit from it.