Software Design Lessons from my Diving Computer

As I started my new hobby diving, I was told that the first gear should be an individual mask because it would contain prescriptive lenses. Well, why having a mask when you could have a new computer?? So, I invested in a Suunto Vyper dive computer.
Obviously, it is ruggedized and has touch points that can be operated with gloves and under water. But no touchscreen, no colorful display, only a few, very basic animations. Still, there is a more or less complex algorithm running inside. While playing around with it, I found some interesting aspects.
User interface is about simplicity. Suunto uses a menu working with up/down and a select buttons. When a sub-menu is selected, it shows that you are now a level deeper in the menu tree but it keeps showing the parent menu name. Idea is to ensure you where you are. If you have understood this strategy, you are fine. Besides diving, no more functions. Everything is focused. For me, this reflects a philosophy which apps should follow: Being focused on their task.
The UI needs to work in its environment. The UI of the computer is a simple LCD which can be illuminated in the dark. Because of the LCD, there cannot be two different things in the same place if the computer is in different status. You always know where to expect what. If you go deeper in water, you lose colors down to the point where only blue is left. Without an active light source, colors play no role. Therefore, a LCD black and white display is fine. Think about the environment in which your app is used. How much of what makes sense when? Colors and strengths of ambient light, think about it. Sound and vibration, think about it.
UI should mean user guidance. One thing I am missing (and here a richer display would be a great help) is user guidance. The computer expects you to be an expert. It comes with secure defaults, so normally nothing should go wrong. But whenever you change the percentage of oxygen for a Nitrox dive, it asks you about the partial pressure of oxygen you would like to go for (the secure default is 1.4 bar). I am pretty sure that most people diving in the summer then storing the gear for the rest of the year will need a short guidance to remember the details. Here, additional interface power and the opportunity to get a short lesson would be nice.

Defining the Architecture of Help in the Future



I am currently working on defining an architecture for uniblue on a greater scope. The idea is to build a help system for the future.

Personally, I paraphrase the mission of uniblue as follows: “Enable consumers to get the outmost of their digital environment.” As usual, every word in this sentence has a deeper meaning. Obviously, we define the target audience – the consumer. What outmost means is somewhat obvious, too.

But digital environment needs to be defined. I think in the hay-days of Microsoft, this used to be the PC. It was the only digital device (on every desktop as stated by Microsoft). Today, it is your mobile device, your tablet, and less and less the PC. With this came the reduction of perceived complexity. I would argue that a major success factor for those devices are the fact that they are somewhat closed. They are reducing the degrees of freedom to configure and being programmed. This also reduces possible failure sources. To be successful in the consumer space, usability is key.

Looking in the future, the digital environment changes yet again. I would argue, it will loose its current face. Future computers will not easily be identified as such. We are talking about wearables like Google Glass, smart phone (but not as we have it today), smart home, smart car, smart city. Some call it Internet of Things (IoT), some call it internet of everything. This provides an explosion of complexity. We have more devices, more platforms.

We are currently laying out an architecture to answer this… great stuff to work on.




Wann sollte man auf seine Benutzer hören??


Ich war gerade auf einer Podiumsdiskussion rund um das Thema Apps. Ein wesentlicher Aspekt war das App Design und ein Tenor war: „Auf seine Benutzer hören“, stetig nach Feedback fragen, UX rules… Als die Diskutanten dann mal ganz konkret gefragt wurden, kam dann doch wieder der gute alte Henry Ford („Wenn ich meine Benutzer gefragt hätte, was sie wollen, dann hätten sie schnellere Pferdewagen gewollt.“). Steve Jobs wurde zitiert als jemand, der nie auf Benutzer hörte und trotzdem Alles richtig gemacht hätte…

Ich habe eigentlich die ganze Zeit auf einen Begriff gewartet: Den Innovationsabstand. Der kam aber leider nicht.

Vorab: Man sollte immer auf Experten hören und deren Rat suchen. Damit habe ich auch schon die einfache Antwort: Immer dann auf den Benutzer hören, wenn der Experte ist. Damit ist es eigentlich ganz einfach, wann ich auf Benutzer hören sollte und wann nicht.

Was meine ich damit? Jetzt kommt der Begriff Innovationsabstand ins Spiel. Nehmen wir an, wir wollen ein Produkt A bauen, dass ein Problem P löst. Dann sollten wir P Kategorisieren. Ich habe mal 4 Kategorien gesehen, die ich sehr treffend finde:

Einfaches Problem: Sowohl das Problem als auch die Antwort ist bekannt.

Schweres Problem: Das Problem ist bekannt, aber es fehlt noch eine richtige  Antwort.

Sehr schweres Problem: Wir haben irgendwie eine Antwort, können das Problem aber nicht wirklich fassen (und von denen gibt es mehr als man denkt)

Verzwicktes Problem: Wir kennen weder das Problem noch eine richtige Antwort darauf.

Solange ich kein verzwicktes Problem angehe, sollte ich meine Benutzer befragen. Sie haben ein Gefühl was das Problem oder ihre bisherige Reaktion – sprich- Lösung – darauf war. Ich biete die gleiche Lösung nur schicker, netter. Oder habe eine ganz neue Lösung. Oder mache ihnen das Problem erst mal bewußt und biete dann die Lösung. Hier ist ein Benutzer sehr hilfreich, weil er sich hineindenken kann und viele gute Anstöße und Kritik liefern kann. Gekauft!!!

Der gute Herr Ford hatte aber das Problem, dass es keine Benutzer gab. Wen hätte er fragen können?? Es gab Experten und die haben sich wahrscheinlich in das Lager der „Geht so nicht“ und in das „Auf jeden Fall wird es so kommen“ aufgeteilt. Wen auch immer er gefragt hätte, es wäre schwer gewesen mehr Wissen zu haben wie Ford selbst hatte (wenn man trotzdem so jemanden gefunden hat, unbedingt als Quelle sichern). Und am Ende war es ein Ratespiel und das Problem so existierte und die Antwort so passte.

Ich denke, man kann an dieser Kategorisierung den Begriff des Innovationsabstandes ablesen. Je weiter unten sich meine Frage und Antwort einsortiert, desto größer ist eben dieser Abstand. Je größer der Abstand, desto weniger Experten gibt es und desto weniger Sinn macht es diese zu fragen.

Wichtig: Der Innovationsabstand wird über die Zeit immer geringer. So wie uns Autofahren heute normal erscheint und wir auch das kapazitive Touch-Display am Handy gelernt haben.

Einfach, oder??