Berlin Samstag und Sonntag

Berlin Samstag und Sonntag

Der Samstag begann sehr aufregend. Der Plan war, ein Päckchen mit Büchern und Zeitschriften per Post zu schicken, da ich sonst Übergepäck beim Rückflug gehabt hätte. Für neun Uhr hatten wir eine Reservierung fürs Frühstück. Die Poststellen, die wir gefunden hätten (die am Weg liegen) sperrten jedoch erst um neun auf, was zu einem logistischen Problem wurde. Das Päckchen mit zum Frühstück nehmen war keine Option. Warum wird später klar. Somit auf zum Bahnhof, Päckchen in ein Schließfach verfrachtet und ab zum Frühstück.

Für dieses Frühstück haben wir uns etwas besonderes überlegt. Wir haben in der Reichstagskuppel im Cafe Käfer einen Tisch reserviert. Das Frühstück war ein absoluter Traum! Logisch das es unpassend gewesen wäre das Päckchen für die Post dorthin mitzunehmen.

Nach einem kurzen Zwischenstop im Hotel für gemütlichere Klamotten und einem Halt bei der Post ging es dann wieder zurück in die Innenstadt. Da wir die letzten Tage viele, viele Kilometer gelaufen sind, haben wir uns für eine 2,5 h Spree Schifffahrt entschieden. Die Bedienung war sehr hilfsbereich und gab uns den Tip wir sollten im Haus Schwarzenberg vorbei schauen. Am Schiff selbst wimmelte es von überdrehten Kindern und unangenehmen, teils gelangweilten Touristen. Ein Kommentar den ich aufgeschnappt hab war “Hier wird ja nichts geboten” (Mensch, das ist eine Schifffahrt die dir Berlin näher bringen soll und kein Partyschiff…). 

Nach der Spree Fahrt haben wir den Superhelden Laden in der Nähe des Hackerschen Markt. Im Vergleich zum Elbenwald jedoch etwas entäuschend. Da Wochenende war, war das Aufgebot an Menschenmassen auf den Straßen unvorstellbar. Bewusst Straße, da sich die meisten Touristen nichts scheren. Wir beobachteten des öfteren Touris, die mitten auf der Straße standen, nur um ein Panoramafoto machen zu können.
Die Spitze jedoch war das Haus Schwarzberg. Keine Frage, sehr eindrucksvoll aber die Touristenhölle schlecht hin.

Bevor wir uns erschöpft von dem Tag Richtung Hotel aufmachten, stach uns Supreme Burger noch ins Aug.
In dem Moment echt geil! Ich weiß nicht ob es daran lag, das ich 10 Tage lang fast kein Fleisch gegessen hab, oder ich das Rindfleisch nicht vertragen hab, oder einfach zuviel gegessen hab aber mir ging es im Hotel dann leider gar nicht gut…. Der Magen war einfach überfordert. 

Nach dem Essen wurden wir von einem wunderhübschen Pärchen (innere und äußere Schönheit war kaum zu überbieten) von der Friedrichstraße bis zum Frühstück am Sonntag begleitet.

Am Sonntag ging es für uns Richtung Linz zurück. Nach einem ausgiebigen Frühstück und gemütlich unsere sieben Sachen zusammen packen ging es dann auf zum Flughafen Tegel. Dieses mal, Wunder geschehen noch, in einem klimatisierten Bus. Am Flughafen war es dann auch aus mit der Gemütlichkeit. Chaos pur. Aber anders kenn ich es auch nicht. Der Flieger spielte Hopel Hopel Hase mit uns. Ich glaube er hat kein Luftloch von Berlin nach Linz ausgelassen. Das schreite in Wien nach einem gemütlichen Absacker. Wie sich heraus stellte war das eine gute Idee, da wir somit unsere Nerven etwas stärkten, um die tollenden Kinder im Ruhewagen der ÖBB bis Linz zu “überleben” ohne selbst einen Schreikrampf zu bekommen.

Berlin Samstag und Sonntag

Unser Donnerstag & Freitag in Berlin

Mein vierter Tag in Berlin und unser gemeinsamer zweiter Tag begann gemütlich auf der Dachterrasse mit einem exzellenten Frühstück in der schon sehr kräftigen Morgensonne. Bei mir war es der letzte Konferenztag, der um viertel nach vier zu Ende war. Wir entschieden uns für eine ausführliche Erkundungstour der Hackeschen Höfe, da es sehr nach Regen aussah. Auf dem Weg dorthin kreuzte ein männliches Mädchen auf einem Identätsfindungstrip bootieshakender Weise unseren Weg und legte eine heiße Einlage in der S-Bahn hin. Natürlich mit Kopfhörern, um niemanden die Musik aufdrängen zu müssen.

Kaum angekommen, entlud sich der Himmel auch schon wieder. Natürlich hatte keiner von uns einen Regenschirm dabei, was wir prompt änderten…

Man beachte bitte die Emojis

Neben den Regenschirmen gab es natürlich jede Menge anderen Kram zu entdecken. Angefangen mit einer neuen, stylischen Mütze für Ines, neuen Ohrringen für mich bis hin zu Zeug das die Welt nie gebraucht hat. Durch die immer wieder starken Regengüsse war, zu unserem Glück, recht wenig los.

Nach einem ausführlichen Spaziergang, bei dem wir auch die Sophienhöfe beäugten und jede Menge abgefahrener Läden entdeckten, stoperten wir in einen türkischen Kleiderladen (tödlich für meine Börse, handgenähte Kleider und Röcke vom allerfeinsten).

Zum Abschluss des Tages gab es ein opulentes spanisches Abendessen mit jeder Menge Tappas. So lässt es sich aushalten 😉

 

Nach einem durchzogenen Morgen, Slack und Mailprogramm am Handy ist bis Sonntag auf Lautlos geschaltet, machten wir uns auf Richtung Apple Store auf, da ich ein Ersatzteil brauchte, das ich natürlich nicht bekam. Weder dort noch im Saturn (der sich über 3 Etagen breit machte….). Allerdings muss ich schon sagen, der Apple Store in Berlin ist schon eine Sache für sich. Ich glaube der in Linz (ist zwar kein offizieller Apple Store) passte dort 3x rein. Größer bedeutet aber nicht zwangsläufig kompetenter… Der Verkäufer bemühte sich jedoch sehr. Danach ging es Richtung Alexanderplatz, wo wir als vorzeige Touristen uns gleich den ersten Cocktail (bei mir war es ein Gin Tonic) genehmigten, bevor wir die Stadt und Geschäfte erkundeten.

 11 Uhr Vormittags, irgendwo anders ist es sicher schon 17 Uhr….
Nach einer ausgiebigen Ladenerkundungstour am Alex machten wir uns auf Richtung Nikolaiviertel.

Weg von den Touristenmassen, rein in das gemütliche Eck.

 Wir haben uns für den kleinen Snack dann doch für die Witwe Bolte entschieden, denn für die Nachspeise hab ich mir etwas besonderes überlegt.

 

Das Tiger Törtchen kannte ich von meinem letzten Besuch in Berlin. Einfach nur grandios. Ein Genuss für die Sinne! Ein Muss, wenn man in Berlin ist.

Ein seltener Anblick. Leere U-Bahn-Station in Berlin

Manchmal lohnt sich das Busfahren einfach. Ohne der hätte Ines nie vom Karneval der Kulturen erfahren. Ein großartiges Spektakel mit den schrägsten Leuten die man sich nur vorstellen kann. An der U-Bahn Station wurde ich durch einen Obdachlosen Arsch Grabscher begrüßt, am Festival selbst kamen uns von leicht bekleideten bis halb nackten vor Alkohol und Übermut strotzende halbstarke Jugendliche entgegen (Mädels nur mit Netzteilen behängt, ich denke da ist ihnen wohl der Stoff ausgegangen). Kulinarisch war hier alles vertreten, von afrikanisch bis indisch, von asiatisch bis amerikanisch und vegetarisch. Einen Wagen fanden wir, der es bei den Abmessungen der cl für die Cocktails auch nicht ganz so genau genommen hat. Für den sind wir sogar nochmal zurück gegangen.

Ines hat sich bei einem Swingtänzchen ausgetobt und eine heiße Sohle in den Asphalt gebrannt.

Nach rund 12 km auf den Beinen schleppten wir uns Richtung Hotel und testeten die Bar gegenüber unseres Hotels, das Times. Anscheinend ein recht beliebtes Lokal bei Griechen… Die Kommunikation über unseren Tisch hinweg, bzw. über Tischen von anderen Gästen hinweg scheint hier ganz selbstverständlich zu sein.

Mittwoch: 2. Konferenztag – Der Nachmittag

Mittwoch: 2. Konferenztag – Der Nachmittag

Am Nachmittag merkte ich, das es der zweite Konferenztag ist. Die Aufnahmefähigkeit nimmt suzessive ab… Von meinen Rechtschreibungsqualitäten möchte ich gar nicht reden. Wahrscheinlich werde ich in ein paar Wochen nochmal über die Beiträge drüber arbeiten 😉

14:15 – PHP to Hack, an incrementally typed Adventure at Slack

Tja das war mir jetzt etwas zu hoch, zu früh und zu Komplex um auf Englisch noch mitzukommen.

15:00 – Open-Source-Software und Quellcode aus dem Internet rechtssicher einbinden und nutzen

Hier wird Deutsches Recht diskutiert. Sollte aber ähnlich dem unseren sein….

nach Berner Übereinkunft: Copyrightsymbol entstanden
Erreichen der Schöpungshöhe: Die Untergrenze des Urheberrechtsschutzes ist klassischerweise niedrig angesetzt.
Wenn das Copyrightzeichen nicht dabei ist, ist es aber dennoch geschützt. Das eine hat nichts mit dem anderen zu tun.

HTML-Code und SQL-Statements sind eher nicht schutzfähig, was umstritten ist. Datenbanken und Benutzeroberlächen können grundsätzlich geschützt werden.

Lizenzen und Lizenzrecht
Rechte welcher Arten werden über Lizenzen erteilt.
Open Source / Freeware ist eine sogenannte Schenkung. Solange keine arglistige Täuschung vorliegt (z.B.: grober Fehler im Code den ich verschweige) bin ich Haftungsfrei.
Lizenzen kann ich nicht gutgläubig erwerben. Hier greift der “gutgläubige Käufer” Ansatz nicht.

Open Source-Lizenzen

BSD, MIT: “Mach mit meiner Softare was du willst – aber verklag mich nicht”
GPL und dgl: “Ich habe meine Software Open Source gemacht – und du solltest das auch tun.”

Strenges Copyleft: GPL
Eingeschränkts Copyleft: LGPL, CDDL, EPL
Kein Copyleft: MIT, BSD, Apache License

Copyleft
Copyleft-Lizenz fordert, dass auch die abgeleiteten Werke unter einer solchen Lizenz zur Verfügung gestellt werden
Sorgt somit dafür, dass Fortentwicklungen des freien Ur-Programms frei bleiben
Veränderungen sind nur erlaubt, wenn sie unter den gleichen Lizenzbedingungen weitergegeben werden.
Der Gedanke ist letzlich der Schutz der freien Software (vor Wandlung in proprietäre Software) – wenn man das verstanden hat, lösen sich alle weiteren Fragen von selbst.

Fallstricke für Unternehmen als Einsetzende von Open Source

  • Infizierung: Problem des sog. “Viralen Effekts” (werden Lizenzbedingungen nicht eingehalten, kann durch Copyleft-Effekte die Gesamte proprietäre Software infiziert werden. Schlimmstenfalls steht dann die gesamte Software unter Open Source Lizenz)
  • Kompatibilität von Lizenzen mit strengem Copyleft
  • Kompatibilität von Lizenzen mit eingeschränkten Copyleft

Zu dem Thema gibt es vom Vortragenden einen auführlichen Foliensatz der allerdings erst am 14. Juni für mich zur Verfügung steht…

Minifyer sollten so eingestellt sein, das Verweis auf Urheber drin bleibt sowie Link zum Originalquelltext. Zur Erklärung: Minifyer komprimieren den Entwicklern das Stylesheet und die JavaScript Files

Wo gebe ich Lizenzen an

  • im Quelltext
  • wenn User Interface, dann in der Lizenzübersicht
    Getrennt für jede Lizenz die Pakete einzeln auflisten
  • wenn auf einem Gerät ohne User Interface: Bspw: mit einem Label auf dem Gerät à la “Lizenzübersicht unter http://……/licenses.html” verweisen

GPL und LGPL: wo stelle ich meinen Sourcecode zur Verfügung, wenn laut Lizenz erforderlich?
Auf meiner Webseite eine eigene Seite erstellen, wo ich den Code zur Verfügung stelle nach jedem Release oder einen Written Offer online stellen. Wenn dann eine Anfrage kommt, Sourcecode schicken

Das abgeleitete Werk
Unbedingt versuchen darauf zu verzichten, dass es ein “derivative work” wird. Nur dann, wenn ich daraus eine eigene Komponente mache und meine Software über eine API damit kommunizieren lass. Denn dann muss ich nur die Komponente Open Source stellen aber nicht die gesamte Software.

Wenn Code aus dem Internet z.B. Stackoverflow: Urheber unbeding nennen!

Lizenzscanner

  • Blackduck (unheimlich teuer)
  • WhiteSource (eher wenig intuitiv in der Bedienung)
  • Sonarqube (noch nicht evaluiert)
  • Flexera

Können in übliche CI/CD Tools eingebunden werden wie GitLab
Können aber nicht sagen ob es ein “derivative work” ist. Ob das irgendwann noch möglich ist, wird sich zeigen.

Buchtip: Jäger – Open Source Lizenzen

16:15 – Undoing Things and saving your Neck with Git

Persönliche Einführung: Was kann man mit Git alles machen. Prinzipiell. Git wird in der Softwareentwicklung oft benutzt. Einerseits erleichtert es Teams miteinander an einem Projekt zu arbeiten, ohne den Code über USB Stick austauschen zu müssen, andererseits versioniert es die einzelnen Arbeitsschritte. Git bietet hierzu umfangreiche Möglichkeiten. Wenn Benutzer mit dem Terminal oder der Eingabeaufforderung nicht so vertraut sind, gibt es dementsprechend Programme die man sich installieren kann wie zum Beispiel Sourcetree oder SmartGit (kostenpflichtig)
Was ist ein Commit laut Wikipedia:

Als Commit oder Check-In bezeichnet man bei der Verwendung von Versionsverwaltungssystemen den Vorgang des Einspielens von neuem oder geändertem Quelltext und anderen Dateien in das Versionsverwaltungssystem. Dabei wird eine neue Version der Software den anderen an der Softwareentwicklung beteiligten Entwicklern zur Verfügung gestellt.

Leider hab ich die ersten paar Anweisungen verpasst, deshalb der Einstieg mitten drin.

  • Reverting a Commit in the Middle
    git revert – erstellt einen neuen Commit
    reset –mixed not hard, bedeutet er mischt die Veränderungen und zeigt diese als Lokale Änderungen an
  • Resetting a file to an old revision
    checkout a single file
    $ git checkout 6bcf266b – index.html

Reflog: Git Tool
Im Reflog ist alles dokumentiert. Das Reflog ist somit das Protokoll, das Tagebuch

  • Recovering Deleted Commits
    $ reflog
    $ git branch happy-ending ..commit-id..
  • Recovering a Deleting Branch
    $ git branch featuer/login ..commit-id..
  • Moving a Commit to a New Branch
    create new Branch and than reset head –hard
  • Moving a Commit to a Different Branch
    move to feature
    than cherry pick
    than go pack to master and clean up reset –hard

Was ist mit Interactive Rebase alles möglich:

Change Commit Text
$ git rebase -i Head~3 (for 3 steps)
reword instead pick. do not change the text from commit yet – save here
in the next step you could change the text

  • Deleting Old Commits
  • Squashing Multiple Commits Into One
  • Adding a Change to an Old Commit
  • Splitting / Editing an Old Commit

Link: https://www.git-tower.com/learn/git/first-aid-kit

17:15 – Diversity – a different Perspective

Sorry, today to much for me. Brain is overload.
Aber sie hat eine sehr energiereiche Art auf der Bühne zu interagieren.

Mittwoch: 2. Konferenztag – Der Nachmittag

Donnerstag – 3. Konferenztag

09:30 – Build your own Neural Network – with PHP!

von Vitor Brandao
Empfehlung des Vortragenden: Desin Mockups into Code with Deep Learning
https://blog.floydhub.com/turning-design-mockups-into-code-with-deep-learning/
1943: First Artificial Neuron
Machine Learning
given a set of inputs x, learn a function mappint to some known output
Rules and Data to Traditional Programming to become Ansers
Answers and Data To Machine Learning to get the rules?
We have Input Layer, hidden Layer and Output Layer
Training Approach

  • Start with random weights
  • predict based on input data
  • compare with target output
  • adjust network parameters
  • Repeat until we ar close enough

XOR – Erklärung laut Wikipedia:

Ein Exklusiv-Oder-Gatter, auch XOR-Gatter (von englisch eXclusive OR ‚exklusives Oder‘, „entweder oder“) ist ein Gatter mit mehreren Eingängen und einem Ausgang, bei dem der Ausgang genau dann logisch „1“ ist, wenn an einer ungeraden Anzahl von Eingängen „1“ anliegt und an den restlichen „0“. Die Exklusiv-Oder-Verknüpfung wird auch als Anti- oder Kontravalenz bezeichnet.
Für den einfachen Fall eines Exklusiv-Oder-Gatters mit zwei Eingängen bedeutet das, dass die Eingänge verschieden beschaltet sein müssen, um am Ausgang eine „1“ zu erhalten. Entweder an dem einen oder am anderen Eingang muss „1“ anliegen. Im Unterschied zu einer einfachen OR-Verknüpfung gilt die Bedingung als nicht erfüllt, wenn an beiden Eingängen eine „1“ anliegt. Bei Exklusiv-Oder ist das Ergebnis in diesem Fall eine „0“.

Alle Codebeispiele auf: github.com/noiselabs/byonn
Efficient PHP library for data scientists github.com/phpsci/phpsci
Artificial Neural Netoworks recap

  • inspired by the human brain
  • today we saw a feed-forward network (there are other architectures)
  • uses supervised Machine Learning (learn from examples)
  • error is minimised using Backpropagation and Descent
  • can approximate any function

Buchempfehlung: Hands-On Machine Learning with Scikit-Learn & TensorFlow

10:45 – Do PHP Frameworks still make Sense? Let’s go Frameworkless to focus on the Domain!

Damiano Petrugaro
Mein letzter englischer Vortrag. 😉
What is a framework?
An essential supporting structure of a building, vehicle, or object.
Symfony and Laravel sind im PHP Bereich die meist verwendesten Frameworks
Slim
Zend -> Expression
CakePHP, Yii, CodeIgniter
Importance of the framework

  • push for innovation
  • don’t reinvent the wheel
  • define new standards
  • easier for new joiners

PSR laut Wikipedia:

Eine PHP Standard Recommendation (PSR) ist eine PHP-Spezifikation, welche durch die PHP Framework Interop Group veröffentlicht wird. Ähnlich einem Java Specification Request in Java dient sie der Standardisierung von Programmierkonzepten. Ziel ist es die Interoperabilität von Komponenten zu ermöglichen und eine gemeinsame technische Basis zu schaffen oder bewährte Konzepte für einen guten Programmierstil sowie eine gute Testbarkeit von Komponenten umzusetzen. Verschiedene Frameworks wie z. B. die der TYPO3-Community, Symfony oder Zend implementieren hierbei PSR-Spezifikationen in einem selbst gewählten Umfang.

It’s all about dependency
The state of relying on or being controlled by someone or something else.
Framework = Dependency
Dependencies are bade
How to avoid them:
Applying a methodology as Domain Driven Design
The domain is not a dependency
DDD to the rescue
It enfores us to model the domain first. Then adapts the framework to it.
Strategic Design and Tactical Design
Slides: bit.ly/php-fw-ddd
bit.ly/ipc-dam

11:45 – Dark Patterns: Psychotricks, um Entscheidungen zu manipulieren

von Kay Radanitsch
Er hat das wirklich sehr gut vorgetragen und aufbereitet.
Priming Effekt
Mit Priming kann man die Wahrnehmung der Webseite durch Bilder manipulieren.
Nulloptionen sollten prinzipiell vermieden werden, da diese sowieso nicht gewählt werden. Beispiel hier ist zum Beispiel eine Softwarefirma die auf der Seite lediglich eine 30-Tage Testverion anbietet und sonst keine andere Wahl zur Verfügung stellt. Das nennt man Nulloption. Deshalb: Immer 2 Optionen zur Verfügung stellen. Eine mit hoher Hürde, eine mit niedriger Hürde.
Psychotricks die angewand werden:

  • Preisvergleich erschweren
  • Kosten verstecken
  • Misdirection – Kunden in eine andere Richtung führen (z.B. Skipping Link verstecken. Usability Muster so anlegen, das User es nicht sehen. Ist rechtlich erlaubt.)
  • Priming
  • Künstliche Verknappung, können mit anderen Methoden kombiniert werden zB Usability Pattern, Einschränkungen. Angebote knapp erscheinen lassen um den User zum Kaufen zu drängen. Bei Booking zum Beispiel ausgebuchte Hotels anzeigen um mehr Stress zu erzeugen.
    AdWords Budget von Booking im Quartal: 1,7 Mrd Dollar
  • Überladung: Besucher überfordern
  • Komplizierte Formulierungen damit sich der Besucher nicht auskennt.
  • Semiotik: Lehre von den Zeichen. Zum Beispiel Ampelsystem aber anstatt rot grau darstellen, dann wirkt es nicht ganz so schlimm für den User
    Beispiel: Bei einer Buchungsplattform werden Dinge die das Hotel nicht anbietet statt rot als ausgegraute Symbole dargestellt
  • Statisktik. Darstellung der Prozentangaben obliegt dem Anbieter. Zum Beispiel ein Hotel kann schlecht sein, jedoch in guter Lage somit ist die allgemeine Hotelbewertung recht gut.

Dark Pattern

  • Nagging – Wiederholtes Stören der normalen User Journey (PopUps, Ungewollte Werbung, Einschränkung der Funktionalität, zeitlicher Verzug, Audiovisuelle Störung)
  • Obstruction – Absichtliches Erschweren eines Prozesses, um dadurch den User zu einer nicht gewollten Handlung zu verleiten (schwer auffindbare Buttons, Lange Pfade, Zwischenwährungen)
  • Sneaking
  • Interface Interference – Absichtliches Anwenden von Usabilityfehlern, um den User auf falsche Pfade zu lenken (Asymmetriche Benutzeroberfläche, …)
  • forced Action – Aufbau einer zwangsähnlichen Situation. Benutzer muss eine bestimmte Aktion ausführen, um auf bestimmte Funktionen zuzugreifen (oder um weiterhin darauf zugreifen zu können)
  • In Aussicht stellen: sogenannte Karotte vor der Nase. Motivieren bzw. aktivieren der Benutzer. Zum Beispiel Versandkosten: ab 29 € Versandkostenfrei.
    Das Spiel mit der Motivation funktioniert vor allem bei introvertieren Menschen.
  • Sneaking
  • Foreced Action: Fake Captcha
  • Friend Help
  • Friend Spam: Die Hoheit und Selbstbestimmung mit wem wie kommuniziert wird geht verloren. Könnte auch growth hacking genannt werden
  • User Shaming
  • Adblock Switch: Negatives Empfinden im Unterbewussten
  • Difficult Unsubscribe auch oft mit User Shaming kombiniert

darkpatterns.uxp2.com
darkpatterns.org

14:15 – Deine Gamification stinkt!

Dominik Ehrenberg
Podcast meinscrumistkaputt.de
Blog zockworkorange.com
Was ist ein Spiel ?
Freiwillige Handlung, Beschäftigung mit festgesetzten Grenzen
Johan Huizinga: Homo Ludens – Standardwerk zu Gametheorie
Beschreibte 1938 schon Gamification
Bernard Suits – The Grasshopper: Playing a game is the voluntary attempt to overcome unnecessary obstacles. (1978)
Jane McGonigal – Reality is Broken: all games share four defining traits: a goal, rules, a feedback system, and voluntary participation.
A game is a problem-solving activity, approached with a playful attitude
Jesse Schell – The Art of Game Design
It is an invariable principle of all play… that whoever plays, plays freely. Whoever must play cannot play.
Was beinhalten die Definitionen

  • Freiwilligkeit: alles was ich im Spielbereich mache ist freiwillig. Von PS4 Spielen bis Brett spielen bis zu Sandkastenspielen von Kindern
  • Problemlösung: realweltliches Problem das ich spielerisch löse oder das Spiel gibt mir ein Problem das ich lösen soll. Probleme und Hinderniss vom Spiel die ich freiwillig löse. Innere Antriebskraft das Lösen zu wollen
  • Regeln und Hindernisse: Regeln die Hindernisse darstellen die ich akzeptieren muss und schauen muss wie ich damit umgehe. Diese Hindernisse wollen wir wieder freiwillig lösen. Künstliche Hindernisse und Regeln die uns vorgesetzt werden.
  • Alle definitionen gehen davon aus das es Freiwillig ist aber nirgends steckt in den Definitionen drin das es Spaß macht. Obwohl spielen wir weil es spaß macht.

Warum spielen wir
Unterschiedliche Untersuchungen.
Minding Animals, Awareness, Emotions and Heart […] von Marc Bekoff
Beobachtung von Tieren da ist das Spiel dazuda realweltliche Dinge zu lernen. Zum Beispiel: wie gehe ich mit Konflikten um, wie fest kann ich zubeißen bevor es dem Tier gegenüber weh tut….
self-determination theory
ein paar Kernpunkte: wie funktioniert Selbstbestimmung

  • Kompetenz: zB Videospiele geben Machtfantasie. Kompetenz erleben ist mit drin
  • Autonomie: User möchte Autonomie erleben und entscheiden wie ich es spiele, wann ich aufhöre, ob ich die Regeln verändere (bei zum Beispiel Brettspielen)
  • Verbundenheit: Durch das Spiel verschaffe ich Verbundenheit mit anderen Personen. Meisten Spiele sind so designt das man mit anderen spielt. Dadurch schaffe ich verbundenheit mit der spielenden Person. Vertiefe die Verbindung zu dieser Person. Die großen Spiele halten sich genau deshalb so lange (World of Warcraft, Overwatch, Counter Strike, usw.)

Motivation: Intrinsisch und Extrinsisch
Christoph Kolb – Gamification my ass

  • Intrinsische Motivation: von mir heraus, was treibt mich an, innerer Antrieb
  • Extrinsische Motivation: von außen motiviert,
  • Gesellschaft ist gut darin die Intrinsische Motivation durch extrinsische Motivation zu überschreiben (zum Beispiel durch Belohnungszahlungen, …)

Science – wissenschaftliche Studien
Tetris: (oder Candy Crash Saga)
hilft dabei PDBS (Posttraumatische Störungen) vorzubeugen
Logische Kombinationen belegen entsprechende Areale im Hirn, dadurch ist das Hirn nicht mehr in der Lage das schreckliche Ereigniss nicht auf den auszulösenden Trigger zu setzen

  • Superbetter:
    Gehirnschädeltraumata: wie kann ich mein Leben spielerisch gestalten um es zu bewältigen. Bei deprisiven Leuten schaffen es besser mit dem leben auszukommen. Kommen besser klar.
  • SnowWorld
    VR Erfahrung die Patienten mit starken Verbrennungen hilft. Die kalte Landschaft in einer virtuellen Umgebung sehen ertragen die schmerzhafte Behandlung besser
  • Bejeweled 2
    von der Entwicklerfirma gesponserte Wissenschaftliche Forschung: die Gehirnwellen tendieren angeblich eher in die positive Richtung.
  • SPARX
    Hilft Kindern mit Depressionen besser damit umzugehen. Ist ein Fantasy-Rollenspiel
  • Bravemind, Forschungsprojekt
    Versuchen mit VR und Spielen besser mit Posttraumatischen Störungen umzugehen (u.a. Kriegsveteran)
  • Re-Mission
    Ist für Kinderkrebspatienten. Haben fest gestellt das Kinder die dieses Spiel spielen eher die Behandlungengemacht  und die Tabletten genommen haben

Ludonarrative Dissonanz
Ludon – lat. spielen / narrative – lat. erzählen
Spielen und erzählen passen nicht zusammen. Entkopplung von Spiel und Handlung.
Gamification funktioniert deshalb oft nicht, da es einen Spielteil und einen Anwendungsteil gibt und die beiden passen oft nicht zusammen.
Medalification vs Gamification
Es ist oft keine Gamifiaction sondern eine Medalification, da der Benutzer jede Menge Medallien bekommt. sozusagen die Karotte um weiter zu machen.
Endogener Wert
Im Gamedesign besagt: welchen Wert hat etwas im Spiel oder ist es einfach unnötiger Fluff. Kann ich zum Beispiel wenn ich was sammle danach etwas damit anfangen oder wird einfach nur ein Balken voll.
Neugier
Neugier animiert mich ebenfalls zum Spielen oder weiterspielen. Kann ich meinen Rekord brechen. Kann ich besser werden und mich selbst schlagen?
Gameful Design
Jane McGonigal: We don’t need no stinkin’ badges

  • Positive Emotion
  • Relationships
  • Meaning
  • Accomplishment

blog.superbetter.com/gameful-design von McGonigalBuchempfehlungen wen man sich mit Gamification beschäftigt oder beschäftigen will:

  • The Ethics of Computer Games von Miguel Sicart
  • The Art of Game Design von Jesse Schell
  • Super Better von Jane McGonigal
  • Game Maker’s Toolkit – YouTube Channel von einem Gamer

Wichtig: Spielt Spiele! und danach reflektieren wie funktioniert das Spiel im Grunde
Entwickelt Spiele!

15:30 – Security by UX-Design

Enno Park
Beim Lesen des Inhaltes dachte ich mir, das klingt interessant. Der Herr war nur leider etwas falsch am Platz des Vortragenden. Eine sehr einschläfernde Wirkung. Ich denke viele sind aus Höflichkeit sitzen geblieben. Leider hab ich mir etwas schwer getan ihn ernst zu nehmen, nachdem Hacking (ausgesprochen [hæking]), von ihm ausgesprochen wurde, wie es geschrieben wird ([haking]).
Ich wär wahrscheinlich in einem anderen Vortrag besser aufgehoben gewesen…. Bei dieser Zusammenfassung, wird es keine Anmerkungen, Auführungen oder Kommentare geben.
Bringe die NutzerInnen dazu, sich unbewusst und von alleine sicherer zu verhalten, indem du deine Anwendung so gestaltest, dass sie nicht anders können.
Denkanstoß: Was wäre wenn Microsoft bereits in den 1990er Jahren eine transparente Public-Key-Verschlüsselung in Outlook als Default eingeführt hätte?
Hier doch eine Erklärung von mir: Was ist Public-Key-Verschlüsselung lt. Wikipedia

Asymmetrisches Kryptosystem ist ein Oberbegriff für Public-Key-Verschlüsselungsverfahren, Public-Key-Authentifizierung und digitale Signaturen. Das „asymmetrische Kryptosystem“ oder „Public-Key-Kryptosystem“ ist ein kryptographisches Verfahren, bei dem im Gegensatz zu einem symmetrischen Kryptosystem die kommunizierenden Parteien keinen gemeinsamen geheimen Schlüssel zu kennen brauchen. Jeder Benutzer erzeugt sein eigenes Schlüsselpaar, das aus einem geheimen Teil (privater Schlüssel) und einem nicht geheimen Teil (öffentlicher Schlüssel) besteht. Der öffentliche Schlüssel ermöglicht es jedem, Daten für den Besitzer des privaten Schlüssels zu verschlüsseln, dessen digitale Signaturen zu prüfen oder ihn zu authentifizieren. Der private Schlüssel ermöglicht es seinem Besitzer, mit dem öffentlichen Schlüssel verschlüsselte Daten zu entschlüsseln, digitale Signaturen zu erzeugen oder sich zu authentisieren.
Ein Public-Key-Verschlüsselungsverfahren ist ein Verfahren, um mit einem öffentlichen Schlüssel einen Klartext in einen Geheimtext umzuwandeln, aus dem der Klartext mit einem privaten Schlüssel wieder gewonnen werden kann.

Auch 2019 ein Ding: Keine Passwörter im Klartext speichern. (was er nicht sagt….)
Login gestalten

  • Visualisierung der Passwort-Stärke – Balkenanzeige, oder gleich verhindern das sie sich mit schwachen Passwort anlegen können
  • Passwort-Generator gleich in Login-Form mitliefern
  • Passwörter automatisch mit einschlägigen Leaks abgleichen
  • Nutzername statt E-Mail-Adresse
  • Haustier und Lieblingslehrer als Sicherheitsabfrage sind unbrauchbar
  • Auf Single-Sign-On verzichten
  • 2-Faktor-Authentifizierung erzwingen
  • Auf HTML-Mails verzichten
  • Falls du E-Mail-Provider bist: biete catch-all-E-Mail-Adressen an

Zu User-Experience gehört auch die langfristige Erfahrung, nicht gehackt (gesprochen von ihm: [gehakt]) worden zu sein, seine Lieblingsapp nicht in den Schlagzeilen gelesen zu haben und sich bei der Benutzung sicher fühlen zu können.
— Ende —

Berlin Samstag und Sonntag

Der Mittwoch – kurz und bündig

Auf der Konferenz hatte ich an dem Tag gleich zweimal das Glück bei einem Gewinnspiel als Sieger hervor zu gehen.


Eine nette Ergänzung zum Arduino Starter Kit.

Zusätzlich habe ich beim Entwickler Kiosk ein gratis Tutorial gewonnen, das ich mir runter laden kann. Mal sehen was sie so im Angebot haben.

Nach der Konferenz haben wir uns am Mittwoch Abend für asiatische Küche entschieden, Creasia. Der dritte Abend in Folge für mich, aber es war köstlich. Nach zwei Cocktails im a

m to pm (kannte ich schon von meinem letzten Besuch, Happy Hour von 17 Uhr bis keine Ahnung) war es dringend notwendig was in den Magen zu bekommen.

Bis wir im Hotel waren, war es dann halb zehn oder so. Mehr als tot umfallen, war nicht mehr möglich.

 

Mittwoch: 2. Konferenztag – Der Nachmittag

Mittwoch: 2. Konferenztag – Der Vormittag

Mir drängt sich die Vermutung auf das entweder die U-Bahnen, S-Bahnen und Busse keine Klimaanlage haben oder diese nicht einschalten wollen… Herrlich bei 27 Grad um 9 Uhr morgens….

09:30 – Modern SQL: Evolution of a Dinosaur

Wir beginnen den Tag mit einem englischen Vortrag von Markus Winand. Interessantes Englisch.

Er beschreibt die Unterschiede der verschiedenen SQL Versionen und was bei den Statements so dazugekommen ist.
Interessante Ausführung über die over() Klausel bei SQL Statements. Zur Erklärung: SQL wird benötigt um Daten aus einer Datenbank auszulesen, zu ändern oder zu löschen.
Die over() – Klausel: Aggregiert ohne GroupBy, es nimmt den Durchschnittswert

SQL: 2011 hatte die offset-Klausel, die Abfragen verlangsamt und meist falsche Werte liefert
Snippet:
OVER(ODER BY …
ROWS BETWEEN 1 PRECEDING
 and 1 PRECEDING)


Einfacher mit LAG()
select *, balance,
COALESCE (LAG(balance),
OVER(oder By x), 0)
from t

Verfügbare Funktionen unter anderem wären lead und lag
System Versioning (Time Traveling) ist auch noch ein spannendes Thema auf das er eingeht. Grundlegend sind insert, update, delete destruktiv. Tabellen können somit Systemversionen, Anwendungsversionen oder beides sein.

mit for & as for kann alles abgefragt werden was man will:
select * from t for system_time as for timestamp ‘2019-05-05 10:30:00’

Hier hab ich den Vortrag dann abgebrochen, da es mir für Code Beispiele, SQL Abfragen und die feinen Unterschiede auf Englisch eindeutig zu Früh war. Das Hirn war noch nicht ganz wach dafür….

10:45 – Introduction to Architectural Katas

Frank Sons

Interessant, er spricht über die 4 Werte des agilen Manifests. Auch wenns auf englisch ist, kommt mir das doch sehr bekannt vor. Allgemein hätte man den Vortrag lebendiger gestalten können. Wurde am Ende etwas langatmig und langweilig.

Der Unterschied zwischen einem Meister und einem Anfänger? Der Meister scheiterte meist schon öfter der als Anfänger.

Was ist ein Kata
a kata is an exercise in karate where you repeat a form many, many times, making littel improvements in each. – codekata.com

Die grundlegende Idee hinter Kata
Überschaubar in Größe und Dauer. Machen Sie Fehler, scheitern Sie und sammeln Sie Erfahrungen in einer Gruppe.

Wie funktioniert es – simple: Einführung -> Planung -> Präsentation -> Feedback

Die “Regeln”

  • Sie können dem Kursleiter Fragen zum Projekt stellen
  • Sie müssen bereit sein, eine grobe architektonische Vision des Projekts zu präsentieren und Fragen dazu zu verteidigen
  • Sie müssen bereit sein, Fragen zu den Präsentationen anderer Teilnehmer zu stellen
  • Sie können sicher Annahmen über Technologien treffen, die Sie nicht gut kennen, solange diese Annahmen klar definiert und formuliert sind.
  • Sie können möglicherweise nicht davon ausgehen, dass Sie die Befugnis haben, das Entwicklungsteam zu beauftragen
  • Jede Technologie ist ein faires Spiel (aber Sie müssen den Einsatz rechtfertigen)
  • Irgendwelche anderen Regeln, nach denen Sie vielleicht fragen

Ein Kata Beispiel: “We’re taking requests”
Ein lokaler Radiosender möchte DJs enger mit ihrem Publikum verbinden, damit die Zuschauer Songs anfordern, über gerade abgespielte Songs abstimmen, über die tägliche Playlist des DJs abstimmen können und so weiter.
Benutzer: unsicher; was auch immer die lokale “Musik” -Community ist
Anforderungen: zeitnah mit der Musik auf dem Ari synchronisiert; Abstimmungsmechanismus für Benutzer; Erreichbarkeit von Mobilgeräten

Meist ist es ein 2-tägiger Workshop mit 4 Katas. 2 Katas jeden Tag. Es ist cool, mit einem Whiteboard zu arbeiten, aber nicht zwingend Notwendig. Der erste Schritt besteht darin, zu zeigen, wo sich die Benutzer befinden, und dann die Usecases zu überprüfen.

Wikipedia beschreibt Kata wie folgt:

Kata (Programmierung)
Kata bezeichnet in der Programmierung eine kleine, abgeschlossene Übung. Der Name rührt aus den japanischen Kampfkünsten her (vergleiche Kata) und betont die Bedeutung von Praxis und häufiger Wiederholung für das Lernen. Der Begriff wurde 2007 von Dave Thomas geprägt. In seinem Blog CodeKata stellt Thomas zurzeit 21 Übungen vor. Das Kata Manifesto nennt zusätzlich sicheres Experimentieren, Vielfalt und gemeinsames Lernen als wichtige Aspekte. Eine Kata hat demnach nicht nur eine Lösung des gestellten Problems, sondern soll auf verschiedene Arten und mit unterschiedlichen Techniken implementiert werden. Die individuelle Lösung des gestellten Problems an sich ist ein klares Nicht-Ziel, weshalb triviale Probleme wie das Fizz Buzz Kata eine gute Einführung sind.
Die den Begriff prägende Clean-Code-Bewegung betrachtet Programmierung als Fertigkeit (im Gegensatz zu einer Programmierkunst oder Ingenieursleistung) und Katas als Möglichkeit, zu lernen, technische Schulden gar nicht erst aufzubauen. Oft wird die Durchführung von Katas mit testgetriebener Entwicklung empfohlen.

12:00 – Webanimationen effizient einsetzen

Nachdem ich mir zwei englische Vorträge schon am Vormittag reingezogen habe, wird es jetzt der deutsche Vortrag. Auch wenn es mir um den anderen Vortrag echt leid tut…
Vortragender ist Daniel Connerth.
Brauchen wir wirklich Animationen? Grundsätzlich nein. Animationen sind aber die Farben im Web. Unterstützt das Verständnis von komplexen Informationen. Es ist ein klassisches Storytelling Prinzip.
77% der Benutzer reagieren besser auf visuelle Informationen als auf reinen Text. Die Integration von Multimedia auf einer Webseite steigert die Conversion um 80%.
Animation/Interaction/Social Engagement erzeugen Emotionen.
Durch visuelles und interaktives Storytelling lässt sich die Komplexität eines Themas deutlich herunter brechen und besser aufbereiten.

too often we see boring “animate in” animations with no reason.
Das schädigt den Ruf. Animationen sollten eingesetzt werden um etwas zu erreichen und nicht der Animation wegen.

Web Animations: The Ultimate Guide
Eine Animation ist die Visualisierung von Veränderungen über eine Zeitperiode

Tip: free flat animated preloaders für Webseiten auf pinterest zu finden

In welchen Bereichen nutze ich Animationen
1. UI Animation: User Interface Animation. Sind dazu da um den User zu führen, Kontext besser zu verstehen, mit Interface besser zurecht zu kommen. Mit kleinen Spielerein kann man User bei Fails milde stimmen (wenn zum Beispiel der Download nicht funktioniert dafür jedoch eine lustige Animation abläuft)
2. Storytelling: Geschichten erzählen mit Animationen.

Gelungenes Beispiel für Storytelling: http://www.sbs.com.au/theboat/

Challenges
Problem: Design in the Browser – heißt soviel wie das Design im Browser erstellen
für Animation benötigt man Expertise aus Design/Storytelling/Redakteur und Coding für eine saubere Umsetzung

eine der stabilsten Tools am Markt: https://greensock.com/

Adobe Animate CC – Tool für Animationen ist das komplexeste Tool
Tumult Hype https://tumult.com/hype/ – Für IOS keine Windows Version
Google Web Designer – Hauptsächlich für Banner, alles andere wird mühsam

SVG vs Canvas Overview: gibt kein Richtig oder Falsch. Canvas rendert sehr viel, mehr als SVG. SVG kann in den Details hacken. Je mehr Ankerpunkte und Objekte desto länger die Renderzeit

Animation ist nicht gleich Animation!
Think inside the Box! Bei Animationen ist weniger oft mehr.
Vorab sollte man immer überlegen, was hab ich, wo sind die Kernkompetenzen.

Beispiel: Bilder mit den Mouse Koordinaten verbinden, bewegen das Bild leicht wenn man mit der Mouse umher fährt
oder
Hochformatiges Foto: beim Einstieg in die Seite bewegt sich das Bild von oben nach unten. Sieht aus wie ein Video ist aber ein Bild.
gute Effekte erzielt man auch mit Hover Deklaration im CSS auf Bilder. um Beispiel: Foto mit Truhe zu. Mouse Hover: Truhe offen

Adobe XD im kleinen Kostenlos nutzbar. Werd ich mir anschauen 😉
Für einfache Animationen.

Fazit: Sehr spannend und gut aufbereitet. Viel Info in kurzer Zeit.