Blog

Alle Beiträge von Marius Fink

Loading Indicators from a UX Perspective

In modern web applications loading animations are an important part of the User Experience (UX). The User needs to know that something is going on – even if loading is usually very fast.

In early prototype development developers and product owners tend to omit any loading indicator. This is totally fine until first real users try the app. They may get confused and try to hit the refresh button or repeat button clicks. If a request is very fast, they might not notice that the content has changed and wait for something to happen.
weiterlesen

Hamburgs Global Day of Code Retreat bei Holisticon

Am 14. November fand weltweit der Global Day of Code Retreat statt. Dabei handelt es sich um eine koordinierte Aktion, bei der sich Hacker und Software-Crafts(wo)men in lockerer Runde treffen und eine knifflige Programmieraufgabe im Pair-Programming innerhalb einer knappen Zeitvorgabe immer wieder lösen. Die Krux dabei ist, dass nach Ablauf der Zeit der gesamte Code gelöscht werden muss.

Holisticon hat mit den Moderatoren Sven Bunge und mir, Marius Fink, das Event für Hamburg als MeetUp gehosted. In der Vorbereitung haben wir uns für das altbekannte, aber immer wieder spannende „Game of Live“ des britischen Mathematikers Conway entschieden. Durch einfache Regeln entstehen dabei auf einem zweidimensionalen Spielfeld interessante Strukturen, die an das Leben und Sterben von biologischen Zellen erinnern. Typischerweise werden „lebende Zellen“ als schwarze und „tote Zellen“ als weiße Punkte dargestellt. Wir gaben eine besondere Einschränkung vor: in jeder Runde musste ein neuer Pairing-Partner sowie eine neue Programmiersprache benutzt werden.

gdocr1Nach anfänglichen Frustrationen konnten sich gegen Ende des Tages beachtliche Ergebnisse sehen lassen. Es gab Lösungsansätze in Java, Python, Swift, JavaScript mit Angular, Scala, Clojure und Ruby. Obwohl wir mit Clojure beispielsweise nicht weit gekommen waren, hatten alle eine Menge Aha-Erlebnisse mit der gehirnverknotenden Syntax.

 gdocr2

Am Ende gab es dann zwei besonders hervorhebenswerte Ergebnisse: Ein Team hat die Entwicklung fortgesetzt und eine Open-Source-Anwendung live gestellt, die unter sokahh.github.io erreichbar ist. Tipp: 3 schwarze Punkte in einer Reihe ergeben einen „Blinker“. Ein sogenanntes „Spaceship“ sieht so aus:

gol_angular

Das Ergebnis mit dem größten Unterhaltungswert war die Implementierung des Game of Life mit dem Code Game Java Kara – einem Lernprogramm für Programmieranfänger, das mich (Marius) in der 10. Klasse an Java heranführte. Dabei steuert man programmatisch einen Marienkäfer, der mit Kleeblättern und Baumstämmen interagieren kann. Diese Einschränkung sollte in der letzten Session als Herausforderung dienen, lebende Zellen mit Kleeblättern darzustellen. Das Ergebnis sieht wie folgt aus:

kara_slow

Java Kara liest das Spielfeld ein

kara_fast

Java Karas Game of Life (schnell)

Insgesamt war der Tag sehr lustig und lehrreich. Anfängliche Frustrationen verwandelten sich in Ehrgeiz und komplexe Programmiersprachen waren eine willkommene Herausforderung. Außerdem ist vielen Zweiflern klar geworden, dass man mit Ruby ganz schön elegant vom Fleck kommen kann ;)