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 --