Some bits about product

Software disenchantment

Death to Electron!

Modern cars work, let’s say for the sake of argument, at 98% of what’s physically possible with the current engine design. Modern buildings use just enough material to fulfill their function and stay safe under the given conditions. All planes converged to the optimal size/form/load and basically look the same. Only in software, it’s fine if a program runs at 1% or even 0.01% of the possible performance. Everybody just seems to be ok with it. People are often even proud about how much inefficient it is, as in “why should we worry, computers are fast enough”:

Software engineering shifted from craftsmanship to being an industrial process without learning any lesson from other… industries.

Now it’s easy to hate on Electron’s inefficiency or blame overengineering becoming standard practice in “modern” software development, but if we really want to tackle the issue, we should focus on changing the perception of the underlying economics that push businesses to accept the tradeoffs between performances and the ability to ship products faster. Nothing comes for free, and today’s competitive advantage is tomorrow’s technical debt.

It’s totally acceptable to build products that are “good enough”, but we should never stop challenging how good is good enough.

September 24, 2018

Running in Circles


People in our industry think they stopped doing waterfall and switched to agile. In reality they just switched to high-frequency waterfall.

Agile became synonymous with speed. Everybody wants more, faster. And one thing most teams aren’t doing fast enough is shipping. So cycles became “sprints” and the metric of success, “velocity.”

But speed isn’t the problem. And cycles alone don’t help you ship. The problems are doing the wrong things, building to specs, and getting distracted. (…)

If a team works to a spec, there’s no point in iterating. The purpose of working iteratively is to change direction as you go. Defining the project in advance forces the team into a waterfall process. If every detail of the plan must be built, teams have no choice when they discover something is harder than expected, less important than expected, or when reality contradicts the plan.

Fundamental read on some of the most common misconceptions about product management and software development.

November 23, 2017

Why we choose profit

Profits focus the mind. There are so many things we could do as a company, but far less that really constitute the essence of why we’re here. Profits helps us concentrate on what to do and what not to do. It helps us shed things beyond the scope, it helps us keep the company fit, without accumulated layers of fat from chasing a thousand potential directions at once.

Jason Fried, Founder & CEO at Basecamp on the benefits of building a profitable business and living outside the tech bubbles.

February 18, 2017

Wherefore art thou Macintosh?

The key to the Mac therefore becomes that which the iPad/iPhone isn’t: an indirect input device. The keyboard and mouse/trackpad are what define the Mac. The operating system, the apps, the UX, are all oriented around the indirect input method. The iPhone’s capacitive touch brought about the direct input method, a third pivot in input methods (first was mouse, second trackpad/scroll wheel). Each pivot launched a new set of platforms and the Mac is the legacy of the second. (…)

The touchbar coupled to the other two inputs is a totally new way to interact with computing products. It’s not an “easy” interface as it’s not direct manipulation. It remains indirect, a defining characteristic of the second wave. Indirect inputs are powerful and lend themselves to muscle memory with practice. This is the way professional users become productive. The same way keyboard shortcuts are hard to learn but pay off with productivity, touchbar interactions are fiddly but will pay off with a two-handed interaction model. They are not something you “get” right away. They require practice and persistence for a delayed payoff. But, again, that effort is what professionals are accustomed to investing.

Horace Dediu perfectly nails the purpose of the Touch Bar: an indirect, context-aware input method that perfectly fits into the existing UI model, while enabling a whole new class of interactions.

November 3, 2016

Design iterations


A visual history of the design process behind Morning Boost’s brand new website:

As a project I worked on comes to life, I like to compile a snapshot of the key iterations that lead to its final, or better, initial form, in order to spot early mistakes and snatch unexpected insights. It’s like a near-death experience, but safer.

November 24, 2015
View all Bits