Careful software

Apple creates cool products. Regardless of whether you use them or not, you just cannot ignore them.

Since quite a while, I made a hobby out of following the Apple public appearances (be them keynotes, interviews or otherwise) as I am interested in understanding what happens behind their thick curtains. In a recent interview, Jonathan Ive, Apple's chief designer, provided some hints about their design process. Among others, he talks about the carefulness in design. Specifically, he notices how we have this innate ability of detecting when a product was carefully designed and he goes on to say that in many cases the products on the market do not have this trace.

This concept is similar to what Christopher Alexander called the quality without the name. I love the concept and I am taken by its power.

On another track, since a couple of years, I noticed that Apple is exposing this carefulness in a peculiar way. Ever since the introduction of the MacBook Air, beside showing the how the hardware and software work together, the Apple keynotes almost invariably also show the inner makings of their hardware. This is particularly strange given that regular users have no chance of ever seeing that interior. Yet, they spend a significant part of their marketing effort in precisely showing the unseen by stressing the order and beauty of the mechanisms. It took me a while to figure it out, but I am not convinced that it is precisely the love for carefulness that makes this strange behavior meaningful.

They are certainly not alone in taking this approach. For example, in a beautiful TED talk, Richard Seymour tells a story of his grandfather that went to a watchmaker to have some work done on his watch. As the watchmaker opened the watch, the grandfather noticed that there is something engraved on the inner side of the watch. He prompted the watchmaker on the fact and asked him why he engraved it there given that nobody will ever see it. The watchmaker answered: God sees it!

The carefulness Mr. Ive is talking about brings with it a beautiful alignment between form and function. It’s as if a law of beauty make them come together harmoniously. This law can be a great guide during the design process. One can see they are proud of it. And so should they be.

But, this carefulness is not straightforward. It’s hard to do and it requires focus and dedication.

As I was pondering on this, something hit me: Why is it that Apple never shows the inner mechanisms of the software? Is software not a significant part of what makes Apple product valuable? Of course it is. Then, why?

Interesting enough, in the same interview Mr. Ive mentioned how they use the same kind of tables as in the shop to see how the products fit. Tools matter. So much so, that in another interview, he built live a custom made badge for the interviewer and he took the time to explain the beauty of the machine and of the process of crafting the object out of one metal piece.

Tools matter. Processes matter. And they have to be beautiful as well.

Should software not be subject to the same intensive care? I think it should be and I think it's mainly a matter of culture and of preoccupation.

How should we do it?

There is lots to say about the how. I will pick just one: the tools that are used for software development have to change radically. Just think of the interface. It’s primarily text. That is great when you want to write or read something, but it is terrible when you need to digest lots of data. And lots of data we have when we talk about millions of lines of code developed continuously by hundreds or thousands of developers. Exposing software as text does not benefit anyone because reading does not scale. It might be a simple solution, but it is not a careful one. We have to do better.

This is not a little thing either as developers spend statistically more than half of their time trying to understand existing systems. It’s essentially the single most significant software development activity. Yet, everyone, including Apple, is treating it in the same way we have done since decades: like a shapeless mass of necessary code that is unworthy of care.

This view is unsustainable. As we, as a society, rely more on more on software, we owe it to ourselves and to the future generations to make software sustainable. I argue that the problem is of environmental proportions because it affects the entire industry and we are drowning more and more into amorphous masses of code that is hard to understand and evolve. Like with any environmental problem, the solution is to go to the root and shift the system. We need to become as proud of the software sustainability and inner beauty as Apple designers are about the hardware. And just like those same Apple keynotes boasts about being environmentally friendly, we should look after the software environmental checklist as well.

We need to care.

Posted by Tudor Girba at 22 October 2014, 11:08 pm with tags assessment, environmentalism link
|