Beim Surfen im Internet sind wir es gewohnt, eigenständig durch Klicken und Scrollen zu navigieren. Wir bestimmen selbst, welche Treffer bei einer Recherche relevant sind und welche Teile von Websites interessant erscheinen. Wenn jedoch ein Video aufgerufen wird, entwickeln wir uns häufig zu passiven Zuschauern.
Bei interaktiven Videos ist das nicht der Fall! So können zum Beispiel verschiedene Teile des Videos in individueller Reihenfolge oder weiterführende Inhalte durch Verlinkungen aufgerufen werden. Auch zusätzliche Elemente, wie Quizfragen sind möglich.1 Doch wie können Bibliotheken dieses Format für ihre Nutzer*innen einsetzen?
Interaktive Videos in wissenschaftlichen Bibliotheken
Wissenschaftliche Bibliotheken richten ihren Bestand vor allem auf das wissenschaftliche Studium und die Forschung aus. Die Benutzer setzen sich vorwiegend aus Studierenden und Wissenschaftlern zusammen.2 Hier besteht ein großes Interesse an digitalen Lehrangeboten in den Bereichen:
Interaktive Videos sind ein wichtiger Bestandteil des E-Learnings für Studierende, aber auch für anderweitig Interessierte. Die interaktiven Elemente helfen dabei, das Wissen zu erproben und Defizite selbstständig festzustellen.4 Ein Beispiel liefert die Bibliothek Wirtschaft & Management der TU Berlin, welche eine interaktive Bibliothekstour (Einloggen als Gast mit dem Passwort: DBWM) zur Verfügung stellt, um den Studierenden die Bibliothek auf elektronische Weise näher zu bringen.
Interaktive Videos in öffentlichen Bibliotheken
In öffentlichen Bibliotheken können interaktive Videos ebenfalls für Rechercheschulungen oder Bibliotheksführungen genutzt werden. Die Zielgruppen sind jedoch andere. So richten sich Angebote einer Stadtbibliothek an verschiedene Bevölkerungsgruppen, wie beispielsweise an Schulkinder. Deshalb sollten auch interaktive Videos der Büchereien auf diese ausgerichtet und verständlich für sie sein. Folgendes Video erklärt den booleschen Operator UND anhand von einfachen Beispielen:
Allerdings enthält das Video keine interaktiven Elemente. Möglichkeiten, diese durch h5p oder andere Tools einzubinden, könnten sein:
Zuordnung der grünen Häkchen und roten Kreuze zu den Eigenschaften der Autos
Ja/Nein-Fragen oder Multiple Choice, welche Autos zur Anfrage passen
Weiterführende Kapitel zu OR oder NOT als Pfad mit Auswahlmöglichkeit integrieren
Bibliotheksführungen durch Rallyes
Anstelle von Bibliotheksführungen können Rallyes konzipiert werden, in denen auch Videos integriert sind. Dafür kann die Anwendung Actionbound genutzt werden, mit der eine Art Schnitzeljagd und das Sammeln von Punkten möglich ist.6 Es können beispielsweise Bounds mit Erklärvideos und anschließenden Aufgaben innerhalb der Bücherei eingebunden werden.7
Das entspricht zwar nicht einem interaktiven Video an sich, hat aber den gleichen Effekt: Es wird sich aktiv mit den Inhalten auseinandergesetzt und die Teilnehmenden können gleichzeitig ihr Wissen überprüfen.
Abschlussquiz
Überprüfen Sie hier Ihr Wissen über den Beitrag. Viel Spaß!
Quellen
1 Lehner, Franz (2011): Interaktive Videos als neues Medium für das eLearning. HMD Praxis der Wirtschaftsinformatik Jg. 48, H. 1, S. 51-62. Online unter https://doi.org/10.1007/BF03340549 [Abruf am 28.01.2022]
2 Gantert, Klaus (2016): Bibliothekarisches Grundwissen. 9., vollständig neu bearbeitete und erweiterte Auflage. Berlin, Boston: De Gruyter Saur. Online unter https://doi.org/10.1515/9783110321500 [E Book]
4 Schlottke, Natalie (2021): Die Anwendung des Modells „Komplexitätsstufen von aktivierenden Lernressourcen“ auf die Förderung von Informationskompetenz in deutschen Hochschulbibliotheken. Brake (Unterweser). Online unter https://doi.org/10.25968/opus-1856 [Bachelorarbeit]
6 Nachtwey, Frank (2017): Bibliotheken und mobiles Lernen. Neue Services zur Wissensvermittlung. In: Thissen, Frank (Hg.): Lernen in virtuellen Räumen. Perspektiven des mobilen Lernens. Berlin, Boston: De Gruyter Saur, (Lernwelten) S. 110-124. Online unter https://doi.org/10.1515/9783110501131-008 [E-Book]
7 Zwick, Simon; Lengler, Cynthia; Hamer, Ilka; Güzelmeriç, Annette; Schatz, Eugenie; Wiethoff, Dörthe; Küpper, Florian; Deeg, Christoph (2016): Die Bibliothek spielerisch entdecken mit der Lern-App Actionbound. In: Bibliothek Forschung und Praxis, Jg. 40, Nr. 1, S. 50–63. Online unter https://doi.org/10.1515/bfp-2016-0005
Der Anteil an Smarten Sexspielzeugen nimmt immer weiter zu, allerdings stellen Sicherheitslücken und mangelnde Datensparsamkeit bei den Geräten ein Problem dar.
Im Jahr 2018 stellte Werner Schober in seinem Vortrag auf dem Chaos Communication Congress mit dem Titel Internet of Dongs – A long way to a vibrant Futureden Inhalt seiner Recherche zu den Security-Problemen bei dem Device “Vibratissimo Panty Buster” vor. Die Recherche bildete die Grundlage seiner Diplomarbeit. Bei einem Penetration Test war es ihm möglich, auf die Hersteller-Datenbank, auf dessen Server und dadurch auch auf Nutzer:innendaten, wie explizite Fotos, Chatverläufe, sexuelle Orientierung, E-Mail Adressen, gespeicherte Passwörter in Klartext, etc., zuzugreifen. Außerdem konnte er sowohl über die App, als auch über eine Bluetooth-Verbindung auf fremde Geräte zugreifen und diese steuern.
Seitdem hat die Zahl von sogenannten Smarten Sextoys immer weiter zugenommen. Laut einer Recherche von Juniper Research waren im Jahr 2019 etwa 19 Millionen dieser Geräte im Einsatz. 2020 stieg die Zahl um 87% auf 36 Millionen an. Die Zahl der bekannt gewordenen Sicherheitslücken stieg mit. Es sind sozusagen sexuell übertragbare Sicherheitslücken.
Diese Entwicklung bringt zahlreiche Risiken für die eigene (IT-)Sicherheit mit sich. Beispielsweise gelang es Hackern, Kontrolle über einen Smarten Keuschheitsgürtel zu übernehmen. Die Angreifer verlangten von ihren Opfern ein Lösegeld von 0.02 Bitcoin (entspricht derzeit etwa 674 €). “Your Cock is mine now”, lautete die Erpresser-Botschaft der Hacker. Die Schwachstelle, eine ungeschützte API (Programmierschnittstelle), wurde bereits im Oktober des Vorjahres bekannt.
The Cellmate chastity lock works by allowing a trusted partner to remotely lock and unlock the chamber over Bluetooth using a mobile app. That app communicates with the lock using an API. But that API was left open and without a password, allowing anyone to take complete control of any user’s device.
Diesen Vorfall griff auch der Comedian John Oliver in seiner Show “Last Week Tonight” auf.
Doch nicht nur ungeschützte APIs und ungesicherte Bluetooth-Verbindungen sind ein Problem: Viele Devices wollen zusätzlich auf viele Daten zugreifen, die sie in der Nutzung überhaupt nicht brauchen. So will beispielsweise ein Beckenbodentrainer des Herstellers “Perifit”, mit dem man Spiele wie “Flappybird” steuern kann, Zugriff u.a. auf Kontakte, Gesundheits- und Fitnessdaten sowie Standort der Nutzer:innen. Man kann von einem regelrechten Datenfetisch der Hersteller sprechen.
Viele dieser Smarten Sextoys werden teuer verkauft. Die Shops, in denen sie vertrieben werden, werben mit diskreter Verpackung und dem Schutz der Privatsphäre beim Versand.
Die Produkte sind oft sehr kostspielig und Verkäufer und Hersteller betonen die hohe Qualität der Produkte. Die Sicherheit, die den Käufer:innen hier vermittelt wird, lässt sich im Digitalen leider vermissen.
Es wäre schön, wenn Hersteller dies in Zukunft stärker in Betracht ziehen würden.
Letztenendes ist es am Besten beim Kauf darauf zu achten, auf welche Nutzer:innendaten (z.B. Kontakte, Suchverlauf im Browser, Standort) die zugehörigen Apps zugreifen möchten und diese Zugriffe gegebenenfalls in den Telefoneinstellungen zu unterbinden. Gerade beim Kauf von Sexspielzeug, dessen Missbrauch körperliche Schäden verursachen kann (z.B. ButtPlugs, die sich nicht mehr entfernen lassen), ist es empfehlenswert, auf manuelle Möglichkeiten der Deaktivierung zu achten.
Wer auf dem neuesten Stand bleiben möchte oder sogar helfen will, Smarte Sextoys sicherer zu machen, sollte sich unbedingt die folgenden Blogs anschauen:
Welche Bibliothek kennt es nicht? Die Website wurde vor 20 Jahren erstellt und seither nicht mehr überarbeitet – und das sieht man ihr auch an. So ganz stimmt das natürlich nicht, es kommen schließlich regelmäßig neue Unterseiten für jede neue Dienstleistung, jedes neue Projekt und jede neue Datenbank hinzu. Vom Entfernen, wenn es die Datenbank 5 Jahre später gar nicht mehr gibt, war ja nie die Rede…
Es muss also eine neue Website her. Und diesmal richtig! Diesmal achten wir auf eine ordentliche UX! Aber was ist das eigentlich…?
UX steht für „User Experience“. Dabei geht es nicht nur um die Nutzerfreundlichkeit (Usability) während der Nutzung, sondern auch um die Effekte vor und nach dem Besuch der Website. Die Nutzung soll Spaß machen („Joy of Use“), es geht um Ästhetik und Emotionen. [1] Weg vom einfachen Website-Besuch, hin zum Online-Erlebnis! Noch ausführlicher erklärt wird der Begriff UX, und alles, was er beinhaltet, in folgendem Video (Achtung: Appetit auf Pizza vorprogrammiert!):
Wir kennen jetzt also den Unterschied zwischen UX und Usability – oder?
Nun wollen wir unsere neue Website mit unserem dazugewonnenen Wissen neu ausrichten. Bevor wir aber mit dem UX-Design anfangen können, müssen einige Vorbereitungen getroffen werden.
Schritt 1: Probleme der alten Website analysieren
Um Probleme bei der neuen Website zu vermeiden, müssen erstmal die Probleme der alten Website gefunden werden. Ein gute Methode dafür ist die Nutzung eines Analysetools um ausführliche Statistiken über Page Views, Bounce Rates etc. zu erhalten. Die Enoch Pratt Free Library hat bei dieser Analyse beispielsweise herausgefunden, dass über die Hälfte der Seiten ihrer Internetpräsenz weniger als 5 Besuche pro Jahr erhalten und die am häufigsten besuchten Seiten mit über 10.000 Aufrufen pro Jahr nur 2% der Seiten ausmachen. [2] Keep that in mind – mehr dazu später!
Weitere häufige Probleme sind:
mangelnde Aktualität von Inhalten
unübersichtliches Design – besonders auf Mobilgeräten
schlechte Performance der Website
schlechte Benennung von Datenbanken und Angeboten: Weiß jede*r Besucher*in, dass sich hinter dem OPAC der Bibliothekskatalog versteckt?
Schritt 2: Ziele und Zielgruppe
Unsere Zielgruppe ist – besonders im Bereich von öffentlichen Bibliotheken – sehr heterogen. Beispielsweise stellen Jugendliche andere Erwartung an eine Website als Senior*innen und auch die Erfahrungen mit dem Internet sind sehr unterschiedlich. Daher sollte sich die Seite am schwächsten Glied orientieren und die Bedienung so simpel und eindeutig wie möglich sein. Auch die Digital Natives werden sich hierüber nicht beschweren!
Neben der Zielgruppe ist auch die Zielsetzung der Website wichtig. Was soll überhaupt mit der Bereitstellung erreicht werden? Soll die Seite nur bestehende oder auch potenzielle neue Nutzer*innen ansprechen? Soll die Seite Interaktion ermöglichen? Sollen die Nutzer*innen nur erledigen, wofür sie gekommen sind, oder darüber hinaus positiv überrascht werden und Neues entdecken?
Soll heißen: Wer nur die Öffnungszeiten der Bibliothek herausfinden möchte, nimmt die schnelle blaue Route durch das Labyrinth. Der rote “Umweg” wäre frustrierend. Wer aber gerne Zeit im Labyrinth verbringt, wird auf der roten Route das ein oder andere neue Bibliotheksangebot entdecken. Welcher Weg bietet also die bessere User Experience? Das kann sehr subjektiv sein. Es gilt: Eine gute Usability wird selten explizit wahrgenommen, schlechte Usability hingegen schon. [3]
Schritt 3: Struktur und Design
Jetzt können wir uns endlich der neuen Website widmen. Eine gute Idee ist es, die grundlegende Struktur der Seite durch ein Wireframe darzustellen, bevor im Anschluss das Design – also Logos, Farben, Schriftarten, etc. – implementiert wird.
Unerlässlich für jede Website ist heutzutage ein sogenanntes responsive design, d.h. ein Design, das sich flexibel auf jedes Endgerät einstellt.
„Mobile First“ lautet die Devise! Immerhin ist das Smartphone das meistgenutzte Endgerät zum Surfen, wie Studien zeigen. Daher werden Websites heutzutage für mobile Endgeräte optimiert, Desktop-PCs sind nachrangig. Eine übersichtliche Navigation entsteht hierdurch zwangsläufig.
Ebenso selbstverständlich wie ein responsives Design ist die Barrierefreiheit, um beispielsweise Menschen mit Sehbeeinträchtigungen den Besuch der Website zu erleichtern. Inklusion ist eben nicht nur im Bibliotheksgebäude eine Notwendigkeit.
Schritt 4: Inhalt
Mutig sein!
Durch die Analyse zu Beginn haben wir erfahren, welche Inhalte die Nutzer*innen interessieren und vor allem: welche nicht. Und wenn die Seite noch so schön den monatlichen Töpferkreis aus den 90ern beschreibt und damals furchtbar viel Arbeit bei der Erstellung bereitet hat: Wenn es niemanden interessiert, kommt es raus. Die Enoch Pratt Free Library hat z.B. bei ihrem Re-Design mehr als 1000(!) Seiten entfernt (Ihr erinnert euch: Die Seiten, die weniger als 5 Klicks im Jahr hatten). [2]
Die Themen, die die Besucher*innen am meisten interessieren (vermutlich Öffnungszeiten u.ä.) sollten so leicht wie möglich erreichbar sein, gerade auch auf der mobilen Seite. [2]
Ein Weg, um die vielfältigen Informationen für die verschiedenen Zielgruppen gezielt an den Mann (die Frau, das Kind, die Jugendlichen…) zu bringen, können verschiedene Bereiche für die jeweiligen Gruppen sein.
In einer Bibliothek geht es nicht nur darum, das zu finden, was man sucht, sondern auch das zu finden, von dem man noch gar nicht wusste, dass man es sucht.
Der Online-Katalog sollte daher auf der Bibliothekswebsite nicht nur in Form eines Links auftauchen, sondern bestenfalls vollständige in die Website integriert sein. In die Bereiche für die einzelnen Zielgruppen können zielgruppengerechte Medienvorschläge direkt eingespeist werden – so wie man in der physischen Bibliothek auch Medien durch Frontalpräsentation besonders bewerben würde.
Apropos bewerben: Jede Bibliothek kennt wahrscheinlich das Problem, dass sie tolle digitale Angebote wie bestimmte Datenbanken vorhält, diese aber kaum genutzt werden. Eventuell kann dies an den nichtssagenden Namen liegen – wer weiß schon, dass sich hinter Overdrive ein ähnlicher Anbieter wie die Onleihe verbirgt? Man kann auch nicht davon ausgehen, dass jeder Nutzer Rosetta Stone gleich mit Sprachen verbindet. Solchen Angeboten klare Namen und Beschreibungen zu geben, kann hier also helfen.
Schritt 5: Auswertung und Ausblick
Nachdem die Website programmiert, getestet und hoffentlich erfolgreich eingeführt wurde, können die gleichen Statistiken wie vor der Umstellung erhoben werden. Diesmal natürlich mit hoffentlich besseren Zahlen (falls nicht: diesen Beitrag nochmals lesen & umsetzen).
Die Enoch Pratt Free Library konnte z.B. allein seit Einführung der neuen Website im August 2020 bis Ende 2020 die Bounce Rate um 11,25% verringern. Die Besuche auf bestimmten Seiten erhöhten sich um 57% bis 245%. [2]
Und so kann eine erfolgreiche Umarbeitung dann aussehen:
Für die Zukunft ist es wichtig zu beachten: Die Website ist wie der Medienbestand. Auch ihre Inhalte müssen gepflegt, aktuell gehalten und bei Bedarf ausgesondert werden.
Schlusswort:
Die Website der Bibliothek sollte nicht einfach als Website von Bibliothekar*innen für Bibliothekar*innen betrachtet werden, sondern als virtuelle Zweigstelle für die Nutzer*innen der Bibliothek. Wie eingangs bereits getitelt: Die Website soll nicht über die Bibliothek sein, die Website soll die Bibliothek sein.
@mreidsma The site is most overtly “about the library” when it should be that the site *is* the library.
Im Gegensatz zum statischen Content wird bei interaktiven Inhalten der dynamische Content herangezogen. Das heißt, dass es nicht nur gewöhnliche Texte zum Lesen gibt oder Bilder nur betrachtet werden. Bei interaktiven Inhalten wird der Benutzer auch aktiv in das Geschehen eingebunden. Dadurch wird die Aufmerksamkeit erregt und gewonnen. Daher steigt auch die Motivation sich mit den Inhalten des jeweiligen Themas auseinanderzusetzen. Doch wie kommen diese interaktiven Inhalte zustande? Dafür ist es wichtig zu verstehen, was H5P ist, was es anbietet und wie es funktioniert.
In den letzten Jahren hat H5P zunehmend an Bedeutung gewonnen. Dabei handelt es sich um eine Open-Source-Software, die von der Firma Joubel im Jahr 2013 im Auftrag der NDLA (“Norwegian Digital Learning Arena”) entwickelt wurde. Für den Einsatz in (Hoch-)Schulen bietet H5P seit einigen Jahren einen kostenpflichtigen Hosting-Dienst mit zusätzlichen hochwertigen Funktionen an. Diese sind auch für den Einsatz in der Firmenumgebung interessant.
H5P basiert auf modernen Standards wie HTML5, CSS3 und Javascript. Der H5P-Kern ist dabei teils in Javascript, teils in einer Server-spezifischen Programmiersprache wie z. B. PHP geschrieben. Da aber die meisten Funktionalitäten aus Javascript stammen, ist der Teil des H5P-Cores, der portiert werden muss, so klein wie möglich gehalten. H5P kann somit auf unterschiedliche Web-Publishing-Systeme portiert und mit vorhandenen LMS („Lern-Management-Systemen“), wie Moodle, Totara, WordPress oder Drupal, integriert werden. Mittlerweile bieten auch proprietäre LMS, wie etwa Neon LMS, eine H5P-Integration.[1]
Optimierung Ihrer Website mit H5P
H5P macht es einfach, HTML5-Inhalte und -Anwendungen zu erstellen, teilen und wiederverwenden. H5P ermöglicht es jedem, reichhaltige und interaktive Weberlebnisse effizienter zu gestalten– alles, was Sie dazu benötigen, ist ein Webbrowser und eine Website mit einem H5P-Plug-in.[2]
Mobilfreundlicher Inhalt
H5P-Inhalte sind reaktionsschnell und mobilfreundlich. Das bedeutet, dass Benutzer auf Computern, Smartphones und Tablets dieselben reichhaltigen interaktiven Inhalte erleben.[2]
Reichhaltige Inhalte teilen
H5P ermöglicht es bestehenden CMS und LMS, reichhaltigere Inhalte zu erstellen. Mit H5P können Autoren interaktive Videos, Präsentationen, Spiele, Werbung und mehr erstellen und bearbeiten. Inhalte können importiert und exportiert werden. Zum Anzeigen oder Bearbeiten von H5P-Inhalten wird lediglich ein Webbrowser benötigt. H5P-Inhaltstypen und -Anwendungen werden auf H5P.org geteilt. Sie können auf jeder H5P-fähigen Website wie H5P.com oder Ihrer eigenen Drupal- oder WordPress-Website, mit installiertem H5P-Plug-in, erstellt werden.[2]
Kostenlos zu verwenden
H5P ist eine völlig kostenlose und offene Technologie, lizenziert mit der MIT-Lizenz. Demos/Downloads, Anleitungen und Dokumentationen sind für Benutzer verfügbar, die der Community beitreten möchten.[2]
VorteilevonH5P
H5P ist kostenlos verfügbar
H5P ist eine Open-Source-Software und ein Community-Projekt, – jeder kann mitmachen
Keine Programmierkenntnisse notwendig – dank des intuitiven H5P-Editors und der zahlreichen Anleitungen auf H5P.org ist das Erstellen von interaktiven Inhalten kinderleicht
Mehr als 40 Inhaltstypen – und es werden ständig mehr
H5P Inhalte können mit anderen geteilt und wiederverwendet werden
Responsives Design – Interaktionen passen sich allen Endgeräten an
Anwendungsmöglichkeiten
Arten der H5P-Einbettung
Die erste Möglichkeit, H5P einzubetten ist, indem man den Inhalt auf H5P.com erstellt und ihn direkt in die gewünschte Seite einbettet oder über einen direkten Link darauf zugreift. Dafür wird kein LMS benötigt.[3]
H5P.com ist eine SaaS-Lösung (“Software-as-a-Service”), das sind cloudbasierte Anwendungen, die über den Webbrowser aufgerufen werden können.[4] Über LTI („Learning-Tools-Interoperability“) können externe Tools, Inhalte und Aktivitäten, die online verfügbar sind, in LMS eingebunden werden. [5] Beispiele dafür sind Moodle LTI Integration, Canvas LTI Integration, Brightspace LTI Integration und Blackboard LTI Integration. H5P.com kann mit fast allen LMS und Systemen, die LTI unterstützen, verwendet werden.[3]
Wenn man H5P selbst hosten möchte, ist dies durch die Verwendung kostenfreier Plug-ins möglich. Offizielle Plug-ins liegen für Drupal, WordPress, und Moodle vor. Es liegen aber von der Community erstellte Plug-ins für weitere Plattformen vor. [3]
Achtung, dies ist nur möglich, wenn Sie als Administrator oder als Benutzer angemeldet sind, denn zum Erstellen einer H5P-Aktivität müssen Sie die Berechtigung in dem entsprechenden Kurs haben.
Gehen Sie zu dem Kurs, in den Sie einen H5P-Inhalt hinzufügen möchten. Es sollte sich ein Fenster öffnen, in das Sie Aktivitäten oder Ressourcen hinzufügen können. Dort klicken Sie auf den Plus-Button. Es öffnet sich ein weiteres Fenster, in dem Sie Aktivitäten oder Ressourcen hinzufügen können. Dort klicken Sie auf „H5P“ in der Kategorie „interaktiver Inhalt“ und fügen diese hinzu. Daraufhin müssen Sie einen Inhaltstypen auswählen, um den H5P-Hub zu öffnen. Sobald sich dieser öffnet, können Sie aus mehreren Inhaltstypen entscheiden, welchen Sie einbauen möchten. Nachdem Sie sich einen ausgesucht haben, rufen Sie ihn auf, wodurch Sie auf die Detailseite des Inhaltstypen gelangen. Dort können Sie die Einzelheiten zu beliebigen Inhaltstypen nachlesen.
Um einen Inhaltstypen zu installieren, müssen Sie rechts daneben auf „Installieren“ klicken. Sobald der Inhaltstyp installiert ist, ist er bereit, eingesetzt zu werden. Sobald Sie nun auf „Verwenden“ klicken, öffnet sich direkt der Editor. Wenn Updates zur Verfügung stehen, werden Sie darüber informiert.
Im H5P-Hub können Sie vorhandene H5P-Inhalte hochladen. Klicken Sie dazu oben auf die Registerkarte „Hochladen“. Sie müssen dann nur noch den Vorgang beenden und Ihre Aktivitäten abspeichern.[7]
Zusammenfassend kann man sagen, dass H5P eine cloudbasierte Anwendung ist, die durch entsprechende Plug-ins in verschiedensten Webseiten integriert werden kann. Dazu zählen auch LMS („Lern-Management-Systeme“).
Lehrende können interaktive Videos, Präsentationen, Spiele und mehr verwenden, um Inhalte zu vermitteln oder übersichtlich darzustellen.
Beschäftigt man sich mit der Erstellung von Webseiten, begegnen einem früher oder später auch die Begriffe User Experience (UX) und Search Engine Optimization (SEO). Wenn Du diese Begriffe noch für komplettes Neuland hältst, bist Du hier genau richtig. Beleuchten wollen wir dabei die Kombination von User Experience und SEO. Nach einer kurzen Einführung in das Thema werden wir anhand einiger entscheidender Hintergründe nachvollziehen, weshalb User Experience und SEO immer stärker im Zusammenhang betrachtet werden.
Aufgrund der beobachteten Annäherung von SEO und User Experience gewinnt auch Search Experience Optimization (SXO) an Bedeutung. Denn diese Bezeichnung vereint beide Disziplinen. Dabei eröffnet sich ein spannender Themenkomplex, der hoffentlich auch einige Mitstudierende des Informationsmanagements motiviert, sich (noch) näher mit User Experience und SEO zu beschäftigen.
Anschließend an diesen Beitrag kannst Du in einem kleinen Quiz Dein neues Wissen über SEO und UX testen!
User Experience und SEO, was ist das überhaupt? Zunächst schauen wir uns die Definition beider Begriffe an. Anschließend wollen wir mit diesem Hintergrundwissen in das zentrale Thema, der Kombination von User Experience und SEO, einsteigen.
User Experience (UX)
User Experience einerseits, abgekürzt auch einfach UX, betrachtet die Nutzererfahrung auf allen Ebenen. Das bedeutet, alle Empfindungen und Reaktionen vor, während und nach der Nutzung eines beliebigen Produkts beeinflussen die User Experience.[1] In Verbindung mit SEO stehen in diesem Beitrag Webseiten und deren Gestaltung im Mittelpunkt. Das Ziel von UX-Expertinnen und UX-Experten ist, die Produktnutzung so angenehm und unterhaltsam wie möglich zu gestalten.
Ein weiterer, häufig gebrauchter Begriff im Zusammenhang mit Web Design ist Usability. Um User Experience zu verstehen ist es hilfreich, Usability erst einmal getrennt davon zu betrachten. Gemeint ist damit die Gebrauchstauglichkeit und somit Nutzerfreundlichkeit einer Webseite aus technischer Sicht. Demnach wird untersucht, ob alle Elemente ohne Komplikationen funktionieren und zu finden sind. Häufig fällt allerdings nur eine negative Usability auf, wie einigen Beiträgen zu diesem Thema zu entnehmen ist. Gute Gebrauchstauglichkeit hingegen bleibt eher unauffällig. Folglich sind keine Beschwerden bezüglich der Nutzbarkeit schon beinahe positiv zu bewerten.[2]
Im Gegensatz dazu ist für die Nutzererfahrung eine ganzheitliche Betrachtung von Bedeutung. Technische Aspekte wie die Gebrauchstauglichkeit spielen zwar auch eine Rolle, jedoch niemals die alleinige. Werden demzufolge ästhetische Gesichtspunkte und Emotionen im Einklang mit der technischen Nutzbarkeit gesehen, geht es um User Experience.[1]
SEO
SEO andererseits steht für Search Engine Optimization, auf Deutsch Suchmaschinenoptimierung. Dabei beschäftigt man sich mit der Verbesserung der Auffindbarkeit von Webseiten in Suchmaschinen. Darüber hinaus steht diese Abkürzung gelegentlich auch als Synonym für die Person eines Suchmaschinenoptimierers (SEO Manager).
Vereinfacht ausgedrückt beschreibt der Begriff User Experience die Menschensichtund SEO die Maschinensicht auf Web-Inhalte. Doch welche Gemeinsamkeiten gibt es zwischen diesen beiden Gestaltungseinflüssen?
Entwicklung von SEO
Das Ziel dieses Beitrags ist, wie zuvor erwähnt, Berührungspunkte von SEO und UX herauszustellen. Dafür schauen wir uns zunächst die Entwicklungsgeschichte von SEO an. Als Beispiel wollen wir uns im Folgenden auf Google beziehen. Wie unten abgebildeter Karte zu entnehmen ist, ist Google unangefochtener weltweiter Marktführer. Eine Ausnahme stellt China dar, mit seiner eigenen Suchmaschine Baidu.
Der weltweite Marktanteil von Google betrug im Januar 2021 91.86 % (s. o.). In Deutschland erreichte Google einen Anteil von 91.56 %. Als zweitgrößte Suchmaschine wird in Deutschland Bing genutzt (5.23 %). Weitere Suchmaschinen mit geringeren Anteilen sind Ecosia, DuckDuckGo oder Yahoo.[3]
SEO – Black Hat-Methoden
Die Reihenfolge (Ranking) in den Suchmaschinen-Trefferseiten (SERPs) wird anfangs in erster Linie von technischen und inhaltlichen Merkmalen beeinflusst. Markus Hübener hat diese beispielsweise in einem “9-Punkte-Optimierungsplan” im Jahr 2009 beschrieben.[4] Auffälligerweise sind darin aber noch keine eindeutigen Kriterien für User Experience mit einbezogen.
Ursprünglich wurden also die Technik, der Inhalt (Content) und auch Verlinkungen als Basiskriterien für das Ranking herangezogen. Aus technischer Sicht sind dabei etwa die Ladegeschwindigkeit und Indexierbarkeit durch Webcrawler zu beachten. Als inhaltliche Aspekte sind dafür vor allem die Semantik und Suchwörter (Keywords) heranzuziehen. Bei den Links sind dann Rückverweise auf die eigene Webseite (Backlinks) von besonderem Interesse.[5] Die Kenntnis darüber führt jedoch auch zu bewussten Manipulationen von Webseiten, um ein hohes Ranking in der Ergebnisliste zu erzielen. Unerlaubte Optimierungsarten dabei werden auch Black Hat genannt. Im Gegensatz dazu werden erlaubte Taktiken als White Hat bezeichnet.
Folgende Verfahren können wir zu den Black Hat-Methoden zählen:
Reaktionen von Google auf unerwünschte SEO
Um betrügerisches Verhalten aufzudecken entwickelt Google seine Algorithmen stets weiter. Infolgedessen werden überoptimierte Webseiten durch Verbannung von den hohen Rankingplätzen abgestraft. Zu den dazu gehörigen Meilensteinen zählt das sogenannte “Panda-Update” im Jahr 2011. In Bezug auf die Content Farmen war es anfangs auch als “Farmer Update” bekannt. Darauf folgte ein besonders wichtiges Update aus dem Jahr 2015, genannt “RankBrain”. Seitdem beeinflusst es vor allem die Sprachsuche unter erstmaligem Einsatz von Machine Learning. Nicht zuletzt verbesserte Google mit dem “Fred-Update” im Jahr 2017 den Bewertungsalgorithmus für die Inhaltsqualität von Webseiten erneut.[6], [7]
Jedes Unternehmen hat eine Geschichte, diese wird häufig auf der Unternehmenswebsite dargestellt. Doch wie kann man sich als Unternehmen von anderen abheben und die (potenziellen) Kunden und User ansprechen?
Eine Möglichkeit, um das zu erreichen ist das sogenannte “Scrollytelling”, bei dem Storytelling auf eine interaktive und kreative Ebene gehoben wird. Dem User wird mithilfe von unterschiedlichen Scroll-Techniken eine Geschichte auf eine neue und interessante Art übermittelt.
Einige Beispiele von Scrollytelling auf hohem Niveau:
Um die „Über uns“-Seite des Unternehmens „Cleantaxx“ spannender und interaktiver zu gestalten, kann der User durch die Implementierung von Scrollytelling die Seite selbst steuern. Durch Scrollen wird die Geschichte des Unternehmens erzählt, so dass der User auf die Reise in die Geschichte von Cleantaxx mitgenommen wird und sich ein Bild über das Unternehmen machen kann.
Das Ziel ist es, die Informationen auf interaktive Art zu vermitteln und den User zu ermutigen weiter zu scrollen und ihn zu animieren bis zum Ende dranzubleiben. Dabei sollen die Informationen weiterhin auf eine seriöse Art übermittelt werden.
Aufbau
Der User wird mit einem Intro-Video begrüßt, das er selbst durch Scrollen steuert. Beim Runterscrollen wird das Video abgespielt und durch Hochscrollen kann es wieder zurückgespult werden. Danach erhält der User mit einem kurzen Text die wesentlichen Informationen über das Unternehmen.
Anschließend beginnt die Unternehmensgeschichte, wobei man auch diese selbst steuert. Beginnend mit dem Jahr 2009 kann der User durch Scrollen die wichtigsten Ereignisse des Unternehmens erscheinen lassen. Auf der Reise durch die Unternehmensgeschichte wird der User von einem grünen Punkt auf der Timeline begleitet. Die blauen Punkte zeigen die wichtigsten Ereignisse im Verlauf der Jahre an, die erscheinen wenn man runterscrollt.
Code
HTML
Da wir uns auf die Animation konzentrieren wollen und uns nicht mit dem Aufbau einer gesamten Website beschäftigen wollen ist der Header nur beispielhaft als Screenshot im Code eingefügt.
Der Content befindet sich innerhalb des Bodys in div-containern, angefangen mit dem Intro-Video und einem Text in der Mitte des Videos (welcher mithilfe von JavaScript durch scrollen verschwindet).
Nach dem Video folgt ein Block mit einer kurzen Einführung zum Unternehmen und anschließend ist die Timeline platziert. Diese enthält in div-containern mit der Klasse “timeline-item” die Boxen links und rechts vom Zeitstrahl. Auf der Timeline haben wir für jedes timeline-item ein Timeline-Icon erstellt, welches ein wichtiges Ereignis darstellt. Im div “timelineContent” ist für jedes Ereignis die Jahreszahl, ein Bild und ein Text angegeben. Mithilfe der id’s “content1” etc. identifizieren wir im JS-Teil die Boxen, um sie pinnen zu können. Die fadeIn Klassen sind ebenfalls für den JS-Teil wichtig, damit wir die verschiedenen Elemente nacheinander erscheinen lassen können.
<!--Info übers Unternehmen-->
<div class="container">
<div id="info">
<h1>Unternehmen</h1>
<h2> Cleantaxx gehört in der Branche zu den Unternehmen mit der meisten Erfahrung im Bereich der Rußfilterreinigung. Jeden Tag liefern wir eine umweltschonende Alternative zum Neukauf. Trotz der anhaltenden positiven Entwicklung mit dem stetigen Wachstum sind wir ein flexibles, wegweisendes Unternehmen mit flachen Hierarchien geblieben. </h2>
</div>
<div id="timeline">
<!--Box für Jahr 2009-->
<div class="timelineItem">
<div class="timelineIcon2"></div>
<div class="timelineIcon"></div>
<div class="timelineContent" id="content1">
<h2>2009</h2>
<img class="fadeIn" src="https://i.ibb.co/5xRmdw2/benjamin-kleemann-cleantaxx-geschaeftsfuehrer.jpg">
<p class="fadeIn">Benjamin Kleemann gründete im Jahr 2009 nach einem Jahr Marktforschung das Unternehmen Cleantaxx. Geschaffen wurde damit ein unabhängiger Dienstleister für die Reinigung von Dieselpartikelfiltern (DPF). Das Unternehmen bietet seitdem maßgeschneiderte Lösungen für Hersteller, Händler, Werkstätten und Anwender. Gereinigt werden alle Dieselpartikelfilter, herstellerübergreifend vom PKW bis zum Schiff – für alles was mit einem Dieselmotor angetrieben wird. Die Säulen der Cleantaxx-Reinigung bilden eine taggleiche Logistik, eine umfangreiche Prüfung und Dokumentation, sowie eine zertifizierte und schonende Reinigung innerhalb 24 Stunden.
</p>
</div>
</div>
Die beschriebene Vorgehensweise haben wir für jedes Ereignis angewendet. Im Body haben wir außerdem die verschiedenen JS-libraries bzw. Plugins angegeben, die wir verwenden wollen. Abschließend haben wir einen beispielhaften Footer eingefügt.
Um das Layout unserer Webseite zu formatieren, haben wir ein externes CSS-Stylesheet verwendet. Mithilfe des CSS-Stylesheet können wir Bilder, Box, Container, Video, Header, Textkörper, Links und Logogröße, Farbe und Stil, Aussehen und Positionierung der Timeline sowie den Abstand zwischen Elementen steuern und angeben, wie Elemente positioniert und angeordnet werden sollen. Box-sizing, html Seite, Body und Footer
Die gesamte Timeline-Struktur wurde ebenfalls mit CSS erstellt, indem man die Timeline-Breite, Farbe, Länge, Position, Paddings und Margins definiert und die Boxen an den Seiten der Linie anordnet und zwischen den linken und rechten Containern unterscheidet, indem man sie auf eine andere Klasse definiert.
Wir haben auch in den CSS-Dateiklassen definiert, die zu einigen Elementen hinzugefügt werden müssen, um Animationen von JavaScript aus anzuwenden. Zum Beispiel die Klasse “appear”, die hinzugefügt wird, damit die Elemente mit der Klasse eingeblendet werden, indem die Deckkraft des Elements mit Leichtigkeit (Opacity) von 0 auf 1 geändert wird.
Die “appear”-Klasse wird auch Elementen mit der Klasse timelineContent hinzugefügt, um sie mit einem Einblendeffektnach rechts und links und umgekehrt durch Ändern der Deckkraft und der Transformationsachse gleiten zu lassen.
Die gewünschte Funktion in diesem Code besteht darin, das “Timeline content -div” aus der Richtung des Punktes in der Timeline an seinen Platz gleiten zu lassen und den darin enthaltenen Inhalt (das Bild und den Text) erscheinen zu lassen, sobald der Inhalt nach unten gescrollt wurden.
Um diese Funktion in JavaScript zu erreichen, haben wir das IntersectionObserver() “Interface” (eine Art von Objekt) verwendet. Der IntersectionObserver()-Konstruktor erstellt ein neues IntersectionObserver-Objekt und gibt es zurück. Es benötigt zwei Parameter: callback und options (optional).
Callback-Parameter: Eine Funktion, die aufgerufen wird, wenn der Prozentsatz des Zielelements sichtbar ist, einen Schwellenwert” threshold” überschreitet. Der Callback erhielt als Eingabe zwei Parameter: entries und Observer.
entries: Ein Array von IntersectionObserverEntry-Objekten, von denen jedes einen überschrittenen ” threshold” darstellt und entweder sichtbar wird als der durch diesen ” threshold” angegebene Prozentsatz.
Observer: Der IntersectionObserver, für den der Rückruf aufgerufen wird.
Options-Parameter: Ein optionales Objekt, das den observer anpasst.
rootMargin: Um sicherzustellen, dass es syntaktisch korrekt ist
thresholds: Um sicherzustellen, dass sie alle im Bereich von 0,0 bis einschließlich 1,0 liegen.
In der Callback-Funktion haben wir eine foreach-Schleife definiert, die jeden Eintrag “Entry” durchläuft und prüft, ob der IntersectionObserver schneidet oder nicht. Und um Fehler zu vermeiden, geben wir die Funktion das Befehl “return”, falls sie sich nicht überschneidet. Aber wenn es sich überschneidet, soll die Funktion, die classList (appear) hinzuzufügen, die wir in CSS erstellt haben, die die Elemente erscheinen oder von links und rechts gleiten lässt. Danach haben wir die Funktion erstellt haben nachgerufen mit der (unobserved) Methode, damit die Funktion stoppt, sobald sie ihr definiertes Ziel erreicht.
Und weil die definierten Optionen zu schnell waren, um bemerkt zu werden, haben wir den Schwellenwert auf eins und den rootMargin auf: 0px 0px -50px 0px festgelegt Damit die Animation funktioniert, sobald wir zum Inhalt herunterscrollen.
Schließlich, um die Aktion zum Leben zu erwecken, wir rufen es mit einer ForEach-Schleife auf, die in die definierten Elemente (sliders und Faders) geht. und wendet die definierte Funktion (appearOnScroll und slideOnScroll) mit der Methode Observe an.
• sliders: wählt alle Elemente aus, die die Klasse “.timelineContent” haben • faders: wählt alle Elemente aus, die die Klasse “.fadeIn” haben
//------------------Einsliden Options----------------------
const sliderOptions= {
threshold: 0,
rootMargin: "0px 0px -50px 0px"
};
//------------Observer für von rechts und links------------
const slideOnScroll = new IntersectionObserver(function(
entries,
slideOnScroll
) {
entries.forEach(entry => {
if (!entry.isIntersecting) {
return;
} else {
entry.target.classList.add("appear");
slideOnScroll.unobserve(entry.target);
}
});
},
sliderOptions);
sliders.forEach(slider => {
slideOnScroll.observe(slider);
});
Video-Animation
Um diese Animation umsetzen zu können werden verschiedene Libraries benötigt. Eine davon ist ScrollMagic, welche es ermöglicht auf Scroll zu animieren. Zusätzlich verwenden wir GSAP (genauer gesagt TweenMax), um den Text animieren zu können. Eine sinnvolle Hilfe die wir benutzt haben ist die das debug Plugin von ScrollMagic namens “addIndicators”, welches rechts am Bildschirm Indikatoren für die Trigger einfügt (wie der Name schon sagt).
Um ScrollMagic zu implementieren wird ein Controller im Code benötigt. Anschließend kann man anfangen die verschiedenen Szenen zu erstellen und dem Controller hinzuzufügen, wobei jede Szene ein Teil vom Code ist, den man animieren möchte.
Die erste Szene beschäftigt sich mit der Animation des Videos. In der Szene gibt es verschiedene Optionen, wie die Dauer (wie viele Pixel soll gescrollt werden), das Trigger-Element (wann soll die Animation starten, wobei 0=oben, 0.5=Mitte, 1=unten) und die Trigger-Hook (wo auf dem Bildschirm soll das Element getriggert werden. Sobald der “Haken” auf das Element trifft, wird es animiert.
Anschließend muss die Szene durch “.addTo(controller);” dem Controller hinzugefügt werden. Um einen Pin zu setzen, damit das Video für die Dauer der Animation haften bleibt verwenden wir “.setPin(intro);”. Hier kann man ebenfalls die Indikatoren für Hook, Start und Ende mithilfe von “.addIndicators();” anzeigen lassen.
const intro = document.querySelector(".intro");
const video = intro.querySelector("video");
const text = intro.querySelector("h1");
//----------------------ScrollMagic-------------------------
const controller = new ScrollMagic.Controller();
//------------------------Szenen----------------------------
//------------------------Video-----------------------------
let scene = new ScrollMagic.Scene({
duration: 5000,
triggerElement: intro,
triggerHook: 0
})
.addIndicators()
.setPin(intro)
.addTo(controller);
Nach allen Szenen animieren wir nun das Video, wozu wir einige Variablen benötigen. Da wir nicht wollen, dass das Video beim scrolleln abgehackt aussieht, programmieren wir einen ease-Effekt. Mithilfe von einem Delay, wird das Video nachdem man aufhört zu scrollen noch kurz weiter abgespielt.
accelamount = ease-Effekt am Ende (das was von den Frames noch übrig ist)
scrollpos = Wo gescrollt wird
delay = Soll aufholen wohin wir scrollen
(Um Sekunden zu erhalten, teilen wir die Scroll-Position durch 1000.) Als letztes setzen wir ein Intervall, in dem wir dem delay das hinzufügen was gescrollt wird und es um 0.1 beschleunigen. Um den ease-Effekt nun zu erhalten geben wir an, dass video.currentTime = delay sein soll.
Um nun den Text zu animieren, sodass dieser nicht die ganze Zeit in der Mitte des Video bleibt, erstellen wir eine neue Szene. In der neuen Szene geben wir erneut an, wie weit gescrollt werden soll, was das Trigger-Element ist und wo die Trigger-Hook sein soll. Um es zu animieren brauchen wir Tweenmax, in dem wir angeben, dass der Text innerhalb von 3 Sekunden von einer opacity (Deckkraft) von 1 zu einer opacity von 0 gehen soll. In der soeben erstellten Szene setzen wir nun noch einen Tween, damit der Text nicht einach nach 3 Sekunden verschwindet, sondern durch scrollen verschwindet.
Damit wir den Content, also die Boxen mit dem Inhalt, anpinnen können, brauchen wir jeweils eine ScrollMagic-Szene pro Box. Wie auch schon bei der Szene des Videos, geben wir die Dauer, das Trigger-Element und die Position der Trigger-Hook an. In diesem Fall wollen wir, dass jede Box für 300 Pixel angepinnt wird (es also trotz scrollen hängen bleibt). In jeder Szene ordnen wir dem Trigger-Element die entsprechende ID zu, sodass die Boxen nacheinander angepinnt werden.
//---------------------Pin Content--------------------------
var scene4 = new ScrollMagic.Scene({
duration: 400,
triggerElement: "#content1",
triggerHook: 0.1
})
.setPin("#content1")
.addIndicators({name: "1 (duration: 400)"})
.addTo(controller);
var scene5 = new ScrollMagic.Scene({
duration: 400,
triggerElement: "#content2",
triggerHook: 0.1
})
.setPin("#content2")
.addIndicators({name: "2 (duration: 400)"})
.addTo(controller);
//-----------------Und so weiter...--------------------
Die gleiche Methode verwenden wir auch, um den grünen Punkt in der Mitte anzupinnen und mitlaufen zu lassen.
//----------------------Pin Punkt---------------------------
var scene3 = new ScrollMagic.Scene({
duration: 6200,
triggerElement: ".timelineContent",
triggerHook: 0.1
})
.setPin(".timelineIcon2")
.addIndicators({name: "Punkt"})
.addTo(controller);
Anmerkung
Das in unserer Animation verwendete Unternehmen Cleantaxx weiß von unserem Projekt, wir haben es jedoch nicht in Zusammenarbeit mit dem Unternehmen erstellt, sondern eigenständig und rein für unsere MM-SYS Abgabe. Wir sind nicht Urheber des Contents, welches wir in der Animation verwendet haben, haben jedoch die Erlaubnis bekommen den Content ihrer Seite zu verwenden. Nach Absprache mit uns dürfte das Unternehmen Cleantaxx die Animation zu eigenen Zwecken verwenden, falls gewünscht.
Dieser Beitrag ist im Studiengang Informationsmanagement an der Hochschule Hannover im Rahmen des Kurses Entwicklung von Multimediasystemen (Sommersemester 2021, Amy Linh Hoang, Prof. Dr.-Ing. Steinberg) entstanden. Verwendete Techniken sind HTML5, CSS3 und JavaScript. Die besten Tutorials stellen wir Euch hier in den nächsten Wochen nach und nach vor.
In diesem Tutorial zeigen wir, wie man eine interaktive Animation entwickeln kann. Wir stellen dazu unsere Animation vor und gehen auf das Konzept, Techniken und Besonderheiten der Animation sowie Ausschnitte des Quellcodes ein.
Bei unserer Animation handelt es sich um das kleine, interaktive Spiel “Magic Garten”, durch das sich der User mit Hilfe von Buttons weiter klicken kann. Das Ziel des Spiels ist es, Blumen in einem Garten zu pflanzen und diese wachsen zu lassen. Dabei kann man zwischen drei verschiedenen Arten von Blumen wählen. Außerdem können die Blumen u.a . auch mit Hilfe einer Gießkanne gegossen werden, damit sie weiter wachsen.
Die Idee zu dieser Animation kam dadurch, dass wir, unabhängig von der Person, die es spielt, für jeden User einen interessanten Zeitvertreib für Zwischendurch entwickeln wollten. Vor allem, soll sie aber Kindern Spaß machen. Die Darstellung der Elemente ist im Comic-Stil gehalten und die Hintergrundmusik verstärkt den Spiele-Charakter.
Das Ziel der Animation ist es, den User mit Hilfe von interaktiven Elementen durch die einzelnen Schritte des Spiels zu führen, damit er im Magic Garten die Blumen pflanzen kann. Dazu gibt es einen helfenden Charakter: eine Biene “Maja”, die den User mit hilfreichen Informationen zu den jeweiligen Schritten des Spiels versorgt. Über die interaktiven Buttons gelangt er entweder zum nächsten Schritt des Spiels oder erhält Anweisungen, was im jeweiligen Schritt zu tun ist. Die Anweisungen erscheinen mit Hilfe von visuellen Effekten in einer Sprechblase.
Insgesamt erfüllt die Animation daher zwei Funktionen: Die erste Funktion bezieht sich auf den Inhalt der Animation und ist das Spiel an sich, bei dem der User die Blumen einpflanzen und wachsen lassen soll sowie das Erzählen der Story, indem sich der User durch die einzelnen Szenen klickt. Die zweite Funktion ist die Optik, die den User zum Spielen animieren soll. Dafür wurden Elemente und visuelle Effekte eingebaut, die das Spiel attraktiver gestalten, wie z. B. die Biene, die den User durch das Spiel begleitet und die lachende Sonne, die über den Garten scheint.
Die Animation besteht aus 4 Szenen, die den User vom Intro bis zu den fertig gewachsenen Blumen leiten. Außerdem sind im Spiel auch Entscheidungen für den User eingebaut, die den weiteren Verlauf der Animation bestimmen.
Aufbau der Animation
Die Animation besteht insgesamt aus 4 aufeinander folgenden Szenen:
Erste Szene: Start und Intro
Der erste Teil der Animation ist der Startbildschirm mit dem Titelbild des Spiels. Hier befindet sich der “Play”-Button, über den der User zur ersten Szene gelangt. Zu Beginn erscheint die Biene “Maja”, die sich vorstellt dem User eine kurze Einführung in das Spiel gibt. Anschließend fordert sie ihn dazu auf, mit dem Spiel zu beginnen und Blumen zu pflanzen. Dazu erscheint der Button “Blumen auswählen”, über den der User in die zweite Szene gelangt, um die Art der Blume, die er pflanzen möchte, auszuwählen.
Zweite Szene: Auswählen und Pflanzen von Blumen
Sobald der User auf “Blumen auswählen” geklickt hat, erscheinen drei Beutel mit verschiedenen Blumensamen, die Lieblingsblumen von Maja. Jeder Beutel zeigt auch das Bild der jeweiligen Blume. Fährt der Spieler mit der Maus über die Bilder der Blumen, sagt Maja auch etwas zu der jeweiligen Blumenart über ihre Sprechblase. Unter jedem Beutel gibt es den Button “Auswählen” und mit einem weiteren Klick auf den ausgewählten Beutel beginnt das Einpflanzen. Der Beutel beginnt anschließend, die Samen automatisch im Garten zu pflanzen und es sprießen bereits kleine Pflanzen.
Dritte Szene: Blumen gießen und wachsen lassen
Während des Spiels gibt Maja hilfreiche Tipps zum Spielverlauf. In dieser Szene freut sie sich über die eingepflanzten Blumen und macht auf die Gießkanne aufmerksam, mit der der User die Blumen gießen kann, damit sie wachsen. Der User kann sie Gießkanne anklicken, um sie hoch zu heben und mit der Maus anschließend darüber fahren, um mit dem Gießen zu beginnen. Als nächstes gibt Maja den Tipp, die Blumen nun in der Sonne weiter wachsen zu lassen. Dazu kann der User nun auf die Sonne klicken, die daraufhin beginnt, stärker zu scheinen und über das Blumenfeld zu wandern. Anschließend bietet Maja einen Magic Booster an, um die Blumen doppelt so stark wachsen zu lassen. Der User kann hier zwischen “Ja” und “Nein” auswählen. Je nach dem, welche Antwort der User wählt, ändern sich die Animation und die Reaktion von Maja.
Vierte Szene: Outro
In der vierten Szene spielt der User nicht mehr aktiv mit. Maja beginnt mit Hilfe einer Animation über die Blumenwiese zu fliegen. Zum Schluss bedankt sie sich für die Hilfe des Users und schenkt ihm als Dank ein Glas mit Honig. An dieser Stelle ist die Animation beendet und es erscheint der Button “Restart”, wodurch die Seite neu geladen wird und der User wieder zum Intro gelangt.
Der Quellcode
Verwendete Programmiersprachen für die Animation sind HTML5, CSS3, JavaScript und jQuery. HTML wird für die Gestaltung sowie den Grundaufbau der Seite und des Spiels genutzt. CSS sorgt für die richtige Positionierung, Style-Anpassungen und mit Hilfe von keyframes auch für die kleine Animationen und visuelle Effekte.
Mit Hilfe von JavaScript werden die Objekte je nach Auswahl der Story-Optionen angezeigt bzw. versteckt, der Text bei den Hover-Effekten geändert, die Auswahl der Blumensorte für den weiteren Verlauf des Spiels gespeichert und die Index-Datei so umgeschrieben, dass sie sich automatisch angepasst hat. Außerdem erscheinen die Objekte durch JavaScript nach bestimmten Zeitangaben für ein optimales Spielerlebnis, wie z. B. die automatische Änderungen des Textes und die Bewegung der Gießkanne nach einigen Sekunden. Die Seite besteht aus drei DIV-Containern: Der erste zeigt die Überschrift “Magic Garten”, der zweite das Spielfeld und der dritte zeigt einen Untertitel.
<body>
<script src="animation.js"></script> <!--Einbindung der JavaScript Datei--> </div>
<div class="header"> <!--Div-Container wird angezeigt nach dem Spielstart--></div>
<div id="animation_feld" class="animation_null"> <!--Hauptbereich: interaktives Spiel--></div>
<div class="biene"> <!--Intro des Spieles und Platziereung der Beiene während des ganzen Spiel--></div> <div class="footer"> <!--Unterbereich mit Autorennamen und versteckte Audio--> </div>
</body>
Gestaltung von besonderen Elementen
Innerhalb der Animation gibt es verschiedene interaktive Elemente, die sich mit Hilfe von Animationen durch die Szenen bewegen und gewisse Aktionen auslösen.
Die verwendeten Bilder sind im PNG-Format und stammen von Pixabay. Die Überschrift und der Untertitel sowie die fertig gewachsenen Blumen wurden selbst in Photoshop erstellt. Damit die Bilder optimal angezeigt werden, wurde der z-Index verwendet. Dieser unterscheidet sich bei den Bildern der jeweiligen Szenen und man sollte ihn so anpassen, dass Bilder möglichst gut dargestellt werden.
Bewegende Elemente und visuelle Effekte
Maja
Damit Maja dem User durch das Spiel helfen kann, wird sie durch von Keyframes zum Leben erweckt. Mit Hilfe des JavaScript Befehls .show() und .hide() wird sie passend zur jeweiligen Szene eingesetzt bzw. versteckt. Hierbei gibt es drei verschiedene Keyframe Animationen: Zuerst bewegt sich Maja vom Startbildschirm nach unten auf das folgende Bild, sobald der User das Spiel startet. Damit sie ihn mit nützlichen Informationen durch das Spiel führen kann, erhält sie Sprechblasen, die mit Hilfe der Anweisung
nach 5 Sekunden automatisch geändert werden. Die Zeit, nach der sich die Animationen ändern, variiert hier während des Spiels und kann nach Belieben angepasst werden, damit man die Texte gut lesen kann.
/*Biene startet das Gespräch mit dem User*/
setTimeout(function() {
$("#rede_1").css({"visibility": "visible"});
}, 2000);
setTimeout(function() {
$("#text_1").css({"visibility": "visible"});
}, 2500);
});
$("#link_1").on("click", function () {
setTimeout(function() {
$("#text_1").hide();
$("#text_2").css({"visibility": "visible"});
}, 500);
setTimeout(function() {
$("#button_choose").css({"visibility": "visible"});
}, 1500);
});
Die zweite Keyframe Animation lässt Maja auf dem nächsten Bild nach oben wirbeln. Diese Animation wird mit Hilfe des Befehls
ausgelöst, sobald der User den Button “Blumen auswählen” anklickt. Hier werden die Texte in der Sprechblase wieder mit dem oben stehenden Befehl angezeigt und geändert (die konkreten Befehle ändern sich etwas je nach Text).
/*Übergang zur Szene #1.2
Start des aktiven Spiels mit Anweisungen an den Spieler
Elemente werden durch Änderungen des Styles angezeigt oder durch
jQuery Funktionen*/
$("#button_choose").on("click", function() {
$("#button_choose").css({"visibility": "hidden"});
$("#choose").hide();
$("#rede_1").css({"visibility": "hidden"});
$("#text_2").hide();
$("#honey_biene").css({"visibility": "hidden"});
$("#honey_biene_2").show();
$("#honey_biene_2").css({"animation-play-state": "running"});
setTimeout(function() {
$("#rede_2").css({"visibility": "visible"});
}, 1700);
setTimeout(function() {
$("#text_3").css({"visibility": "visible"});
}, 2200);
$(".sack").fadeIn(3000);
setTimeout(function() {
$(".blumen_choose").show();
}, 3000);
Die dritte Keyframe Animation lässt Maja zum Ende des Spiels über die Blumenwiese fliegen. Mit Hilfe von translateX() bewegt sie sich hin und her und mit scaleX() dreht sie sich während der Animation um, um in die jeweils andere Richtung zu fliegen. Dabei wird das Bild gespiegelt. Ist der Magic Booster nicht ausgewählt, fliegt Maja standardmäßig durch die Eigenschaft animation-iteration-count: 1; einmal Hin und Her. Wenn der Magic Booster ausgewählt ist, dann fliegt sie zweimal Hin und Her. Dies wird mit Hilfe einer if-Anweisung angepasst.
/*Style Eigenschaften für die Biene im Outro.
Die keyframe-Animation für die fliegende Biene. In JS ist die Anpassung je nach
Antwort des Users*/
#biene_fly {
position: absolute;
z-index: 15;
height: 15%;
bottom: 60%;
left: 22%;
display: none;
animation-name: bee_fly;
animation-duration: 5s;
animation-timing-function: ease;
animation-delay: 0s;
animation-iteration-count: 1;
animation-fill-mode:forwards;
animation-play-state: running;
}
@keyframes bee_fly {
0% { transform: translateX(0px) scaleX(-1)}
25% { transform: translateX(380%) scaleX(-1)}
50% { transform: translateX(380%) scaleX(1)}
100% { transform: translateX(-10%) scaleX(-1)}
}
Säcke mit Blumensamen
Der Hover-Effekt bei den Blumensäcken wird mit der Anweisung $(“#rose_sack”).mousemove() erzeugt. So ändert sich der Text in der Sprechblase, wenn man mit der Maus über ein bestimmtes Element (in dem Fall ist es die Rose) fährt. Verlässt man mit der Maus diese Stelle wieder, wird der Text mit dem Befehl $(“#rose_sack”).mouseout() wieder automatisch geändert.
/*Information über Blumensorten erscheint, wenn die Maus auf dem Bild ist,
und verschwindet, wenn die Maus weg ist*/
$("#rose_sack").mousemove(function(evt) {
$("#text_3").css({"display":"none"});
$("#text_4").css({"visibility": "visible","display":"block"});
});
$("#rose_sack").mouseout(function(evt) {
$("#text_4").css({"display":"none"});
$("#text_3").css({"display":"block"});
});
$("#sun_sack").mousemove(function(evt) {
$("#text_3").css({"display":"none"});
$("#text_5").css({"visibility": "visible","display":"block"});
});
$("#sun_sack").mouseout(function(evt) {
$("#text_5").css({"display":"none"});
$("#text_3").css({"display":"block"});
});
$("#mohn_sack").mousemove(function(evt) {
$("#text_3").css({"display":"none"});
$("#text_6").css({"visibility": "visible","display":"block"});
});
$("#mohn_sack").mouseout(function(evt) {
$("#text_6").css({"display":"none"});
$("#text_3").css({"display":"block"});
});
Nach der Auswahl der Blumesorte verschwinden durch die Anweisungen $(“.sack”).fadeOut(1200); und $(“.blumen_choose”).hide(); die Bilder der Säcke, die nicht ausgewählt wurden und der ausgewählte Sack erscheint in der Mitte.
$(".sack").fadeOut(1200);
$(".blumen_choose").hide();
/*Je nach Auswahl wird der Sack mit der richtigen Blume angezeigt. Animation an sich
ist gleich und startet beim Klick auf jeweiliges Bild*/
switch (blume) {
case "Rose":
setTimeout(function () {
$(".rose").show();
$("#sack_blume_rose").on("click", function () {
$(".sack_blume").css({"animation-play-state": "running"});
$(".oat_raw").css({"animation-play-state": "running"});
setTimeout(function () {
$(".rose").hide();
$("#text_7").css({"display":"none"});
$("#text_8").css({"visibility": "visible","display":"block"});
}, 7200);
})
}, 1500);
break;
Beim Klick auf den Sack wird die Keyframe Animation aktiviert, wodurch er sich bewegt, um die Blumensamen auf der Wiese zu verteilen. Die Anweisung besteht aus 7 Schritten, in denen translateX(), translateY() und rotate() verwendet werden,sodass er sich zum Verteilen über die Wiese bewegt und dabei auch die Ausrichtung nach links und rechts ändert. Bei der Anweisung für die Blumensamen, die aus dem Sack in die Erde fallen, benutzt man zusätzlich scale(). Nachdem die Animation fertig abgespielt ist und damit die Samen verteilt sind, verschwindet der Sack automatisch.
/*Positionierung und Animation für alle Säcke in der Szene sind gleich*/
.sack_blume {
position:absolute;
top: 50%;
left: 40%;
height: 30%;
z-index: 11;
cursor:pointer;
animation-name: sack_hoch;
animation-duration: 7s;
animation-timing-function: ease;
animation-delay: 0s;
animation-iteration-count: 1;
animation-fill-mode:forwards;
animation-play-state: paused;
}
/*Animation mit mehreren Bewegungen*/
@keyframes sack_hoch {
from { transform: translateX(0px) translateY(0px)}
18% { transform: translateX(-100px) translateY(-250px) rotate(-90deg)}
36% { transform: translateX(-325px) translateY(-130px) rotate(-120deg)}
52% { transform: translateX(100px) translateY(-250px) rotate(-120deg)}
70% { transform: translateX(100px) translateY(-130px) rotate(-120deg)}
88% { transform: translateX(350px) translateY(-250px) rotate(120deg)}
to { transform: translateX(400px) translateY(-130px) rotate(120deg)}
}
/*Positionierung und Animation für Blumensamen in der Szene sind gleich
Die Animation wiederholt die Bewegung des Sackes, mit der Ausnahme beim vorletzten
Schritt:
Blumensamen verschwinden und erscheinen am Ende, wänhrend Sack sich umdreht*/
.oat_raw {
position:absolute;
top: 51%;
left: 46%;
height: 10%;
z-index: 12;
animation-name: oat_hoch;
animation-duration: 7s;
animation-timing-function: ease;
animation-delay: 0s;
animation-iteration-count: 1;
animation-fill-mode:forwards;
animation-play-state: paused;
}
/*Animation mit mehreren Bewegungen*/
@keyframes oat_hoch {
from { transform: translateX(0px) translateY(0px)}
18% { transform: translateX(-150px) translateY(-180px) rotate(-90deg)}
36% { transform: translateX(-375px) translateY(-40px) rotate(-120deg) scale(0.85)}
52% { transform: translateX(50px) translateY(-140px) rotate(-120deg) scale(0.75)}
70% { transform: translateX(50px) translateY(-50px) rotate(-120deg) scale(0.7)}
88% { transform: translateX(390px) translateY(-180px) rotate(120deg)scale(0.0)}
to { transform: translateX(465px) translateY(-40px) rotate(120deg) scale(0.65)}
}
Positionierung und Animation der Blumensäcke
Wachsende Blumen
Die Blumen wachsen in dem Spiel mit Hilfe einer Animation mittels JavaScript. Dazu gibt es für die verschiedenen Stadien des Wachstums verschiedene Bilder, die automatisch mit Hilfe von Anweisungen, wie bspw. $(“.plant_small”).attr(“src”, “media/grass.png”); ausgetauscht werden und anschließend durch die Anweisung $(“.plant_small”).css({“animation-play-state”:”running”}); animiert werden. Dadurch verändert sich das Wachstum der Blumen durch Animationen im Laufe des Spiels automatisch. Die Auswahl der Blumensorte zu Beginn des Spiels wird mit Hilfe einer Switch-Anweisung für den restlichen Spielverlauf übernommen
/*Funktion für Blumen. Bilder sind von der Auswähl abhängig*/
switch (blume) {
case "Rose":
$(".plant_small").attr("src", "media/Rose_Bush.png");
break;
case "Sonnenblume":
$(".plant_small").attr("src", "media/Sunflower_Bush.png");
break;
case "Mohnblume":
$(".plant_small").attr("src", "media/Poppy_Bush.png");
break;
}
$("#sonne").css({"animation-play-state": "running"});
$("#text_12").css({"display":"none"});
$("#text_13").css({"visibility": "visible","display":"block"});
}, 2500);
});
Gießkanne
Für die Animation der Gießkanne werden sowohl Keyframe als auch jQuery Animationen verwendet. Bei den keyframes handelt es sich um rein visuelle Effekte, bei der sich die Gestaltung der Gießkanne ändert. Mit Hilfe von bspw. transform:scale() ändert sich ihre Größe, durch opacity ändert sich die Transparenz und durch animation-iteration-count:2 wiederholt sich diese Animation zweimal. Die Bewegung wird anhand von .animate() realisiert, sodass sich die Kanne über die Pflanzen bewegt. Dabei ändert sich mit Hilfe der Anweisung .mousemove ihre Ausrichtung, sobald der User mit der Maus über sie fährt und mit .mouseleave verschwindet die Gießkanne. Gleichzeitig wird auf diese Weise auch die Animation für die Wassertropfen ausgelöst.
/*jQuery-Animation für die Gießkanne und Style Änderungen für Interaktivität*/
$("#giesskanne").click(function() {
$("#giesskanne").animate({
bottom: "50%",
left: "50%",
}, 4000, "linear", function() {
/*Animation wird aktiviert nur beim Bewegen auf dem Bild*/
$("#giesskanne").mousemove(function(evt) {
$(".wasser_tropfen").css({"display":"block"});
$("#giesskanne").css({"transform":"rotate(-30deg)"});
$(".wasser_tropfen").animate({
bottom: "-55%"
}, 2500 )
});
/*Ausschaltung der Animation*/
$("#giesskanne").mouseleave(function(evt) {
$(".wasser_tropfen").css({"display":"none"});
setTimeout(function () {
$("#giesskanne").hide('slow');
}, 3000);
});
});
Sonne
Die Sonne bewegt sich im Spiel mit Hilfe von keyframes automatisch über die Blumenwiese bewegt und scheint stärker, sobald der User sie anklickt.
/*Durchgehende Animation für besseres Spiel. Einige Style Egenschaften werden später
via JS ergänzt*/
#sonne {
position: absolute;
z-index: 2;
bottom: 60%;
left: 70%;
height: 25%;
cursor:pointer;
animation-name: sonne_bewegung;
animation-duration: 45s;
animation-timing-function: ease;
animation-delay: 0s;
animation-iteration-count: 1;
animation-fill-mode:forwards;
animation-play-state: running;
}
@keyframes sonne_bewegung {
from { transform: translateX(0px) translateY(0px)}
to { transform: translateX(-500px) translateY(-20px)}
}
Nachdem die Gießkanne eingesetzt wird, stoppt die Bewegungs-Animation der Sonne, damit der User sie leichter anklicken kann. Bei dem Klick auf die Sonne wird sie größer und scheint stärker, um sie hervorzuheben. Das geschieht mit Hilfe der Anweisung
$("#sonne").click(function() {$("#sonne").css({"height":"30%", "filter":"drop-shadow(0px 5px 25px #FFD700)"});
/*Animation für die Sonne wird aktiviert beim Klick. Für den richtigen
Spielablauf ist das Anklicken der Sonne nur nach der Animation mit der
Gießkanne möglich*/
$("#sonne").click(function() {
$("#sonne").css({"height":"30%", "filter":"drop-shadow(0px 5px 25px #FFD700)"});
$(".plant_small").css({"animation-play-state":"running"});
Magic Booster
Der Magic Booster erscheint mit Hilfe der jQuery Anweisung $(“#booster”).show();. Die Animation wird automatisch ausgelöst, sobald er vom User ausgewählt wurde und läuft mit Hilfe der Anweisung animation-iteration-count: infinite; unendlich in einer Schleife. Durch die Anweisung $(“#booster”).fadeOut(4000); verschwindet der Booster automatisch innerhalb von 4 Sekunden. Auch hier kann man die Zeiteinstellungen nach Belieben und Funktionalität anpassen.
/*Magic Bosster wird angezeigt nur bei "Ja"-Antwort
Animation ist unendlich und startet mit der Erscheinung des Bildes*/
#booster {
position: absolute;
z-index: 15;
height: 150;
bottom: 70%;
left: 40%;
animation-name: magic_booster;
animation-duration: 3s;
animation-timing-function: ease;
animation-delay: 0s;
animation-iteration-count: infinite;
animation-fill-mode:backwards;
animation-play-state: running;
}
/*Animation zeigt den Effekt indem der Booster über die Blumenwiese gegossen wird.*/
@keyframes magic_booster {
0% { transform: scale(0.5) rotate(0deg)}
50% { transform: scale(1) rotate(180deg)}
100% { transform: scale(0.5) rotate(-180deg)}
}
Interaktive Buttons
Sobald die Maus über die Buttons fährt, erscheint ein Hover-Effekt, in dem sich die Farben ändern. Der Hover-Effekt wird durch diese Eigenschaft umgesetzt:
Außerdem wird der Cursor durch die Eigenschaft cursor:pointer; in Form einer Hand angezeigt, sobald der User mit der Maus über interaktive Elemente fährt. Dadurch weiß er, welche Elemente anklickbar und für den Spielverlauf wichtig sind.
Besonderheiten
Eine Besonderheit der Animation ist die Hintergrundmusik, die während des Spiels läuft. Sie startet automatisch, wenn der User das Spiel beginnt. Beginnt der User ein neues Spiel, indem er auf “Restart” klickt, startet auch die Musik wieder neu. Dies wird mit Hilfe des jQuery-Befehls $(“#background_musik”)[0].play(); umgesetzt. Bei der Hintergrundmusik haben wir darauf geachtet, eine lizenzfreie Musik zu nehmen, die zum Thema die Spiels passt. Dafür haben wir den Titel “The Small Farm” gewählt. Mit dem Befehl $(“#background_musik”)[0].pause(); endet die Musikwiedergabe zum Ende des Spiels automatisch.
Eine weitere Besonderheit ist das Responsive Design. Dieses wird eingesetzt, damit die Animation auf allen Desktopgrößen richtig angezeigt wird und gespielt werden kann. Das Responsive Design wurde mit Hilfe von CSS angepasst und bezieht sich auf alle Elemente im Quellcode. Dies wurde mit der Eigenschaft position: absolute; sowie der Anpassung der Abstände durch bottom: left: right: top: height: in Prozent-Angaben umgesetzt. Die Eigenschaft font-size: 1.05vw; führt dazu, dass auch die Texte optimiert dargestellt werden.
Dieser Beitrag ist im Studiengang Informationsmanagement an der Hochschule Hannover im Rahmen des Kurses Entwicklung von Multimediasystemen (Sommersemester 2021, Amy Linh Hoang, Prof. Dr.-Ing. Steinberg) entstanden. Verwendete Techniken sind HTML5, CSS3 und JavaScript. Die besten Tutorials stellen wir Euch hier in den nächsten Wochen nach und nach vor.
Von Anfang an war es mein Plan, ein simples und optisch ansprechendes kleines Spiel zu designen, bei dem Animationen sinnvoll zum Einsatz kommen.
Nach ein paar verworfenen Ideen entschied ich mich für diese Variante, bei der die räumliche Wahrnehmung und das Gedächtnis des Spielers auf die Probe gestellt wird. Das Konzept des Spiels ist angelehnt an einen Intelligenztest für Schimpansen, bei dem deren Arbeitsgedächtnis getestet wird. Bei diesem werden aufeinanderfolgende Zahlen auf einem Bildschirm abgebildet, diese zahlen müssen dann in der richtigen Reihenfolge gedrückt werden. Nachdem die erste Zahl gedrückt wurde, werden alle anderen hinter identisch aussehenden Feldern versteckt.
Mein Spiel „forty in 49“ funktioniert nach einem ähnlichen Prinzip. Anstatt einer bestimmten Reihenfolge geht es hierbei aber um die Position der Felder. In einem Raster sind 7×7 Felder angeordnet,. Zu Beginn des Spiels verschwinden 40 der 49 Felder für wenige Sekunden. Der Spieler muss sich die Position der übrigen 9 Felder (Bomben) merken und diese vermeiden. Das Ziel ist es, möglichst viele der 40 Felder anzuklicken. Klickt man auf eine Bombe, ist das Spiel vorbei.
Animationen
Die Animationen erfüllen sowohl funktionale als visuelle Zwecke.
Um die Orientierung zu vereinfachen, werden Felder größer und ändern ihre Farbe, wenn der Mauszeiger darüber hovert. Wird ein Feld angeklickt, wird es entweder grün und verschwindet in einer rotierenden Animation, oder es wird rot und dreht sich langsam um 180° um die y-Achse und um 45° um die z-Achse. Dadurch wird dem Spieler visuell verdeutlicht, ob er richtig lag. Um das Ganze auditiv zu unterstützen, gibt es für den Klick auf die zwei Arten von Feldern jeweils einen Soundeffekt.
Ist das Spiel vorbei (alle richtigen Felder oder eine Bombe wurden geklickt), erscheint eine Karte mit der Punktzahl. Sie bewegt sich von unten nach oben und landet mittig über dem Spielfeld. Außerdem gibt es natürlich die fade-out/fade-in Animation am Anfang, ohne die das Spiel überhaupt nicht möglich wäre.
Dieser Beitrag ist im Studiengang Informationsmanagement an der Hochschule Hannover im Rahmen des Kurses Entwicklung von Multimediasystemen (Sommersemester 2021, Amy Linh Hoang, Prof. Dr.-Ing. Steinberg) entstanden. Verwendete Techniken sind HTML5, CSS3 und JavaScript. Die besten Tutorials stellen wir Euch hier in den nächsten Wochen nach und nach vor.
Oder: It’s not about the design, it’s about the thinking!
Autorin: Katharina Kroupa
„Man kann über Design Thinking noch so viel Positives erzählen, die Arbeitsweise und ihre Wirkung erklären: Um sie wirklich zu verstehen, muss man sie selber hautnah miterlebt haben.“
Marcel Plaum, VP Terminal Development Fraport
Na, macht dich das neugierig zu erfahren, was Design Thinking ist? Du hast den Begriff nun schon öfter gehört, aber noch keine Idee, was dahinter alles steckt?
Dann bist du hier genau richtig! Ich bringe dir in diesem Beitrag die Innovationsmethode Design Thinking näher. Was dich alles erwartet im Überblick:
Stell dir vor, du arbeitest – sagen wir mal – in einer großen Bibliothek. Ihr stellt Nutzer:innen Medien zur Verfügung, bietet diverse Dienstleistungen an und außerdem kann man bei euch auch vor Ort arbeiten. Eure Bibliothek wird als Lernort grundsätzlich gern genutzt, aber ihr merkt, dass es Verbesserungspotenzial gibt. Euer Gebäude ist schon älter, ebenso die Einrichtung und ihr möchtet den Lernraum für eure Nutzer:innen attraktiver gestalten. Und so bildet sich ein Team aus Mitarbeiter:innen, die sich beratschlagen, was einen modernen Lernraum ausmacht. Eine Kollegin schlägt vor, weitere Computer zur Nutzung anzuschaffen, ein anderer ist der Meinung, dass voll ausgestattete Gruppenarbeitsräume her müssen. Und so suchen Bibliotheksmitarbeiter:innen untereinander nach geeigneten Lösungen.
Doch wofür eigentlich? – Na für ein neues Raumkonzept! – Okay…
Aber für wen eigentlich? – Na für die ganzen Benutzer:innen der Bibliothek!
– Ahaaa..! Aber wäre es da nicht sinnvoll, diese Personen erstmal nach ihrer Meinung zu fragen und sie miteinzubeziehen, wenn man doch für genau diese eine Lösung sucht?
Und damit sind wir beim ersten Grundsatz der Design Thinking Methode, der in jeder Phase des Innovationsprozesses zentral ist: Der Mensch als Inspirationsquelle.
Der Gedanke des Design Thinking ist, dass ein Produkt oder eine Dienstleistung dann richtig gut werden kann, wenn die Bedürfnisse der Zielgruppe richtig ermittelt und bedient werden. Dazu wird diese Zielgruppe aktiv in den Innovationsprozess miteingezogen.[1] Wie das geschieht, erfährst du in weiter unten im Beitrag.
Ein weiterer Grundsatz der Methode ist das Bilden und Zusammenarbeiten innerhalb multidisziplärer Teams. Die Idee hierhinter ist, dass Menschen verschiedener Disziplinen bzw. Fachrichtungen, ihre unterschiedlichen Erfahrungen in den Ideenprozess einbringen und so gemeinsam eine (bessere) Lösung für das Problem finden können. Diversität in Geschlecht, Alter, Fachrichtung ist hier zielführend. Meist bestehen diese Teams aus 4-6 Teilnehmer:innen, den sogenannten Design Thinkers. Noch unerfahrene Teams werden dazu von ein bis zwei Moderator:innen beim Prozess unterstützt.[2]
Da bei diesem Zusammenspiel unterschiedlicher Personen schnell das Ziel – nämlich das Finden einer zielgruppenorientierten Lösung – aus den Augen verloren werden kann, ist es wichtig, dabei einem strukturierten Prozess zu folgen.[3] Das bringt uns zum nächsten Inhaltspunkt dieses Beitrags.
Wie läuft der Prozess der Methode ab?
Der Prozess des Design Thinking besteht aus aufeinander folgenden Phasen. Die Phasen bauen aufeinander auf. Erst, wenn eine Phase abgeschlossen ist, kann mit den dabei entstandenen Ergebnissen in der nächsten Phase weitergearbeitet werden.
In allen Phasen ist die Zielgruppe im Fokus. Innerhalb der ersten drei Phasen (Verstehen, Beobachten, Point of View) empathisiert das Team mit der Zielgruppe. Es versucht das zentrale Problem zu verstehen und zu definieren. In den darauffolgenden Phasen (Ideation, Prototyping, Testen) werden Ideen zur Problemlösung gesammelt und konkretisiert. Prototypen werden erstellt und aus Nutzersicht oder von tatsächlichen Nutzer:innen getestet.
Klicke auf die Info-Buttons der verschiedenen Phasen, um Einzelheiten zu erfahren:
Im besten Fall wird dieser Prozess einmal vom Anfang bis zur Entscheidung durchlaufen. Fallen den Testnutzer:innen in der Testphase allerdings Schwachstellen auf oder sie sind in sonst einer Weise nicht zufrieden mit der Lösung, müssen vorherige Phasen wiederholt werden. Beispielsweise werden in der Ideation-Phase dann noch einmal diverse Ideen gesammelt. Daraus werden dann wieder vereinzelte Lösungsansätze ausgewählt, sodass aus diesen nachfolgend ein Protoyp entwickelt wird. Oder die testende Zielgruppe fühlt sich insgesamt noch nicht ausreichend verstanden. Dann beginnt der Prozess erneut beim Verstehen.[4]
Das wird so lange wiederholt bis sich das Team Schritt für Schritt der idealen Lösung angenähert hat. Diesen Vorgang nennt man Iteration. Demnach wird der Prozess des Design Thinking auch als iterativer Prozess bezeichnet.[5]
Welche Voraussetzungen und Tools unterstützen den Innovationsprozess?
Aus dem vorherigen Abschnitt kennst du nun die einzelnen Phasen des Design Thinking Prozesses. Aber wie oder wodurch kann dieser Prozess unterstützt werden? Und wie fördert man die Kreativität am besten?
Die folgenden Abschnitte geben Einblick über die Voraussetzungen für einen gelungenen Innovationsprozess sowie Beispiele für nutzbare Tools zur Kreativitätsförderung[6]:
Wieso sich Design Thinking in jedem Lebensbereich lohnt
Die Methode findet Anwendung in verschiedenen Bereichen und zu verschiedenen Themen. Beispielhaft werden nachfolgend ihr Nutzen und ihre Anwendbarkeit in einer Tabelle dargstellt:
Nutzen
Anwendbarkeit
nachhaltige Teamentwicklung
Aufbau von Kundenverständnis
effizientere Innovationsprozesse durch schnelles Feedback
Gestaltung neuer Produkte und Dienstleistungen
Kundenloyalität steigern durch Integration
Optimierung von Organisationsprozessen
geringe Kosten
Erstellen von Marketingkampagnen
Tabelle: Nutzen und Anwendbarkeit von Design Thinking
Als Innovationsmethode definiert sich Design Thinking unter anderem über seine Anwender:innen. Da diese und ihre Probleme sehr unterschiedlich sein können, eignet sie sich für das Finden von Lösung in jedem Lebens(Problem-)bereich.
Wie Bosch Design Thinking für User Experience nutzt
Auch bekannte Firmen nutzen mittlerweile die Design Thinking Technik zur Lösung verschiedenster Probleme oder zur Entwicklung neuer Produkte.
Eine davon ist Bosch. Das Unternehmen nutzt die Technik für eine enge Zusammenarbeit mit ihrer Zielgruppe. Im nachfolgenden Video geben Bosch-Mitarbeiter Einblick darin, wie die Methode in der Firma umgesetzt wird.
Fazit – Its’s not about the design …
… it’s about the thinking!
Die Angst vor Fehlern bringt Menschen dazu, die Risiken im Fokus zu haben – nicht die Möglichkeiten!
Aber aus Fehlern lernt man. Design Thinking gibt den Raum für diese offene Denkweise in einem geführten Prozess. Jeder Prozess-Teil führt zu klaren Ergebnissen, mit denen der nächste Prozess-Schritt beginnt.
Obwohl jede Design Thinking Aktivität darauf ausgerichtet ist, die Erfahrungen der Mitmenschen zu verstehen, verändert sie auch die Erfahrungen und Denkweisen der Innovatoren.
Kreutzer, Ralf T. (2018): Toolbox für Marketing und Management. Kreativkonzepte, Analysewerkzeuge, Prognoseinstrumente. Berlin: Springer. DOI: doi.org/10.1007/978-3-658-21881-2
Plattner, H.; Meinel, C. u. Weinberg, U. (2009): Design Thinking. Innovation lernen, Ideenwelten öffnen. München: mi.
Schallmo, Daniel (2017): Design Thinking erfolgreich anwenden. So entwickeln Sie in 7 Phasen kundenorientierte Produkte und Dienstleistungen. Wiesbaden: Springer Gabler. DOI: doi.org/10.1007/978-3-658-12523-3
Dieser Beitrag ist im Studiengang Informationsmanagement an der Hochschule Hannover im Rahmen des Kurses Content Management (Wintersemester 2020/21, Prof. Dr.-Ing. Steinberg) entstanden. Die besten Beiträge stellen wir Euch hier in den nächsten Wochen nach und nach vor.
Lade Kommentare …
Diese Website benutzt Cookies. Wenn du die Website weiter nutzt, gehen wir von deinem Einverständnis aus.OK