Antique inspirations for software architects

The Roman architect Vitruvius around the year 15 BC completed his impressive, ten-volume treatise on architecture—De Architectura. It covers every possible type of man-made structure ever needed by the people of his time, but starts out wisely by prescribing basic qualities that good architecture must embody:

All… must be built with due reference to durability, [utility], and beauty. Durability will be assured when foundations are carried down to the solid ground and materials wisely and liberally selected; [utility], when the arrangement of the apartments is faultless and presents no hindrance to use, and when each class of building is assigned to its suitable and appropriate exposure; and beauty, when the appearance of the work is pleasing and in good taste, and when its members are in due proportion according to correct principles of symmetry. [emphasis mine, and I prefer ‘utility’ over ‘convenience’ in the original quote]

Vitruvius, De Architectura, Wikiquote

Sounds familiar? It certainly did for me when I was brainstorming the set of values that our newly minted team of software architects was to adopt. Durability, Utility and Beauty described perfectly how I thought about good software architecture.

  • Durability means that software must stand the test of time. Work as long as necessary without crashing or requiring mid-way reboots. And it shouldn’t need to be rewritten from scratch every few years, but instead adapt well to changing needs. This principle guides the selection of languages, platforms, frameworks and tools.
  • Utility means the software must fulfill requirements that it was given and must do so well. If it’s a user-facing application, it must be easy to use and supportive, if it’s meant to handle high load, it needs to scale well. If it exposes an API for others to connect to, that has to be comprehensive and flexible. We need to build software always with its intended purpose in mind.
  • Beauty means the software must be pleasing to the eye. A clean, simple UI, laid-out and colored for readability. Inside, a logical layout of components, packages and modules. Good, clear but concise naming, plenty of whitespace, short functions, variables of unambiguous purpose. Computers will read anything. We need to code for people. This principle underlies front-end and coding style guides.

We unanimously decided to adopt these two-millennia-old qualities as our team’s values and to visualize them, I proposed an image that would become our logo: the Millau Viaduct—a spectacular bridge designed by sir Norman Foster, built near the city of Millau in southern France.

Millau Viaduct

Bridges ideally embody durability, some serving the public for centuries, like the Charles Bridge in Prague, opened in 1402. Getting people efficiently and safely across rivers, valleys and canyons is as clear an illustration of utility as we could hope for. And while beauty is in the eye of the beholder, to us Millau Viaduct truly is beautiful, with its slender structure suspended over the Tarn valley like a delicate web of strings.

We’re using these values to ask better questions. Is it durable? Will this fancy framework you have spotted at some conference be around in two years? Are you sure we need the user to click three times to submit the order? Can we make it easier? Can you read your own code? Can your new team colleague read and understand it? Old lessons that continue to hold true in an age technically so much more sophisticated than when they were put in writing.

Photo of Millau Viaduct by Phillip Capper.

What goes UP must come down

Back on April 26 I reviewed my first year of wearing Jawbone UP with all its benefits and deficiencies. Two months later, on June 21, my band gave up the ghost as battery life suddenly dropped to a mere few minutes. Today I’m wearing a replacement – courtesy of Jawbone, and have a few more thoughts to share from the experience.

Considering how long the band worked well for me, I was one of the lucky ones:

14 months of nearly flawless operation sounds like an eternity, when some people had as many as five consecutive devices replaced in the course of a few months. If that statement sounds sarcastically, it should. I expect a €100+ device to easily last a few years accepting only gradual reduction of battery life.

Like many UP users have commented, the design and features make it a winner among similar bands. It’s fun and easy to use, delivers lots of information that helps me steer my habits in a healthier direction. But while the “designed in San Francisco” portion of the product works out really well, the “assembled in China” clearly needs a retrospective.

The warranty for Jawbone UP is offered only for 12 months. Pretty short, as electronics regularly come with minimum 24 months of coverage. I thought my Jawbone adventure was over, because I didn’t see the point in buying a replacement. Nonetheless, since there’s no harm in asking, I reached out to Jawbone directly and quickly got a response:

Two reset attempts and a phone conversation later I was offered a replacement. How? “As an exception“, I was told, because Jawbone “wanted to provide the best possible customer experience“. Fair enough and I’m happy to have received that kind of attention – that certainly says a lot about the approach of Jawbone towards its users. Still, I cannot quite understand why an exception was made for me, in particular. Why make exceptions in the first place? Why not extend the warranty to 24 months for everyone?

From my first contact with @JawboneSupport on June 24, my replacement band arrived a few weeks later, on July 17. Most of this time was shipping. Jawbone knew exactly what type, size and color I had and I was pleasantly surprised that I didn’t need to provide those details.

The new band is distinct in a few externally visible construction details. The button feels differently and it is rattling the same way it must’ve for Zach Epstein, who’s article I linked to above. He had his band replaced due to the rattling, for me it’s not an issue.

Replacement Jawbone UP

I’m hoping changes go beyond the visible and something was done to improve the band’s longevity.

During this one month of waiting for replacement, one additional issue became clear. All this data that my body is producing and sending off to Jawbone to make profit from, there’s no way to extract it in case I’d like to move away from the device. No export feature, no official policy on how to grab it. I’m not even sure if legally the data can be considered mine. I’m sure it’s my own movements that produced it, but since it was processed by the band and application, can I claim ownership?

I’m not so much worried about the possibility of Jawbone selling off my data, as long as it’s anonymized, aggregated and properly controlled. But I sure would like to receive it when I ask for it. These questions will be coming up more often as more devices join the market and users begin ditching them and switching.

For now I’m hoping my new band will accompany me longer than the previous one, and for soon-to-be users of the device, I hope Jawbone will work up enough confidence in their product that they start offering two years or more of safety, replacements available without exceptions, just in case.