Gettting Real Book Review – You can build twice, but can you build half?
Today i’m starting a new weekly series on this blog where i’ll review the book i finished reading on the current week. I’ll do my best to have the review written and delivered to your inbox every monday.
This week, i’m reviewing Getting Real, a free PDF book by the amazing team at Basecamp (the creators of Ruby on Rails!).
This book is simply a huge collection of tips and tricks to help you build a successful web application. The keyword here is successful, that is, an app that provides value for its users. In its many chapters, you will find a lot of useful and actionable tips to help you design, develop, test and launch an web application.
I found some of the design tips really useful, like the 3-state-design: always design your screens considering three states: its blank state, error state and filled with data state. In the development part, it has a few really interesting takes on how to organize your codebase to do more with less statements and how to keep it clean. Unfortunately, i found this part to be lacking the importance of unit testing, but this should come without saying (i suppose?).
Nevertheless, the main takeaway of the book is build less. Yeah, when i started reading i was somewhat suspicious of this philosophy, but it definitely sold me. Think of it like this: imagine you’re building a game with a hundred levels and you’ll take a whole month developing it. What this book suggests you to do instead? Drop all those levels, build and launch your game in a single day. Even though nobody is going to care about your single level game (probably), you’ll now start building the remaining levels based on what you hear from people, taking care to listen when they complain but not attending their every single whim.
This philosophy really opened my eyes to quite a bunch of occasions where i would spend a whole day building/fixing some aspect of the system. Nowadays, i simply started thinking: Can i solve it by asking users to send me an e-mail? Can i solve it by adding a help text? Can i simply drop it entirely? – And the answer is almost always Yes.
And thanks to this book, i’m building my webapps at lightning-fast speed. In my latest one, i dropped everything: it is simply a Google Sheets file with a 100-line script in the backend. Thanks to Google, my app is reactive, real-time, offline-first, has advanced sorting and querying functions. And i built it in a day.