Category Archives: Tips

Reversibles Hacken

Wie kommt man schnell zu neuen Ideen und wie prüft man diese frühzeitig auf deren Nutzen und Umsetzbarkeit? Gerade im Rahmen des digitalen Wandels (Digitale Transformation) im Zusammenhang mit dem Internet der Dinge ist dies eine essentielle Frage.

Bei vielen Projekten hat es sich bewährt, für erste Prototypen auf vorhandene Produkte zurückzugreifen und diese „nur“ anzupassen. Das ist gerade in frühen Projektphasen effizienter und günstiger, als etwas ganz von vorne zu bauen. Es geht darum, die Funktionsweise zu verstehen und für eigene Vorstellungen zu verändern. Oder wie es CCC-Gründer Wau Holland formulierte: „Ein Hacker ist jemand, der versucht einen Weg zu finden, wie man mit einer Kaffeemaschine Toast zubereiten kann“.

disassembling

Meist die größte Herausforderung und ein Garantiekiller: Das eigentliche Auseinandernehmen (hier am Beispiel einer Nespresso Pixie). Und nicht vergessen, Strom ist lebensgefährlich und ein Personenschutz-Adapter die mindeste Investition, ist einem sein Leben lieb.

Angenommen die Aufgabe besteht darin, dass eine Kaffeemaschine zum Beispiel intelligent und vernetzt sein soll (Stichwort Smart Home). Dann gibt es verschieden Wege, Ideen zu entwickleln und erlebbar zu machen. Diese unterscheiden sich jedoch ganz erheblich in den dafür notwendigen Fähigkeiten und Kosten. Zum Beispiel könnte ein Roboter die Maschine stellvertretend steuern. Es gibt zahlreiche Beispiele, wo dies erfolgreich jedoch meist nicht ganz günstig praktiziert wird. Es wäre auch einen Versuch wert, direkt in die Steuerung der Maschine über deren Programmierung einzugreifen. Einige Hersteller wie z. B. der Staubsaugerroboterhersteller iRobot oder der Dronenhersteller Parrot bieten dafür extra Programmierschnittstellen. Doch sollten diese fehlen, dann muss viel Aufwand betrieben werden wie z. B. Reverse Engineering. Oder man könnte auch die Hardware des Gerätes mit eigenen Komponenten zur Steuerung modifizieren, doch dies ist meist mit erheblichen Kosten und Risiken verbunden.

electronic_contacts

Ob man nun die Sensoren und Schalter direkt am Bauteil oder an der Platine abgreift, ist eher eine praktische Frage. Bei der Nespresso Pixie lässt sich das glücklicherweise alles schön zentral machen. A und B sind die Tasten, C ist ist die Status LED und D für die Erdung.

Eine effiziente und kostengünstige Vorgehensweise ist das „Reversible Hacken“. Diese einfache Form des „Hacken“ nutze ich erfolgreich im Rahmen von Value Innovation Workshops bei denen neben der Ideenfindung auch Geschäftsmodelle entwickelt und mögliche Innovationen und deren technische Umsetzbarkeit überprüft werden (ein Artikel ist geplant).

Beim Reversible Hacken hier wird zwar auch in die Hardware des Gerätes eingegriffen, doch dies beschränkt sich auf das Abgreifen der vorhandenen Sensoren und Überbrücken der Aktoren wie Schalter. Die Funktionsweise der Sensoren und Schalter lässt sich in der Regel einfach ermitteln und die meist kostengünstigen Bauteile wie Optokoppler und Relais lassen sich normalerweise leicht wieder entfernen – zumal die grundsätzliche Funktionsweise des Gerätes ja eh weiterhin erhalten bleibt und zusätzliche Möglichkeiten nur drangeflanscht werden.

arduino

Sieht schlimmer aus, als es ist: Die hinzugefügten Bauteile müssen nur noch mit einem Rechner verbunden und programmiert werden. Hier kommt das Arduino kompatible „Platinchen“ von blueIOT auf einem Steckbrett zur fliegenden Verdrahtung zum Einsatz.

Die zusätzlichen Bauteile müssen nun nur noch mit einem Einplatinenrechner wie Raspberry Pi und/oder Arduino verbunden werden. Schon stehen einem alle Möglichkeiten in Software zur Verfügung. Das geht in der Regel zügig von der Hand, wenn man einen Baukasten aus den notwendigen Bibliotheken und Codemustern parat hat. Meist ist es ja nicht mehr als ein paar REST-Aufrufe kombiniert mit Sensorwert/Ereignis lesen, Bedingung prüfen und Wert setzen. Zumindest für einen Prototypen reicht das häufig.

Falls Sie nun selber loslegen und eigene Ideen probieren möchten, dann sind Spielzeuge ein guter Startpunkt für eigene Experimente. Selbst vermeintlich defekte Geräte können so zu neuem Leben erweckt werden.

Impact Mapping – Eine Methode, zwei Sichtweisen

Ideen treiben die IT-Industrie in Soft- und Hardware. Am Ende wird jedoch der Nutzen dieser Ideen hinterfrage, egal ob es sich um bestehende oder neue Produkte handelt. Sprich: Häufig geht es weniger um technologische Herausforderungen oder darum die Welt zu einem besseren Ort zu machen als vielmehr den geschäftlichen Nutzen einer (dann Geschäfts-)Idee umzusetzen. Mit der klaren Darstellung dieses Nutzen erkauft man sich als Entwickler (wozu ich mich selber zähle) die Freiheit für Innovation. Auch darum muss dieser Nutzen gemeinsam mit den Projektbeteiligten erarbeitet werden!

Nun gibt es einen großen Werkzeugkasten durchaus bewährter Methoden, um eine Idee zu entwickeln und deren Umfang aufzuzeigen. Doch für sich alleine sind viele dieser Methoden nicht ausreichend oder zu aufwendig. Zumal man in vielen Fällen nur sehr wenig Zeit zur Verfügung steht. Beispielsweise erarbeiten wir gemeinsam mit Kunden Geschäftsideen (Value Innovation) und dafür steht nur selten mehr als ein Workshop-Tag zur Verfügung.

So funktioniert Impact Mapping

Impact Mapping hilft hier, indem es verschiedene Methoden vereint und visuell aufbereitet. Es sind kaum Vorkenntnisse erforderlich, so dass sich diese Methode gut für heterogene Gruppen eignet. Außerdem startet man beim Impact Mapping mit einem geschäftlichen Ziel, was verhindert, den eigentlichen Nutzen und damit die Rechtfertigung für ein Projekt aus den Augen zu verlieren.

Zusammengefasst besteht das Impact Mapping (frei Übersetzt „Auswirkungs-Zuordnung“) aus den zwei Phasen Vorbereitung (Preparation) und Zuordnung (Mapping). In der ersten Phase geht es darum, Ziele zu finden, Messmethoden festzulegen und den ersten Meilenstein zu definieren: Die Ziele müssen spezifisch, messbar, aktions-orientiert und zeitnah erreichbar sein (SMART). So können unrealistische Erwartungen schnell identifiziert und aussortiert werden.

In der zweiten Phase wird dies dann grafisch in einer Mindmap-artigen Karte aufbereitet.

image

Struktur einer Impact Map (Quelle: http://impactmapping.org/drawing.php)

  • Why? beschreibt das Ziel in Form eines Mission Statement und sollte einen geschäftlichen Bezug haben.
  • Who? beschreibt die möglichen Stakeholder oder Akteure (Persona), also wer setzt es um, wer nutzt es, wer wird dadurch beeinflusst usw.
  • How? beschreibt die Auswirkungen die sich für den jeweiligen Akteur ergeben.
  • What? beschreibt letztendlich die Anforderungen, was und in welchem Umfang getan werden muss, um die Ziele zu erreichen.

image

Beispiel einer Impact Map (Quelle: http://impactmapping.org/example.php)

Impact Mapping unterstützt iterative und agile Vorgehensweisen und passt damit gut zu den heute in vielen Unternehmen propagierten Prozessen. Als großer Fan von prototypischen Methoden gefällt mir beim Impact Mapping die Anpassungsfähigkeit (Adaptive Planning): Die grafische Herangehensweise unterstützt die Variation neuer Ideen. So können in kurzer Zeit alternative Ansätze einfach getestet und lohnenswerte Ideen frühzeitig ausgewählt werden.

Impact Mapping erzeugt Geschäftsrelevanz

Im Rahmen des Business Developers gewinnt das Impact Mapping sogar noch weiter an Relevanz. Dirk Rejahl (@DirkRejahl), Senior Business Development Manager und Product Owner Digital Media – Customer Mobility Solutions der Deutschen Telekom UK beschreibt es so: „Aus Sicht des „Business“ stellt Impact-Mapping die Werthaltigkeit und Relevanz eines Produktes oder einer Lösung sicher. Die Syntax erlaubt nur dann eine neue Funktion, wenn sie einem Stakeholder und einer Auswirkung (Impact) zugeordnet werden kann. Die Anforderung muss klar beschreiben, für welchen Stakeholder die Funktion eine Auswirkung auf die Erreichung des Ziels hat. Damit werden unnötige Anforderungen in der Art „vielleicht wäre es gut, wenn das Produkt die Funktion x hätte“ vermieden. Der Product Owner bzw. das Projekt-Team hat mit der Impact-Map eine Handhabe, unbegründete Anforderungen plausibel abzulehnen und so zu verhindern, dass z. B. eine Funktion nur entwickelt wird, weil ein Manager dies vorschlägt. Der durch die Impact-Map beschriebene Scope trägt somit messbar zur Erreichung des Ziels bei.“

Ein Buch

Ach ja, zum eigentlichen Buch zum Thema! Die Zusammenhänge mit anderen Methoden werden in dem Buch leicht verständlich und ansprechend auf nur rund 70 Seiten illustriert. Leider besteht das Buch aber dann auch zu einem großen Teil aus Weißraum, Zwischenseiten, Zitaten und Werbung (nicht Erklärung) für das Impact Mapping. Der Autor hätte vermutlich alles Essentielle auf rund der Hälfte der Seiten unterbringen und den Rest dann für sinnvolle Übungen und Beispiele aus der Praxis nutzen können. Denn genau daran mangelt es dem ansonsten guten und visuell ansprechenden Buch, das seinen Preis von gerade mal rund 7 Euro allemal wert ist. Oder man startet gleich mit der Website http://impactmapping.org zum Buch. Dort finden sich die wesentlichen Aspekte und eine hilfreiche Diskussionsgruppe.

„Impact Mapping: Making a Big Impact with Software Products and Projects“
Autor: Gojko Adzic
Preis: ca. Euro 7,-
ISBN: 0955683645
Erscheinungsdatum: Provoking Thoughts, 1. Oktober 2012
Link: Amazon

Kommunizieren statt Kommandieren

Computer durchdringen immer mehr Lebensbereiche. Dabei bleibt oft die eigentliche Frage des Nutzens auf der Strecke. Doch wie findet man einen solchen Nutzen? Wie kann eine gemeinsame Diskussionsgrundlage für das Finden und Umsetzung von neuen digitalen Ideen geschaffen werden? Der Austausch von Informationen, also das Kommunizieren, ist aber noch in einer zweiten Hinsicht essentiell für die Entwicklung neuer Anwendungen. Denn auf der einen Seite verlieren klassische Ein- und Ausgabemittel wie Tastatur und Monitor an Bedeutung und auf der anderen Seite nehmen die Vernetzung sowie die sensorische Möglichkeiten der Geräte zu. Damit drängt sich die Frage auf, wie wir als Menschen mit all diesen Maschinen kommunizieren sollen. Wie kann eine natürliche Interaktion für Anwendungen im Internet der Dinge aussehen?

Austausch von Informationen, also das Kommunizieren, ist in zweierlei Hinsicht essentiell für die Entwicklung neuer Anwendungen. Zum einen muss eine gemeinsame Diskussionsgrundlage für das Finden und Umsetzung von neuen digitalen Ideen geschaffen werden und zum anderen erwartet der Nutzer möglichst natürliche Interaktionsformen für den Informationsaustausch innerhalb einer Anwendung.

image

Gemeinsam mit Partnern erarbeiten, erleben und evaluieren wir In Workshops neue Ideen. Als Kommunikationsgrundlage dienen vorgefertigte und einfach zu nutzende APIs (Programmierschnittstellen) z. B. zur Sprachverarbeitung oder Positionsbestimmung kombiniert mit Alltagsgegenständen und interaktiven Spielzeugen von Lego Mindstorms bis zu Microsoft Kinect.

In erster Linie werden mobile Nutzungsszenarien diskutiert, bei denen der Anwender mit einem einzelnen Endgerät interagiert. Doch Computer durchdringen zunehmend mehr Lebensbereiche und sind dabei immer weniger offensichtlich als solche erkennbar (Ubiquitous und Pervasive Computing). Häufig existieren nicht einmal die gewohnten Ein- und Ausgabekanäle wie Bildschirm und Tastatur. Dafür sind diese Geräte meist vernetzt wenn nicht sogar gleich über das Internet verbunden (Internet of Things).

Die Herausforderung liegt nun darin, neue Interaktionsformen zu finden, die nicht mehr nur einer 1:1-Beziehung zwischen Mensch und Maschine gerecht werden, sondern sich auch für 1:n-Szenarien eignen, bei denen der Nutzer sich inmitten einer Vielzahl an Geräten bewegt. Diese miteinander vernetzten Geräte bilden eine komplexe Benutzungsschnittstelle aus unterschiedlichsten Sensoren (Ambient Intelligence) und Aktuatoren (z. B. Motoren).

Der Anwender erwartet natürliche Interaktionsformen, die beispielsweise auf angeborene Fähigkeiten wie Gesten und Sprache basieren. Mangels der gelernten und auf Metaphern basierenden grafischen Benutzungsschnittstellen ist hier sowieso ein Umdenken erforderlich. Die Erkennung von Gesten und Sprache (Speech Recognition) funktioniert bereits sehr gut. Technisch ist es dabei mittlerweile sogar möglich nonverbale Signale wie die Gemütslage zu ermitteln und in die Kommunikation zwischen Mensch und Maschine einzubeziehen.

image

Die Erkennung bei Spracheingaben kann durch Grammatiken anstelle einer allgemeinen Transkription verbessert werden. Doch fehlende „Höflichkeitsfloskeln“ machen diese Form der Interaktion schnell zu einem unnatürlichen Kommandieren.

Das eigentliche Verstehen (Natural Language Understanding) ist jedoch noch ganz am Anfang. Noch können wir mit den Geräten nicht natürlich Kommunizieren, denn Maschinen verfügen nur über einen eingeschränkten Kontext und Weltwissen und Intuition fehlen. In vielen Fällen sind nicht einmal Höflichkeitsfloskeln erlaubt, so dass sich die Kommunikation auf das Erkennen von Schlüsselwörtern beschränkt und somit eher einfachen Kommandos entspricht. 1966 entwickelte Joseph Weizenbaum das Computerprogramm ELIZA, bei dem es sich um eine oberflächliche Simulation eines Psychotherapeuten handelt. ELIZA zeigt eindrucksvoll, dass Maschinen natürliche Kommunikation auf einzelne Domänen beschränkt vorgaukeln können, solange auf Weltwissen verzichten werden kann. Auch ein großer Teil der interaktiven Erwachsenenunterhaltung und der ein oder andere Facebook Chatbot (textbasiertes Dialogsystem) machen sich die Eindeutigen Interessen der Anwender zunutze und erkennen so scheinbar natürlich deren Absichten.

Bombe: „Ich denke, also bin ich.“ […] Doolittle: „Aber woher weißt Du, dass außer Dir etwas existiert?“ Bombe: „Meine sensorische Apparatur vermittelt es mir.“ (Quelle: Dark Star, 1974)

Von der philosophisch anmutenden Diskussion mit der „Bombe 20“ aus dem Science-Fiction Klassiker Dark Star von 1974 sind wir jedoch trotz Siri und Co. noch ein ganzes Stück entfernt. Doch genau diese Bombe zeigt, was wir schon heute realisieren können: Interaktionen müssen mit allen zur Verfügung stehenden Informationen (Sensoren) aus dem Kontext kombiniert werden. Eine Spracheingabe in der Form „Licht an“ bei mehreren Leuchten alleine reicht bei weitem nicht aus. Kombiniert mit einer auf die Leuchte deutenden Geste kommt das dem natürlichen Verhalten jedoch schon sehr nah. Aber auch Positionsdaten (wo bin ich) und Blutdruck (wie geht es mir) können helfen, Absichten besser zu „verstehen“.

Und damit schließt sich der Kreis und wir sind wieder bei der ganz am Anfang erwähnten Bedeutung von Kommunikation: Die Vielfalt solcher Interaktionsformen ist so groß und vor allem die Erfahrungswerte sind so gering, dass die Umsetzung nicht einfach Delegiert werden kann, sondern beginnend mit der Ideenfindung Kommunikation essentiell ist.