Tag Archives: usability

IT explained

George bloggt

2012 habe ich an dieser Stelle über IT in Banken gebloggt. Dass ich zweieinhalb Jahre später selbst tief drinnen in der IT einer Bank arbeite, hätte ich damals nicht gedacht. 

Als Teil des Teams rund um George gibt’s nun einen Beitrag über Sicherheit und Datenschutz – ein wirklich spannendes IT-Thema im Kontext von Bankensoftware! Hier geht’s zu meinem Artikel im George Blog.

Und die Tatsache, dass es besser geschrieben ist, als die Texte hier in meinem Blog, liegt an meinem Ghostwriter Dag;-)

IT explained

Was ist da los bei der Bank Austria?

Frage: Was ist derzeit noch unbeliebter als ein Banker?
Antwort: Ein IT-Mitarbeiter einer Bank, sofern wir von der Bank Austria sprechen.

Die Bank Austria führt die größte IT-Umstellung ihrer Geschichte durch, Online-Banking aber auch Bankomaten sind über Tage nicht verfügbar. Die Kunden gehen auf die Barrikaden – soweit zur Chronologie eines schief gegangenen IT-Projekts. (“Arbeiten Tag und Nacht daran”, Bank Austria kämpft weiter mit IT-Problemen – die Kommentare verdeutlichen, wie beliebt Banken inzwischen sind.)

Ich habe die IT-Mitarbeiter der Bank Austria zufällig Anfang des Jahres im Blog erwähnt. Kurzversion der damaligen Aussage: Eine Bank, die sich im Zweijahresrhythmus neu strukturiert, kann ihre Hausaufgaben im IT-Bereich nicht erfüllen. Statt nachhaltiger (IT-)Innovation spielt es eben Logotausch auf Homepages und Lebenserhaltung zusammenfusionierter Systeme.

“Serverprobleme”

IT-Umstellungen sind für alle Beteiligten kein Spaß und deren Komplexität ähnelt dem Bau einer neuen Firmenzentrale. Problematisch ist allerdings, dass im Unternehmen das Verständnis für Kosten und Komplexität nur für letztere Projekte vorhanden ist. IT-Projekte werden selten in ihrer Gesamtheit begriffen, daher werden sie – und vor allem ihr Risiko – auch chronisch unterschätzt:

Was man nicht sehen oder angreifen kann, gibt es scheinbar nicht. 

Im Projekt der Bank Austria hat es mitunter an Verständnis, mit Sicherheit jedoch nicht an einer Sache gemangelt, an teurer Management- und IT-Beratung. Mit dem üblichen Toolset moderner Office-Magie wurden da vermutlich GANTT-Charts, Projektstrukturpläne und Pflichtenhefte verwaltet.

Ich kenne das das aus meiner persönlichen Arbeitswelt und es stinkt zum Himmel: Aus dem ursprünglichen Ziel, ein Projekt zu managen, wird mit diesem Vorgehen zunächst Nachvollziehbarkeit und schließlich nur noch Rechtfertigung oder Anschuldigung.

“Projects don’t fail from of a lack of charts, graphs, reports, or statistics, they fail from a lack of communication.”

The Basecamp Manifesto

Als ich noch Student war, gab es an der WU über einige Semester hinweg “Serverprobleme” bei der Lehrveranstaltungsanmeldung. Für die Lösung des Problems bedurfte es eingehender Analyse zahlreicher Teilbereiche wie

  • Datenbank und deren Setup
  • SQL-Optimierung der Datenbank-Abfragen
  • Hardware der Datenbankserver, insbes. Festplatten und Speicher
  • Anwendungsserver und deren Setup, insbes. Load-Balancing
  • Code-Optimierung der Programme
  • Analyse des Netzwerk-Verkehrs
  • Session-Management im Front-End
  • Abwehr von Bots im Front-End
  • usw.

Kurzum: Eine komplexe Anwendung besteht aus vielen, interdependenten Teilen. Es benötigt langjährige Erfahrung, um zu verstehen, wie sich ausstehende Requests gegenseitig aufschaukeln, was etwa passiert, wenn ein Datenbankserver plötzlich zu swappen beginnt oder der Application Server keine neuen Sessions mehr zulässt. Solche Systeme zu optimieren gleicht dem Kampf gegen Windmühlen, da man oft nur das Bottleneck von einer Stelle zur anderen verschiebt. (Notwendige) Arbeitsteilung und insbesondere Outsourcing machen eine Gesamt-Analyse oft extrem schwer.

Ist man allerdings IT-Consultant reicht eine Kalkulation in Excel bis das grüne Hakerl erscheint – problem solved, Vorstand und interne Revision zufrieden:

Projektplanung mit Excel und der “Autoausfüllen”-Funktion: Dumm nur, dass die Wirklichkeit kein lineares Wachstum kennt.

Online-Banking neu

Abseits der medial ausgeschlachteten Serverprobleme bereitet mir ja vielmehr das neue Online-Banking Kopfzerbrechen. Was hier optisch aufgehübscht wurde beweist, was die Bank von online einerseits und vor allem ihren Kunden andererseits hält: Nicht wirklich viel.

Ich bin kein Hellseher, wenn ich behaupte, die Anwendungsfälle Kontostand nachsehen, Transaktionen kontrollieren, Überweisungen tätigen und Zusatzprodukte abschließen sind pareto-verteilt (80/20-Regel). D.h. dass ich als Kunde bei vier von fünf Logins lediglich meinen Kontostand bzw. die letzten Transaktionen aufrufe, nicht aber Überweisungen tätige. Die Bank denkt jedenfalls in ihrer eigenen Welt und hat genau die mir wichtigen Funktionen hinter zahlreichen Filtern und Übersichtsseiten versteckt. (Abgesehen davon gibt es Bugs in den Filtern, was mein Vertrauen in die Bank nicht besonders stärkt.)

Wäre ich Vorstand eine Bank, würde ich mindestens so viel Ressourcen in meine Online-Produkte stecken, wie in Personal, Miete, und Ausstattung meiner Filialen – denn sonst erwischt mich die Zukunft eiskalt. (Lesenswert: 5 big trends in how you bank) Die in einigen Jahren übrig gebliebenen Fluglinien Europas (Lufthansa und British Airways; Airline-Branche steht vor enormer Konsolidierung) werden bis dahin auch von RyanAir, easyJet oder den außereuropäischen Low-Cost-Carriern (Taca, AirAsia, JetStar, Southwest) gelernt haben, dass der Weg zum Kunden über Web und Smartphones führt. (Die Lufthansa macht mEn einen super Job dabei.)

Buchtipp, wenn’s um Bank-IT geht: Roeltgen, Eine Million oder ein Jahr. Hinter den Kulissen der IT – ein Insider berichtet. Bei Amazon.

tltr;

IT-Umstellungen sind komplex und Unternehmen leben in Potemkinschen Dörfern gebaut auf Excel- und Powerpoint-Dokumenten, anstatt Projekt- und Risikomanagement zu betreiben. Versteht die Bank online weiterhin nicht, sieht meine Glaskugel ganz, ganz schwarz.

hacks

Kiosk-Terminal mit schnellem Login

Dem so genannten Octopus habe ich mich an dieser Stelle bereits ausgiebig gewidmet. Der von uns als Buckelwal bezeichnete Kiosk-Terminal kam bislang zu kurz. Hier also ein schnelles Update.

Der Anwendungsfall ist nicht neu: Im öffentlichen Bereich der WU Wirtschaftsuniversität Wien sollen Kiosk-Terminals schnellen und unkomplizierten Zugang zu Informationen, also dem Internet, sichern. Seit mehr als zehn Jahren gibt es mit der so genannten ByteBar bereits eine Lösung. Inzwischen macht sie vielleicht optisch nicht mehr allzu viel her – auf Seiten der Zuverlässigkeit und Wartungsarmut läuft das System allerdings beeindruckend vor sich hin.

ByteBar WU Wirtschaftsuniversität Wien.

Als ich mir gegen Ende 2010 das erste Mal Gedanken machte, was man am Baulichen und Haptischen verbessern könnte, fiel mein Blick auf die Suchmaschine bei Ikea. Diese vereint in durchdachter Schlichtheit und Pragmatik Features wie Stabilität, Touchscreen und/oder Tastatur, Kosteneffizienz, Servicierungskonzept, Sicherheit und Raumausnutzung.

Bei Ikea wissen die Designer was sie tun: Optimale Raumausnutzung, Schutz gegen Wagerl-Kollisionen, Kosteneffizienz. Mathias, Ikea Wien Süd (2010)

Mit dem schwedischen role model im Gepäck beauftragte ich 2011 einen Kiosk-Hersteller mit der Anfertigung eines Prototypen. Aus Designgründen entschieden wir, die Hardware hinter der Oberfläche verschwinden zu lassen, unterschiedliche Arbeitsplatzhöhen sollten außerdem unser Bekenntnis zu mehr Barrierefreiheit verdeutlichen.

Rendering unseres Prototypen: Unterschiedliche Arbeitsplatzhöhen, viel Karma für Design-Götter.

Nach Liefer-Verzögerungen und einigen Tests wurde der Prototyp Februar 2012 an der WU aufgestellt. Die Software läuft nach wie vor noch nicht so, wie wir uns das am Ende vorstellen. Aber Sinn und Zweck eines Prototypen ist ja eben der vorzeitige Erkenntnisgewinn.

Steht seit Februar 2012 an der WU für öffentliche Tests.

Öffentliches Internet versus die Abwehr anonymer Surfer

Der Großteil des studentischen Feedbacks auf Facebook drehte sich schon bald um die Haptik der Tastatur. Ich ahnte bis dato jedenfalls nicht, wie viel Emotion im Tastatur-Thema liegen kann. Nach einer Abstimmung unter den Studierenden fiel die Wahl schließlich auf eine (hygienische) Metalltastatur mit Trackpad.

Ende Juni veröffentlichte ich das Abstimmungsergebnis auf Facebook. Gleich die allererste Reaktionen sollte das Thema Browser/Software nochmal komplett drehen:

“Viel wichtiger wäre es wenn das ZID es endlich mal schaffen würde das man auf der WU eigenen (!) Homepage endlich die Suchfunktion nutzen könnte! Ich habe dass schön mehrmals angeregt bin bis jetzt aber immer auf taube Ohren gestoßen.”

Studierender auf Facebook

An der ByteBar erhält man beim Aufruf WU-fremder Seiten eine Fehlermeldung: Der Zugriff auf externe Seiten wird nämlich verhindert, um Surfzeiten zu begrenzen und somit Wartezeiten für andere zu verkürzen. Diese Maßnahme erachte ich allerdings aus zwei Gründen für höchst fraglich:

  1. Im Zeitalter von Web 2.0, Cloud und whatever liegen nunmal sehr viele nützliche Dinge nicht innerhalb der WU. Spätestens bei der outgesourcten Suche über Google – wie oben mokiert – wird die Sache peinlich.
  2. Die Begrenzung des Internetzugangs war vor zwölf Jahren sicher sinnvoll. Doch ist sie das dank Breitband und Smartphones noch immer?

Mein Vorschlag, Internet einfach “aufzudrehen”, fand jedenfalls keine Mehrheit. Ich kann die Bedenken nachvollziehen, dass dadurch jeder Fremde an die WU surfen kommen könnte – unangenehm wird das jedenfalls bei strafbaren Aktionen im Netz… Kurzum: Ein Login-Mechanismus musste her.

Python + WebKit + Studierendenausweis

Gemeinsam mit unserem kongenialen Hightech-Partner La Gentz war schnell die Idee geboren, den Studierendenausweis alternativ zur mühsamen Username/Passwort-Authentisierung  zu verwenden. Eine Authentisierung soll innerhalb kürzester Zeit erfolgen – das simple Hinhalten der MIFARE-Karte erfüllt diese Anforderung perfekt.

Außerdem entschieden wir uns, einen WebKit-basierten Browser from scratch zu implementieren. Das erspart die mühvolle Arbeit, den Browser gegen noch so kreative Usereingriffe abzusichern. Ein Login-Widget liegt semi-transparent über den Inhalten des Browserfensters und fordert zum Hinhalten der Karte auf. Aktuell überprüfen wir das UI noch auf seine Usability.

Details zur technischen Umsetzung finden sich im La Gentz Blog.

Fehlermeldung im unauthentisierten Betrieb. Das semi-transparente Widget lädt zum Einloggen via Karte oder Username/Passwort ein.

Nach dem Login ist unbegrenztes Surfen möglich. Ein Countdown visualisiert die verbleibende Zeit im Falle von Inaktivität.

Siehe da: Nach dem Login darf ich unbegrenzt surfen. Danach kann ich mich abmelden oder werde nach 1:30 Inaktivität automatisch rausgeschmissen.

Mit Ubuntu ist ein Betriebssystem ohne Wintendo-Krankheiten gefunden, LDAP bzw. JSON-RPC dienen zur Authentisierung. Demnächst folgt noch der Netzwerk-Boot (ähnlich den Door Displays).

Somit ist Websurfen künftig zufriendenstellend möglich, und wir brauchen keine Angst vor Internet-absaugenden Massen zu haben;-)

hacks

The octopus has landed!

Yes, yes, yes!

Das vom Foto vom Profi, (C) Jürgen.
Nach neun Monaten Planung und Entwicklung steht er nun funktionsfähig an der WU.

Unser Oktopus steht seit heute an der WU – produktiv und bereit für zwölf Monate Bewährungsprobe bevor am Campus WU alle SB-Terminals ausgetauscht werden.

Hinter uns liegt eines der spannendsten Projekte, das man wohl durchführen kann. Von der Bohrmaschine bis hin zum garbage collector gab es kein Werkzeug, das wir nicht in der Hand hatten, ich kenne nun die Eigenschaften von Melamin ebenso, wie die von 7Byte-RFID. Kurzum: Wir haben in den vergangenen neun Monaten gemeinsam mit den Tischlern alles selbst gemacht. Das war spannend, stressig, arbeitsintensiv, lehrreich, aber vor allem war es ziemlich außergewöhnlich.

Ergebnis ist ein Automat, der – ohne Übertreibung – weltweit einzigartig ist. Er druckt A4-Papier mit geringerer Fehlerrate als es der Drucker mit Original-Zubehör täte. Außerdem verfügt der Terminal über ein neuartiges Navigationskonzept, welches auf Lichtsignalen beruht. Die Optik ist ebenso außergewöhnlich wie die zahlreichen Anwendungsfälle, die er abdeckt. Wir sind stolz auf Barrierefreiheit und Inklusion, reduzierten Strom- und Papierverbrauch sowie ein absolut durchdachtes Service-Konzept. Trotz aller Superlativa haben wir dabei den Kostenrahmen gehalten.

Nennenswerte Verbesserungen

Aus Benutzersicht sind das…

  1. Erhöhte Gebrauchstauglichkeit dank kapazitivem Touch-Monitor, größeren UI-Elementen sowie verbesserter Navigationsstruktur.
  2. Einmaliger Ansatz für Barrierefreiheit mit Unterfahrbarkeit für Rollstuhlfahrer dank Auskragung.
  3. Zusätzlich Bezahlung via Kreditkarten. (Zurzeit aufgrund der unklaren Situation hinsichtlich Rechtmäßigkeit von Studiengebühren allerdings nicht freigeschalten.)

Für Wartungsmitarbeiter bedeutet das…

  1. Lösung des bestehenden Papierstau-Problems.
  2. Vergrößerte Service-Intervalle durch größeren Papiervorrat.
  3. Ausdrucke werden nur noch auf expliziten Wunsch gefertigt – weniger Müll.

Für uns Techniker sind das…

  1. Umstellung auf robustes Linux und Abstraktion aller Hardware-nahen Treiber auf Standardschnittstellen.
  2. 100% Python-Code, ein wunderschön-sauberer UI-Code dank PyQt.
  3. Größtmögliche Kompatibilität zur bestehenden Server-Schnittstelle, die in den kommenden 12 Monaten von zwei unterschiedlichen Terminal-Generationen genutzt wird.

Rückblick in Bildern

Neun Monate und 15.000 Zeilen Code später…

Die erste Studie zum “Service Terminal Plus”.
Mittels TeamViewer und Telefonkonferenz wird parallel in Scheibbs und Wien am 3D-Modell gearbeitet.
Während nun das Möbelstück gefertigt wird, verzweifle ich an Video4Linux…
Der erste Mock-Up macht das Terminal spürbar: Wir verorten Komponenten.
Mit kleinen Änderungen wird aus dem Mock-Up ein Prototyp.
Ein Prototyp, der über reichlich Innereien verfügt: Drei Drucker, Touch-Monitor, vier Lichtsegmente, Kamera, Bankomat-Terminal, Kartenleser, Papierlade, Netzwerk und Strom.
Letzte Änderungen fürs (materielle) User Interface werden direkt eingezeichnet.
Aufräumen beim alten UI, welches sich stark an Mausbedienung orientiert…
… hin zu einem Touch-optimierten UI.
Plötzlich eröffnet sich die Frage der Montage. Es folgen Diskussionen, Standortbesichtigung und ein Gutachten, dass der Doppelboden der Belastung standhält.
Letzte Iteration im Büro. Alles fast fertig!
Feinschliff durch professionelle Grafik.

Das Wir im Bericht hat Namen, die ich gerne nennen will. Dank geht an Dennis, der die event loop der Applikation aber auch des Projekts über hat. Wolfgang und Andreas waren beim Möbelstück mit Herzblut dabei – dem Ergebnis kann man es mehr als nur ansehen. Roland und Seán haben sich um die Betriebssystemebene gekümmert. Dank Bernhard läuft das Terminal zu großen Teilen auf Basis des alten, zusätzlich war er unser Erleuchter bei den LED-Streifen, die übrigens eine Idee von Simon waren. Infos zum Drucker-Umbau kamen von einem hilfsbereiten Mitarbeiter der Firma Knapp. Den Bankomat-Code verdanken wir Gabor, und ich habe den Großteil meiner Programmierarbeit bei Stack Overflow “gestohlen”. Der grafische Feinschliff kam von Markus und Wolfgang. 

Bisherige Blogeinträge zum Terminal: Service Terminals Plus und Terminal-Update

hacks

Terminal-Update

Ein kurzes Update zu unserem Projekt Octopus, einfach weil’s so geil läuft. (Und ich hasse normalerweise das Wort geil, aber in diesem Fall ist es angebracht!)

Unser heldenhafter Möbelprofi hat’s vollbracht: Alle Komponenten sind im Gehäuse sicher und für zukünftige Wartungen optimiert untergebracht. Außenrum bleibt das Interface “clean” und daher für die Benutzer übersichtlich. Der A4-Drucker ist dank Umbau des Papierauswurfs runter auf eine Fehlerrate von 1:300 und somit unterhalb der Quote, die wir mit den Originalteilen des Herstellers messen. Sämtliche Bedienelemente befinden sich in Greifhöhe für Rollstuhlfahrer. Die L-förmige Lichtleiste wird das Bedienkonzept einer Art “Farbleitung” ermöglichen. Aber was schreibe ich, wenn es Bilder gibt:

Der Mock-up ist beinahe fertig. Ursprüngliches Ziel - ein "cleanes" Interface - geschafft.

Materialkunde

Für jemand, der normalerweise mit Bits und Bytes zu tun hat, ist die Wahl der Materialen zugegebenermaßen eine Herausforderung. Immerhin sind Langlebigkeit, Kosten, Widerstandsfähigkeit gegen Reinigungsmittel und Vandalismus zu bedenken. Unser Ergebnis: Weiße Melaminplatte auf blankem Stahl – passend zum Gebäude, das mit Sichtbeton und schrägen Wänden auffallen wird.

Lokalaugenschein am künftigen Standort - ein echter Business-Termin.

Software: Python, Python, Python!

Abseits vom Möbelstück hat sich auch bei der Software unglaublich viel getan.

So wurde etwa beim Bezahlmodul eine proprietäre Library durch eine quelloffene Implementierung des Protokolls ZVT 700 in Python ersetzt. Damit können wir, von der Plattform unabhängig, den Leser der Card Complete einsetzen. “Abfallprodukt” dieser Entscheidung ist, dass wir künftig auch Zahlungen per Kreditkarte akzeptieren können.

Integration "Bankomat": Hard- und Software verschmelzen mit unserem Terminal.

Bei Webcam und den drei (!) Druckern lautete die Marschrichtung ebenso hin zu offenen Schnittstellen. Protokolle wie Apples CUPS machen die Ansteuerung der einzelnen Komponenten einfach(er), da viel der Komplexität versteckt wird. Anstatt des Modells “Treiber + lokal Anstecken” hat sich ein rein TCP/IP-basierter Aufbau durchgesetzt.

Als User Interface Library fiel die Wahl auf Nokias Qt – ein Wahnsinn in Sachen Flexibilität und Robustheit. (Nicht zuletzt darum tut mir der Einstieg von Windows Phone 7 bei Nokia im Herzen weh…) Die Python Bindings für Qt (PyQt) ermöglichen die Entwicklung in reinem Python-Code. Mit QWebview, einem für den User unsichtbar  in das UI eingebetteten WebKit (Google Chrome), werden wir einen Teil der Funktionalität mittels Web-Technologien implementieren. Diese hybride Art der Applikationsentwicklung wird ansonsten häufig bei mobilen Apps betrieben, um Apps auf Android, iOS und Co. mit nur einer Codebasis zu betreiben. Bei uns geht’s allerdings eher um die Entwicklungsgeschwindigkeit, da HTTP schlicht die lingua franca in der IT ist.

Richtig abgehoben wird das Projekt letztlich bei der Lichtsteuerung, einem Bedienkonzept, welches Benutzer anhand von Lichtimpulsen und Farben anstatt von Beschriftungen und Erklärungstexten leiten soll. Ein prototypisches Video kann bei Google Plus angesehen werden.

Photoshooter

Obwohl ich mich eher um die Projektabwicklung, als um die tatsächliche Implementierung kümmere, wollte ich eine Sache selbst hinbekommen: Die Software für den Photoshooter. Jeder WU-Student kennt das Ding, muss man doch am Tag der Inskription genau dort hinein lachen…

Erste Erfolge mit der Webcam.

Eines war mir jedenfalls nicht so ganz klar, als ich das Modul übernommen hatte: Dass ich eine long and winding road begehen würde bevor das Ziel auch nur halbwegs in Blickweite sein würde…

Kurzum, nach zahllosen gescheiterten Versuchen mit diversen APIs von VoIP-Clients bis hin zum Sourcecode der Kamera des Nokia N900 bin ich nun mit opencv glücklich. Diese Library für maschinelles Sehen tut aber nur am Rande, wonach ich hauptsächlich gesucht habe. Fokus liegt eher bei der Bilderkennung, und so war dann auch – das nächste “Abfallprodukt” – eine Gesichtserkennung schnell implementiert. Während man jetzt den Bildausschnitt mit dem Gesicht manuell auswählen muss, übernimmt das künftig die Software. Die überraschend geringe Fehlerrate bei der Gesichtserkennung trägt außerdem dazu bei, dass künftig nur noch erkennbare Bilder akzeptiert werden. Ein, wie ich, fauler Programmierer spart sich außerdem das ganze Gezoome und Gecroppe im UI.

Gesichterkennung mit Intels opencv: Das Gesicht kommt künftig automatisch erkannt auf den Studierendenausweis. Ergebnis sind ein einfacheres UI und eine indirekte Qualitätskontrolle, da der Algorithmus nur richtig belichtete Gesichter erkennt.

Linux statt Windows

Plattformunabhängigkeit, Python, offene Schnittstellen – all das dient letztlich dazu eine der letzten Domänen von Windows zu beenden: Jene der interaktiven Terminals. Unser Betriebssystem wird Ubuntu Linux 12.04 LTS. Mit TFTP-Boot und automatisiertem Checkout aus dem SVN-Repository ist auch hier die Reduktion der Wartung bereits Teil des Kernkonzepts.

Schon während der Entwicklung setzen wir auf continuous integration. Das bedeutet, dass zwei Testrechner laufend selbständig nach neuen Releases suchen und sich im Falle notwendiger Updates automatisch aktualisieren. Was jetzt also das Testen ungemein erleichtert, bedeutet im Produktivsystem einen stabilen Rollout-Mechanismus, der keinerlei manuelle Eingriffe benötigt.

Und noch so viel zu tun…

Nach einem guten halben Jahr Entwicklung sind wir nun an dem Punkt, wo alle Teile für sich alleine funktionieren. Nun heißt es, die einzelnen proofs-of-concept zu einem Ganzen zu verbinden und danach zu testen, zu testen und zu testen. Bis hierher sieht es also gut aus, aber die Geschichte bleibt spannend…

IT explained

Excel ist die falsche Technologie!

Vergangenes Jahr war in einem meiner Blog-Posts zu lesen, dass Office-Dokumente mit grundlegenden Problemen behaftet seien. Jetzt will ich mich dem übelsten Vertreter der ohnehin schon wenig glorreichen Bande an Office-Dokumenten widmen: Der Tabellenkalkulation, in Controlling-Abteilungen dieser Welt auch ehrfurchtsvoll Excel Sheet genannt.

to excel heißt auf Deutsch hervorstechen. Die Arbeit mit Excel Sheets sticht im Regelfall durch folgende Eigenschaften hervor:

  • während der Entstehungsphase ist sie verführerisch einfach,
  • für andere ist sie aber bereits nach wenigen Klicks nicht mehr nachvollziehbar und daher
  • höchst fehleranfällig.
  • Ergebnisse sind am Ende selbst durch den Ersteller kaum noch reproduzierbar.

Die Tabellenkalkulation besetzt meiner Ansicht nach eine extrem kleine Nische zwischen Taschenrechner und Programmierung. In der Bürowelt ist vom Nischendasein allerdings keine Rede…

Ein Punkt am Rande: Wenn hier von Excel die Rede ist, sind natürlich auch sämtliche andere Formate wie etwa LibreOffice Calc oder Apples Numbers inkludiert. Da Microsoft allerdings einen derart hervorragenden Job beim Vendor Lock-in am Arbeitsplatzrechner macht, habe ich wenig Mitleid, wenn ein großer Teil der Kritik an Excel hängen bleibt.

Einfacher Start und Schrecken ohne Ende

Sehen wir uns die Entstehung einer Tabellenkalkulation anhand eines typischen Anwendungsfalls an: Budgetplanung.

Zunächst ist das Tool hilfreich: Ein paar Positionen untereinand platziert, das aktuelle Jahr mit Ist-Daten in der Spalte daneben, noch eine Spalte für die Plan-Daten im kommenden Jahr. Berechnung einer Preissteigerung, automatische Summenfunktion, fertig ist die Kalkulation!

A B C
1 2012 (Ist) 2013 (Plan)
2 Personal 120 =B2*1.04
3 Material 70 =B3*1.12
4 Sonstiges 5 4
5 Projekt 25 33
6 Summe =Summe(B2:B5) =Summe(C2:C5)

Excel stellt die Struktur wie im Bild unten hübsch dar. Doch hier beginnt bereits das Problem. Während der WYSIWIG-Ansatz bei Textverarbeitung (vielleicht) sinnvoll ist, führt er bei Kalkulationen zur Verschleierung der Kernaufgabe: “What you do is what I hide” ist das eigentliche Motto jeder Tabellenkalkulation.

What you see is what you get, WYSIWYG. Formeln werden automatisch ausgeführt, Ergebnisse hübsch dargestellt. Meiner Ansicht nicht Segen, sondern Fluch.

Komplexe Verschleierung

Excel versteckt demnach das, was es tut und präsentiert lediglich ein Endergebnis. Gerade wenn man über einen längeren Zeitraum oder gemeinsam mit anderen an so einem Tabellen-Moloch arbeitet, ist aber genau dieses Verhalten fatal: Die Sache wird bestenfalls unübersichtlich, in der Regel unüberschaubar.

Anders als bei Textdokumenten gibt es bei Tabellen nämlich keine “natürliche” Richtung in der sich der Inhalt ausbreitet. Zellenwerte, Formeln, Verweise, Fomatierungs-Einstellungen sowie Makros sind über das gesamte Dokument verstreut. Dabei ist das Dokumnt selbst ein Sammelsurium aus Tabellenblättern, eingebetteten Objekten oder Verlinkungen zu anderen Sheets auf SharePoint. Ich kann mich an Arbeitstage während des DWH-Projekts erinnern, da hätte man unsere Arbeit bestenfalls als Excel-Forensik bezeichnet.

Dazu kommt – der Goldstandard beim “Herumexceln” -, dass laut meinen empirischen Erhebungen rund 112% der Benutzer liebend gerne Informationen mit Hilfe der Formatierung codieren. Da werden also Farben, Schriftschnitte und insbesondere Hintergrundfarben zur Daten-Anreicherung verwendet. Beim Ausdrucken wird das Problem kritisch; die Lösung ist aber schnell gefunden: Man druckt künftig in Farbe.

Kurzum: Der hohe Grad an Flexibilität wird so zum Fluch – betriebliche Nebenwirkungen nicht ausgeschlossen:

“The most popular software for writing fiction isn’t Word. It’s Excel.” @brianalvey

Ein besserer Ansatz

Arrogant, wie ich eben bin, behaupte ich nun, eine bessere Lösung zu haben: Die strikte Trennung von Content und Design. Dieser Ansatz ist leider aber zu genial, als dass er von mir käme – es ist der rote Faden sämtlicher Softwareentwicklung und Datenhaltung seit ungefähr 1843.

Eine Tabellenkalkulation gehört demnach aufgeteilt in

  1. Daten,
  2. Berechnung,
  3. Design und
  4. Layout
Schematische Darstellung eines Kalkulationstools - theoretisch lässt sich aber auch Excel dahingehend verwenden.

Nun, meine Darstellung oberhalb umfasst mit Versionierung und Synopse zwar Konzepte, die in Excel nicht machbar sind, aber aus der Trennung von Daten, Berechnung, Design und Layout lassen sich einige hilfreiche Tipps – sogar für Excel – ableiten.

Sieben Excel-Tipps

… von jemand, der Excel hasst – von mir.

“It is tempting, if the only tool you have is a hammer, to treat everything as if it were a nail.”

  1. Rohdaten und Formeln trennen.
  2. Richtung beibehalten: von oben nach unten, von links nach rechts arbeiten.
  3. Niemals Formatierung zur Codierung von Informationen verwenden.
  4. Sofern ein druckbares Ergebnis gewünscht ist, dies in einem eigenen Tabellenblatt “designen”. Dort aber nichts mehr berechnen, sondern nur noch mit Referenzen arbeiten.
  5. Weniger ist mehr und simple is better than complex.
  6. Sinnvolle, sortierbare Dateinamen ohne Sonderzeichen usw. vergeben. (Das Suffix “_neu” lässt sich durch “_neuneu” nicht besonders gut steigern.)
  7. Nach Alternativen (zB Python oder R) Ausschau halten.
hacks

Interactive Digital Signage (part 2)

Although our signage solution using Microsoft’s Kinect has been out in the field for a few months now we’ve decided to beat the big drum for it. My earlier blog post explains all the details, so here’s the buzz:

hacks

Service Terminal Plus, oder wie ich lernte, Automaten zu bauen

Das für Außenstehende wohl spannendste, weil greifbarste, Projekt meiner Tätigkeit ist das Service Terminal Plus. Mit beinahe 500.000 Euro Budget geht am Campus WU der Nachfolger der heutigen Selbstbedienungsterminals in Betrieb. Zeit für einen Erlebnisbericht, der sich für mich wie eine Hintergrundgeschichte zur (zweiten) Mondlandung schreibt…

Beim Service Terminal Plus handelt es sich um einen interaktiven Terminal, der RFID-Leser, Kartendrucker, Touchscreen, Webcam, Bezahlfunktion für Bankomat und Kreditkarte, Ausdruck auf Normal- und Zeugnispapier im A4-Format, zusätzlich Rechnungsdruck auf Thermopapier sowie Lichtsteuerung vereint. Kein Wunder also, dass der interne Codename des Projekts Riesenkrake lautet, besitzt der Automat wie sein tierisches Vorbild (mindestens) acht Arme und neun Gehirne…

Aktuelle Version der SB-Terminals an der WU Wirtschaftsuniversität Wien: Foto für den Ausweis, Rückmelden inkl. Bezahlen, Ausdruck von Zeugnissen und Bestätigungen.

Die aktuellen SB-Terminals wurden 2001 von Siemens geliefert, zwischenzeitlich mussten einige Hardwarekomponenten getauscht werden. Die Software wurde 2006 aufgrund vieler Ändeurngswünsche komplett neu in-house entwickelt.

Dank der in zehn  Jahren Betrieb gesammelten Erfahrung wollen wir nun einen Automaten bauen, der in seiner Wartbarkeit deutlich verbessert wird. Die spannendsten Änderungen spielen sich allerdings auf Seiten der Benutzungstauglichkeit ab, wo wir in den vergangenen Monaten einige interessante Ideen geboren, aber vor allem auch zur Reife gebracht haben.

Künftiger Standort ist das LLC am Campus WU. Wir nehmen Anleihe an der Architektur und holen den "Geist des Gebäudes" ins Projekt.
Eine der ersten Studien zum Service Terminal Plus.

Barrierefreiheit: Einer für Alle!

Ein Thema, das keinesfalls zu kurz kommen darf, lautet Barrierefreiheit. Die bisherige Lösung bot zehn Terminals für normale Menschen und einen für Behinderte.

Wem sich beim vorigen Satz auch der Magen umdreht, mir geht’s genau so.

Wir wollen weg vom Separieren von Menschen mit Behinderungen hin zu Gleichbehandlung. Das heißt im konkreten Fall, alle Terminals werden (mit Kompromissen) barrierefrei sein. Das bedeutet aber auch, dass viele Studierende sich werden bücken, Rollstuhlfahrer eben auch strecken müssen. Mir gefällt der Ansatz, etwas fundierter nennt sich das Inklusion.

Die Bedienelemente werden auf einem Kragarm platziert, der für Rollstühle unterfahrbar ist.

Zielsetzung mit dem nächsten Protoypen wird unter anderem sein, Rollstuhlfahrer testen zu lassen, um so zu verwertbarem Feedback abseits abstrakter Gesetzesnormen zu kommen.

Technische Neuerungen

Doch auch technisch wird sich viel tun. Seit Smartphones und Tabs will niemand mehr einen resistiven Touchschirm bedienen – die neue Generation ist kapazitiv und bietet deutlich erhöhten Bedienkomfort. Teure, weil vandalismussichere Tastaturen sind dank dieser Technologie ebenso Geschichte – das erledigt neuerdings die Software.

Die größte Innovation scheint uns aber im Bereich des Druckens zu gelingen: Während in der aktuellen Version immer wieder Papierstaus auftreten, glauben wir, das Problem nun endgültig geknackt zu haben. Dank Modifikation des Beförderungsmechanismus wird der Drucker rückwärts verbaut. Das bedeutet, dass künftig sämtliche Wartungsarbeiten von hinten durchgeführt werden, während vorne das User Interface keine Ladeklappen benötigt, also “clean” bleibt. Gemäß dem alles beherrschenden Motto “Was nicht existiert, geht nicht kaputt”, kann Papier nirgends mehr stecken bleiben. Es fällt einfach nach unten in eine Lade.

Das Innenleben eines Lexmark T652dn: Wir ändern die Richtung des Papierauswurfs und erreichen: Drucken vorne - Nachfüllen hinten.

Einheitliches User Interface (UI)

Als Softwareentwickler denke ich bei UI vorrangig an das, was sich letztlich am Bildschirm tut. Doch beim Service Terminal Plus ergeben sich durch den Möbelbau ungeahnte Möglichkeiten: Wie am Foto der aktuellen Generation erkennbar, ist das physische UI zurzeit stark zerklüftet. Drucker, Bankomatkassa und Kartenleser befinden sich in einem separaten Möbelstück rechts des Bildschirms. Der Zahlungsbeleg hingegen wird unterhalb des Bildschirms gedruckt, weit weg also vom eigentlichen Bezahlvorgang. Zumindest ich finde so etwas verwirrend.

Am Mockup des Möbelbauers werden die Komponenten verortet. Zusammengehöriges wird mittels Fräsung umrandet und dadurch zusammengefasst. Eine Lichtsteuerung leitet schließlich den Benutzer von Bedienfeld zu Bedienfeld.

Agil versus legal, oder: Grenzen des Outsourcings

Wie auf den Bildern erkennbar haben wir Spezialmöbelbauer im Team, mit denen die Zusammenarbeit auf Basis von Mock-ups abläuft. Es ist unglaublich hilfreich und effizient, ein Projekt anhand eines an-greifbar-en Prototypen zu be-greifen, anstatt detailliert zu planen. Das Gesamtprojekt ist schlicht zu komplex, als dass man es abschließend spezifizieren könnte. Trial and Error ist hier der richtige Weg.

Eine der größten Herausforderungen des Projekts liegt daher weitab aller technischen Sphären: im Vergaberecht, an das sich öffentliche Auftraggeber halten müssen. Beschaffungen ab gewissen Schwellenwerten haben über Ausschreibungen zu erfolgen. Was etwa bei Standardmöbeln zu transparenter und effizienter Haushaltsführung führt, stößt bei derartigen Spezialthemen an Grenzen. Die Aufgabe lautet daher, gemeinsam mit einem vertrauenswürdigen Partner ein Produkt zu entwerfen, dass später als Referenz für eine Ausschreibung an einen unbekannten Bieterkreis dienen soll. Im Regelfall stellt sich diese Schwierigkeit nicht, da oft so genannte Integratoren wie IBM oder eben Siemens eine Gesamtleistung anbieten. Die Erfahrung lehrt uns aber, dass es viele Themen gibt, die besser in-house gelöst werden, da ein komplexes Projekt nicht beliebig auf Externe verteilbar ist.

Getting real!

Wer sich von den Entwicklungen aus nächster Nähe überzeugen will: Bereits im Sommer 2012 soll “Nummer 1” noch am Altstandort in Betrieb gehen. Dann wird sich zeigen, ob sich die vielen, vielen Arbeitsstunden hinter Monitoren, Mock-ups und Kaffeemaschinen rechnen…

ideas

Von Software-Qualität und Eisbergen

In Kürze gehen zwei unserer Anwendungen in Testbetrieb (gebloggt und nochmal gebloggt). Nach wochenlanger Entwicklungsarbeit naht nun der Moment, den ich so hasse: der Moment des ersten, überhasteten Feedbacks.

Ich will diesen Moment als Eisberg-Moment bezeichnen. Er findet da statt, wo Endbenutzer oder Auftraggeber erste Rückmeldungen zum Softwareprodukt liefern. Rückmeldungen, die lediglich die sichtbaren Merkmale der Software betreffen und somit den Großteil der Anstrengungen außer Acht lassen.

Auch wenn Usability-Leute behaupten, the interface is the product, dann ist das nur die halbe Wahrheit. Insbesondere über einen Bewertungszeitraum, der länger als fünf Minuten – in unserem konkreten Fall hoffentlich mehr als fünf Jahre – dauert, spielen ganz andere Faktoren die Hauptrolle:

  • Investitions- und Wartungskosten; die IT ist schließlich ohnehin personalintensiv.
  • Wartbarkeit
  • Security
  • Verfügbarkeit
  • Konsistenz/Integrität
  • usw. (…) Nur eben nicht Logos, Schriftarten und oder Ränder drumherum.

Kurzum, mein Kollege Dennis und ich haben den Eisberg auf einem Whiteboard verewigt. Unter der Oberfläche liegen die unbeachteten Merkmale von Software-Qualität. Auf der x-Achse haben wir die investierte Arbeitszeit aufgetragen; auf der y-Achse (zugegeben etwas sarkastisch) das Geld, das man mit den jeweiligen Services verdienen kann.

Qualitätsmerkmale von Software(-projekten) und was davon für Außenstehende sichtbar ist. Der "Eisberg-Moment", ein künftiger Management-Klassiker.

Der Eisberg-Moment ist übrigens das Gegenteil des black triangle moments.

Edit 1: Ich bin übrigens der Meinung, dass Feedback wichtig ist. Es sind nur diese ersten Rückmeldungen, die mich immer und immer wieder an den Rand der Verzweiflung treiben…

Edit 2: Passend zum Thema, dass Feedback qualitativ sehr unterschiedlich sein kann: TornadoGuard bei xkcd.

IT explained meta

Von Dateien und der Zukunft des Internets

“Das ist ja nur ein Link ins Wiki. Kannst du mir das nicht als ordentliche Datei geben?” Auf diese Aufforderung hinauf konnte ich unlängst nur irgendwas von HTML und “eh Datei” stottern. Aber:

Was ist eigentlich eine Datei?

Zunächst, Dateien existieren nicht wirklich. Sie sind nicht real, wie dies zum Beispiel Briefe, Urkunden oder die Post-its auf meinem Monitor sind. Daten auf einer Festplatte sind nichts Weiteres als eine lange Serie von Einsen und Nullen. Erst Betriebs- und Dateisystem präsentieren uns diesen Datenstrom als Dateien.

Dabei ist es oft der Fall, dass eine “Datei” in Wirklichkeit viele sind (Office), viele “Dateien” eigentlich nur eine (Mail, Datenbanken), oder das manche Systemkomponenten ansich Dateien sind, aber für uns gar nicht danach aussehen (Grafikkarten, Internetverbindungen, etc.).

Das weit verbreitete mbox-Format ist ein gutes Beispiel dafür, dass Anwendersicht und System ziemlich unterschiedlich sein können. Eine ganze Mailbox entspricht hier nur einer Datei. Der Mail-Client gibt sich anschließend alle Mühe, Mails so zu präsentieren, als wären sie  einzelne Dateien. Filme kommen heutzutage nur noch in sog. Container-Formaten über die Leitung und selbst die neuen Office-Dateien (xlsx, docx, etc.) sind vielmehr gezippte Archive als “klassische” Dateien.

Wer glaubt also nun ernsthaft, bei Twitter kämen jede Minute an die hunderttausend *.tweet-Dateien herein, und Mark Zuckerberg müsste die *.like-Files regelmäßig auf Viren untersuchen? Kurzum: Herkömmliche Dateien sind mehr Schein als Sein.

Ich behaupte, Dateien haben vielmehr mit der Haptik zu tun, als mit der tatsächlichen Repräsentation auf einem Speichermedium. Und die Erkenntnis hat viel mit der Zukunft unseres Nutzungsverhaltens mit Computern und dem Netz zu tun – glaube ich.

Keine Ahnung wer sich die Metapher mit den Dateien ursprünglich einfallen ließ, aber sie ist eine unglaublich starke: Akte, Aktenordner und Schreibtischplatte sind die deutschen Übersetzungen der deutlich besser klingenden Originale File, Directory und Desktop. Der Erfolg der Datei liegt darin, dass man etwas in der Hand hat, dass es so eine gut vorstellbare Entsprechung in der realen Welt gibt. Ablegen, Aufmachen, Kopieren, Löschen; über so eine Datei hat man Kontrolle genauso wie über einen Papierhaufen am echten Schreibtisch. Programme waren im Umgang bislang deutlich komplexer, aber dann kamen bekanntlich die Apps:

Vom Erfolg der Apps

Apps sind in aller Munde. Eine Webseite reicht nicht mehr aus, heute muss man im App Store oder Android Market sein. Während dieser Trend gegen alles verstößt, warum das World Wide Web ursprünglich erfunden wurde – nämlich um Informationen plattformunabhängig teilen zu können -, befriedigt es ein ungeheuer starkes Bedürfnis der Anwender: man kann sich seine überschaubar kleine und hübsch verpackte Anwendung downloaden und am Mobiltelefon ablegen.

Plötzlich sind nicht nur Dateien handlich, sondern auch Programme!

Inzwischen drängen Microsoft (Apps Gallery), Apple (Mac App Store), Intel (AppUp) und Google (Chrome Web Store) auf den Markt der Desktops. Google geht sogar noch einen Schritt weiter und schreibt drumherum mit Chromium OS ein eigenes Betriebssystem. In Wien gibt es mit Wappwolf ein mMn visionäres Unternehmen, welches mit einem Appstore-artigen Konzept Dateien-Verarbeitung in der Cloud anbietet.

Das Internet als Supermarkt. Software geschnitten, gewaschen, zum sofortigen Verzehr geeignet. Foto: Mathias, Brunei Darussalam 2010

Hintergrund der Bestrebungen ist, wenig überraschend, ein wirtschaftlicher: Apps sind wahre Goldgruben. Der aktuelle Goldrausch lässt wohl sogar Drogenkartelle und andere Pharmafirmen in Neid erblassen.

Apple als Marktplatz bzw. Händler kassiert beispielsweise 30% der Umsätze im App Store – bei nicht existenten mengenabhängigen Kosten. (Oder ist dort schon mal eine App wegen mangelnder Kühlung verfault? Musste jemals jemand eine App wegen einem Lieferschaden umtauschen?)

Unter dem Deckmantel deutlich gesteigerter Usability werden Programme folglich vermehrt über Marktplätze angeboten. Dabei geht ein Großteil der Anstrengungen der Betreiber – technisch wie juristisch – in den Aufbau von Barrieren, wie etwa Kopierschutz oder Softwarepatente. Während wir uns also über teilweise lächerliche Updates freuen (Copy & Paste in iOS 3.0), gehen unsere Desktops einen zumindest zweifelhaften Weg:

Zuerst wurden unsere Mobiltelefone beinahe zu Computern. Jetzt werden unsere Computer zu Smartphones – großen “Einkaufscomputern”.

Wenn die Systeminterna (Dateisystem, Prozesse) einmal weg-abstrahiert sind, kann man schließlich nur noch auf das “Kaufen”-Symbol klicken/”touchen”. 1950 konnte sich wahrscheinlich keine Hausfrau vorstellen, Salat geschnitten, Eier gekocht und Erdäpfel püriert aus dem Supermarkt zu holen. In deutlich kürzerer Zeit werden wir aber für das Rotieren eines Bildes um 90° rechts oder das Anhängen eines Attachments in eine E-Mail bezahlen. Klingt erschreckend, aber wir werden uns schon daran gewöhnen. Außerdem, es wird ja nur ein paar Facebook Credits kosten und das Umrechnen in Euro tut sich ja eh keiner so gern an…