Bestimmt bist du im Netz schon mal der Abkürzung PWA über den Weg gelaufen. Doch, wofür steht diese Abkürzung überhaupt? Was sind PWAs? Um es schnell auf den Punkt zu bringen: PWA steht für Progressive Web App. Jetzt bleibt nur noch die nächste Frage. Was sind Progressive Web Apps?
Im Rahmen dieses Beitrages erkläre ich dir die Grundlagen zum Thema PWAs. Am Ende dieses Beitrages erwartet dich ein Link zu einer Anleitung. Mit Hilfe dieser Anleitung kannst du dir im Handumdrehen eine eigene Progressive Web App erstellen. In relativ kurzer Zeit und ohne viel Aufwand kannst du erste Ergebnisse erzielen! Probier es doch mal aus.
Zunächst kämpfen wir uns durch ein bisschen Theorie. Wir schauen uns den technischen Aufbau und mögliche Funktionen von Progressive Web Apps an. Danach werfen wir einen kurzen Blick auf bereits erfolgreich umgesetzte PWAs. Zum Schluss zeige ich dir am Beispiel der Twitter PWA, wie du diese erfolgreich auf deinem Endgerät installierst.
PWA – Progressive Web App
Der technische Aufbau
Eine Progressive Web App besteht, wie viele Internetseiten heutzutage aus diesen drei wesentlichen Bestandteilen:
Auf Grundlage dieser drei Technologien, die eine unabhängige Plattform darstellen, sollen sich Web-Anwendungen an Zielgeräte so weit anpassen, dass die Nutzung möglich ist. [1]
In diesem Zusammenhang ist auch häufig die Rede von einem sogenannten “responsiven Design” einer Webseite. Responsive Webdesign stellt eine aktuelle Technik zur Verfügung, welche es ermöglicht mit Hilfe von HTML5 und CSS3 Media-Queries das einheitliche Anzeigen von Inhalten auf einer Website zu gewährleisten. Hierbei wird das Layout einer Website so flexibel gestaltet, dass dieses auf dem Computer- Desktop, Tablet und Smartphone eine gleichbleibende Benutzerfreundlichkeit bietet. Somit kann der Inhalt gänzlich und schnell vom Besucher aufgenommen werden. [2]
Was macht eine Webseite zu einer Progressive Web App?
Progressive Web Apps sind, anders als normale Webseiten, auf dem jeweiligen Endgerät installierbar. Durch diesen Vorteil, bieten sie eine App-ähnliche Erfahrung, wie man sie bereits von Programmen auf einem Computer oder aus Apps aus dem Apple AppStore oder Google Play Store kennt. Das bedeutet auch, dass eine Progressive Web App in einem bestimmten Umfang auch “offline”, also ohne aktive Internetverbindung funktionieren kann. Somit kann eine PWA auch als eine Art Symbiose aus einer responsiven Webseite und einer App beschrieben werden.
Eine große Rolle spielt ebenfalls die Performance deiner PWA. Die Ladegeschwindigkeit und User Experience ist das A und O für den Erfolg.
Kurz zusammengefasst: Ausgehend von einer gemeinsamen Code-Basie, funktionieren PWAs auf allen möglichen Endgeräten in unterschiedlichsten Browsern. [3]
Sowohl die Browser Google Chrome, Firefox und Microsoft Edge, sowie Apples Safari unterstützen, Stand heute (26.07.2020), die Nutzung von Progressive Web Apps. [4]
Twitter – Eine erfolgreiche Progressive Web App
Als prominentes Beispiel für eine erfolgreiche Progressive Web App, kann ich dir die Twitter PWA empfehlen. Anstatt die App über den Google PlayStore oder Apple AppStore zu beziehen, kannst du auch einfach die PWA installieren. Über folgende Schritte bekommst du die schlanke App-Web-Version von Twitter über den Browser Google Chrome installiert:
Twitter PWA auf einem PC oder Laptop
Wenn du dich gerade am PC oder Laptop befindest, dann folge dieser Anleitung:
Nachdem du Schritt 1 durchgeführt hast, kannst du oben rechts auf die drei Punkte klicken.
Jetzt wählst du den Punkt: “Twitter installieren” aus.
Insofern alles korrekt geklappt hat, kannst du die PWA nun über eine Verknüpfung auf dem Desktop/Schreibtisch starten.
Twitter PWA auf einem Android Endgeräit installieren
Wenn du dich gerade an einem Android Smartphone befindest, dann folge dieser Anleitung:
Rufe auf deinem Android-Endgerät die Webseite www.twitter.com auf.
Nachdem du Schritt 1 durchgeführt hast, kannst du oben rechts auf die drei Punkte klicken.
Jetzt wählst du den Punkt: “Zum Startbildschirm hinzufügen” aus.
Installiere die Twitter PWA, indem du auf “Hinzufügen” klickst.
Insofern alles korrekt geklappt hat, kannst du die PWA nun über eine Verknüpfung auf dem Homescreen starten.
Twitter PWA auf einem Apple Endgerät installieren
Wenn du dich gerade an einem Apple-Smartphone mit dem Safari Browser befindest, dann folge dieser Anleitung:
Rufe auf deinem Apple-Endgerät die Webseite www.twitter.com auf.
Nachdem du Schritt 1 durchgeführt hast, kannst du unten in der Mitte auf den “Teilen…”-Knopf klicken.
Als nächstes wählst du den Punkt: “Zum Home-Bildschirm” aus.
Installiere die Twitter PWA, indem du auf “Hinzufügen” klickst.
Insofern alles korrekt geklappt hat, kannst du die PWA nun über eine Verknüpfung auf dem Homescreen starten.
Klicke unten in der Mitte auf den “Teilen…”-Knopf
Klicke auf “Zum Home-Bildschirm”
Klicke auf “Hinzufügen”
Installation der Twitter PWA auf einem Appe iPhone mit Safari. Bilder: Eigene Screenshots So sieht die geöffnete Twitter PWA auf einem iPhone aus.
Probiere es gerne auf deinem eigenen Gerät aus!
Weitere Progressive Web Apps
Da es für PWAs keine Art AppStore oder PlayStore gibt, haben sich diverse Internetseiten mit der Sammlung von bekannten Progressive Web Apps beschäftigt.
Unter folgenden Links kannst du dir zahlreiche weitere PWAs anschauen:
Ich finde die Idee und die umfangreichen Einsatzzwecke von Progressive Web Apps enorm spannend. Die Möglichkeit seinen Webseitenbesuchern auf einfach Art und Weise eine App-Version seines Internetauftritts zur Verfügung zu stellen, bietet großes Potential.
Gerade die Kosteneinsparung bei der Entwicklung von “nur” einer Webseite, die dann zusätzlich mit wenig Aufwand als App erscheinen kann, finde ich für Unternehmen sehr interessant. Solche Unternehmen, die PWAs einsetzen können mit einer höheren Verweildauer ihrer Kunden auf ihrer Webseite rechnen. Dies fördert zugleich die Conversion-Rate.
In Zukunft werden sicher mehr und mehr Unternehmen auf den erst kurzen Erfolgszug der Progressive Web Apps aufspringen. Die einzigen benachteiligten dürften hier der Google PlayStore und der Apple Appstore sein, da ihnen wohlmöglich ein gewisser Anteil In-App-Verkäufe weg brechen könnte.
Mich persönlich hat das Konzept einer PWA überzeugt und ich werde es bei einem meiner nächsten privaten Projekte auf jeden Fall in Betracht ziehen.
Literatur und Quellen
[ 1 ] Ruppert, Sven (2019): How-to: Progressive Web Apps praktisch erklärt. Online unter: https://entwickler.de/online/web/progressive-web-apps-tutorial-tipps-579830771.html [Abruf am 26.07.2020]
[ 2 ] wendweb GmbH (2020): Was ist Responsive Webdesign. Online unter: https://www.responsive-webdesign.mobi/was-ist-responsive-webdesign/ [Abruf am 26.07.2020]
[ 3 ] Google LLC (2020): Your First Progressive Web App. Online unter: https://codelabs.developers.google.com/codelabs/your-first-pwapp/#0 [Abruf am 26.07.2020]
[ 4 ] Vaadin Ltd. (2020): Progressive Web App Browser Support. Online unter: https://vaadin.com/pwa/learn/browser-support [Abruf am 26.07.2020]
Ihr habt euch für die Webentwicklung entschieden – Glückwunsch. Ein Feld, so überlaufen wie kaum ein anderes. Hinter jeder Ecke wartet ein neues Projekt mit dem die Entwicklung einfacher, effektiver, schneller und sicherer sein soll. In dem Dschungel an Möglichkeiten ist es leicht, sich zu verirren. Deswegen stelle ich euch heute zwei der beliebtesten Frameworkes in Sachen Single-Page-Webanwendungen vor und vergleiche. React oder Angular (nicht zu verwechseln mit der Vorgängerversion AngularJS) – welches Framework passt am besten zu dir?
Der Beitrag in der Übersicht
Du kennst dich bereits aus? Dann spring doch gleich an die Stelle, die dich interessiert!
Single-Page-Applications, kurz SPA unterscheiden sich von herkömmlichen Webanwendungen insbesondere in einem Punkt – es gibt nur eine einzige HTML-Datei. Hierauf können Daten verändert und/oder dynamisch geladen werden. Die Verarbeitung ist somit client-seitig. Soll also beispielsweise etwas durch User-Interaktion geändert werden, wird keine neue HTML-Datei geladen, sondern die Datei client-seitig verändert.
Ablauf einer Webanwendung vs. SPA – Quelle: Selbst erstellt
Veranschaulicht seht ihr den Vorgang in dieser Grafik. Am Anfang arbeiten normale Webanwendungen genau wie SPAs. Die allererste Anfrage wird vom Client an den Server geschickt, welche mit einer HTML-Datei antwortet. Während sich bei der SPA diese niemals ändert, wird bei einer herkömmlichen Webanwendung dieser Vorgang wiederholt (sieht rote Pfeile). Findet eine neue Abfrage mittel POST statt, wird auch eine neue HTML-Datei von dem Server an den Client geschickt – und die Seite lädt neu. Bei SPAs (siehe grüne Pfeile) wird eine Anfrage mittels AJAX gesendet und mittels JSON wird die HTML Datei verändert.
Kein neues Laden, keine langen Wartezeiten. SPAs sind schneller und genau deshalb in der Webentwicklung immer beliebter.1 Nun aber zurück zu unseren SPAs Angular und React.
Angular & React – Was haben sie gemein?
Beide Plattformen sind Vorreiter in der Webentwicklung, genauer gesagt der Frontend-Entwicklung, da sowohl Angular, wie auch React eine Komponentenhierachie verwenden.
Kleiner Exkurs: Komponenten verwalten immer einen Teil einer View und können Unterkomponenten haben. Beide Projekte sind Open Source unter MIT Lizenz. Freier Zugang also. Auch auf die Community hinter beiden Plattformen könnt ihr euch verlassen.2 So glänzt insbesondere React mit inzwischen rund 149.000 Sternen auf Github. So gut wie jede Frage, die während der Entwicklung aufkommen wird, wurde bereits gefragt und beantwortet. Aber was zeichnet Angular und React aus? Und wer steht dahinter?
Wenn ihr einen schnellen Einblick über den Aufbau von Angular und React sucht, dann schaut am besten auf Stackblitz oder einer ähnlichen Seite vorbei. Dort könnt ihr ohne großen Aufwand ein Projekt mittels Angular oder React starten und euch mit den Strukturen vertraut machen, bevor ihr euch entscheidet.
Angular – Googles Framework 2.0
Hello World von Angular – Quelle: eigener Screenshot
So könnte auch euer erstes Projekt in Angular starten. Das Hello World der komplexen Ordnerstruktur von Angular.
Ihr fangt grade erst mit der Webentwicklung an und versteht schon jetzt die Welt nicht mehr? Ihr habt noch nie etwas von Angular gehört? Dann schaut dieses Video, in dem Angular simpel für Beginner erklärt wird und lest danach weiter. Angular ist ein Framework von Google, welches 2016 auf dem Markt erschienen ist, es ist also relativ „frisch“. Allerdings ist Angular kein Neuling, denn schon lange vor Angular gab es AngularJS. Die Vorgängerversion erschien bereits 2010. AngularJS und Angular sind nicht kompatibel, da Angular ein komplett neues Konzept vertritt und auch in einer neuen Sprache geschrieben ist – TypeScript. Diese Sprache wird auch in der Entwicklung mittels Angular verwendet.3
TypeScript? Aber ich kann doch nur JavaScript? Muss ich für Angular eine komplett neue Sprache lernen?
Keine Sorge, Angular ist für jeden verwendbar. Zwar empfiehlt das Team von Angular, TypeScript zu verwenden, aber auch reines JavaScript ist möglich. Die Chancen, die TypeScript bietet, sind aber nicht zu verachten. Und der Unterschied zwischen TypeScript und JavaScript ist gar nicht groß. Der Name sagt schon alles, was ihr Wissen müsst. TypeScript arbeitet mit Typen, erkennt, wenn falsche Typen deklariert werden – und warnt, was JavaScript allein nicht tut.4 Ein schneller Einstieg gelingt euch beispielsweise mit diesem Kurs.
Angular verwendet das Model-View-View Model. Sagt dir nichts? Macht nichts, im nachfolgenden Video wird es schnell und simpel erklärt.
React – Facebooks mächtige Bibliothek
Hello World von React – Quelle: eigener Screenshot
Simple Ordnerstrukturen, verwirrender Code. So beginnt das Hello World von React.
Ein großes Fragezeichen steht über euren Köpfen, wenn Ihr React hört? Dann schaut am besten dieses Video als fixen Einstieg.
React ist genaugenommen gar kein Framework, sondern nur eine JavaScript Bibliothek. Geschaffen 2011, von niemand anderem als Facebook, ist React wohl der beste Indikator dafür, dass eine einfache Bibliothek mächtiger sein kann, als man denkt. Der wichtigste Unterschied zu einem Framework ist, dass React sich einzig auf die View Ebene beschränkt. Zwar ist React relativ simpel aufgebaut, es lassen sich aber viele weitere Bibliotheken sehr einfach integrieren.5
Hinzu bietet React eine JavaScript-Syntax-Erweiterung mittels JSX, was vergleichbar mit XML ist. Aber wieso? Das Ziel von JSX ist es, das komplette User-Interface mittels einzelner Komponenten nachzubauen, um HTML in JavaScript zu integrieren. Richtig gehört, die Realität ist bei React einmal komplett verdreht worden. Standardgemäß wird nämlich JavaScript in HTML integriert. So wird nicht nur der Code übersichtlicher, sondern auch DOM-Manipulation fast unmöglich gemacht.6
Was solltest du wählen?
Viel Input, aber immer noch keine klare Empfehlung. Ich entschuldige mich – auch dafür, dass ihr vielleicht noch immer eine klare Empfehlung erwartet. Denn leider ist es nicht einfach zu sagen, zu wem React und zu wem Angular passt. Ein paar einfache Tipps kann ich euch aber mit auf den Weg geben.
Angular Logo – Quelle: angular.io
Angular gilt im allgemeinen als einsteigerfreundlicher, sowohl für Neulinge in der Web-Entwicklungswelt, als auch für Entwickler, die bereits Erfahrungen mit Java oder C++ gesammelt haben. Aber auch React hat viele Vorteile und ist nicht umsonst das beliebteste Framework, ohne überhaupt ein Framework zu sein.
React Logo – Quelle: reactjs.org
Ein Anreiz für React ist der Virtueller DOM, wodurch alles deutlich schneller wird, Angular kann hier nicht mithalten. Hinzu ist React auch bei kleineren Projekten gut geeignet, Angular wirkt dahingehend schnell überladen. Durch die schnell hinzufügbaren Bibliotheken ist React sehr flexibel und auch bei großer Interaktivität nützlich. Angular ist durch seine vielen vordefinierten Funktionen eher funktionabel als flexibel und bei geringer Interaktivität besser.7
React arbeitet mit JSX, was für Einsteiger abschreckend wirken kann. Oft kommt viel Code in einer Datei zusammen. Angular hingegen arbeitet mit HTML, erweitert mit Direktiven. React arbeitet mit dem One-Way-Binding, wodurch die Applikation schneller und flüssiger wird, aber insbesondere wird das Debuggen erleichtert. Angular arbeitet mit einem Double-Blind-Feature, wird also auf der einen Seite etwas verändert, verändert sich die andere Seite ohne, dass dafür etwas getan werden muss. So wird die Seite sehr schnell und responsiv, ein wichtiger Faktor.8
Angulars größter Anreiz ist wohl das, was viele Neulinge auf den ersten Blick abschreckt – TypeScript. Diese Sprache ist allerdings nicht mehr aufzuhalten und wird immer mehr verwendet. Sie ist relativ schnell zu lernen und öffnet viele neue Möglichkeiten. Wenn nicht jetzt, wann dann?
React oder Angular? And the winner is …
Auf wen fällt meine Wahl? Das wird wohl immer davon abhängen, was ich mit meiner Single-Page-Webanwendung erreichen will und wie. Arbeite ich allein oder im Team? Wie ist die Vorerfahrung von jedem einzelnen und wie die Vorlieben? Was ist das Ziel des Projekts?
2 Schlemmer, Frederik (2019): Angular, React oder vue.js? Eine Entscheidungshilfe. Online unter https://www.adesso.de/de/news/blog/angular-react-oder-vue-js-eine-entscheidungshilfe.jsp[Abruf am 19.05.2020]
Die Idee der Animation ist, ein erheiterndes, kleines Visual Graphic Novel zu erstellen, durch das der User mit visuellen Effekten durchgeführt wird.
Das Ziel ist, den User von Anfang bis Ende durch mehrere kleine Animationen zu führen, während er Interaktionen ausführt und Feedback zu den ausgeführten Aktionen erhält. Das Feedback besteht ebenfalls aus visuellen Effekten, sodass der User jederzeit weiß, wo und in welcher Ebene er sich befindet.
Die Führung durch das Visual Graphic Novel erfolgt visuell durch verschieden aufleuchtende Buttons. Durch sich farblich (türkis) abgrenzende Umrandungen der Buttons wird der User zu den gewünschten Aktionen gelotst, da diese am meisten auffallen (über Bewegung und Farbe).
Das Visual Graphic Novel besteht aus zwei Szenen, die der Nutzer frei wählen kann. Die Reihenfolge der Auswahl hat dabei keine Auswirkungen.
Die erste Ebene, der Startbildschirm, dient dem User dazu, das Visual Graphic Novel zu starten.
Auf der zweiten Ebene kann der User eine Szene (Home- oder Outdoor-Szene) auswählen, ohne jedoch das Szenenbild vorher zu sehen. Hier liest er nur den Text der Entscheidungsmöglichkeiten, was auch einen kleinen Überraschungseffekt bei der Auswahl geben soll.
Auf der dritten Ebene kann der User dann zwischen den beiden Szenen hin und her springen, so oft er möchte. Um das ganze unterhaltsamer zu machen, spricht die Figur einen Text. Die Sprechblase wiederholt sich hierbei unendlich oft, sodass der User den Text gut lesen kann, ungeachtete der Lesegeschwindigkeit.
Die vierte Ebene ist der Endbildschirm, wo sich ein “Thanks for playing” (DE: “Danke für das Spielen”) bei dem User verabschiedet. Auf dieser Ebene hat der User die Möglichkeit, das Visual Graphic Novel erneut zu starten.
Verwendete Programmiersprachen:
Die ganze Animation wurde auf Codepen erstellt. Für die Erstellung der einzelnen Animation/-en wurden verwendet:
Die Besonderheiten bei dem Visual Graphic Novel sind klein, haben jedoch einen großen Effekt und Einfluss.
Zunächst ist das Design schlicht gehalten, bzw. der Hintergrund und die Hauptfarbe der Buttons. Dadurch wird die Aufmerksamkeit des Users auf die Szenen(-bilder) und die einzelnen, visuellen Effekte gelenkt.
Die Effekte der Klasse ‘hint‘
Die Klasse ‘hint’ hat das Ziel, den User durch das Visual Graphic Novel zu führen. Der visuelle Effekt ist ein türkis-farbenes Pulsieren (in CSS definiert). Beim Startbildschirm (Ebene 1) wird die Aufmerksamkeit des Users somit vor allem auf den Start-Button gelenkt. Danach (Ebene 2) wird der Effekt “verschoben” und ist nun nur auf der Szenen-Auswahl zu sehen, damit der User weiß, dass er sich nun für eine der beiden Optionen entscheiden soll. Ist nun eine Szene ausgewählt (Ebene 3), wird der pulsierende Farb-Effekt auf die nicht ausgewählte Option verschoben, sowie den Stop-Button. Damit weiß der User zum Einen, dass die andere Option noch ausgewählt werden kann, und zum Anderen, dass jederzeit das Spiel nun beendet werden kann. Wird nun auf den Stop-Button geklickt, wird der Farb-Effekt erneut auf den Start-Button geschoben, damit der User nun die Möglichkeit erkennt, erneut auf Start zu klicken. Die Steuerung, wann der Farb-Effekt, bzw. die Klasse ‘hint’ wo hin verschoben werden soll, wird mit Hilfe der Buttons in JavaScript festgelegt. Der Effekt selbst wird mit CSS erstellt, mehr dazu unter dem Abschnitt Visuelle Effekte.
Die Figur und Objekte
Die Figur ist nicht nur eine Dekoration, sondern erfüllt auch einen Zweck: Ein Feedback an den User. Das Feedback ist simpel: Wurde sich nun für eine Szene entschieden, taucht eine Sprechblase von der Figur auf. Damit wird dem User gezeigt, dass die Szenen-Auswahl durchgeführt wurde und etwas passiert ist. Dabei wird der gesprochene Text in der Sprechblase unendlich oft wiederholt, damit der User jederzeit den Text erneut und so oft er will lesen kann. Des Weiteren erheitert der gesprochene Text der Figur (hoffentlich!) den User und hinterlässt somit einen positiven Eindruck. Die Figur wird in CSS mit der Klasse ‘figure’ definiert.
Die anderen Objekte / Graphiken dienen hier der Dekoration und erhöhen den Spaß-Effekt beim Umschalten der Szenen.
Der Wegweiser
Der Wegweiser (eine SVG-Graphik), der einzig allein in Ebene 2 auftaucht, besitzt eine wichtige Funktion: Das Wegweisen. Da Graphiken, bzw. Bilder, meist mehr für sich sprechen als Text, wird dem User vor dem Lesen der Optionen bereits gezeigt, dass nun eine Entscheidung auf ihn zukommt. Ein Wegweiser ist hierbei ein allgemein bekanntes Symbol, dass von dem User nicht falsch verstanden werden kann, und dabei schneller auffällt als der Text in den Optionen. Der Wegweiser wird mit der ID ‘#signpost’ in CSS definiert und mit Hilfe von JavaScript gesteuert. Mehr dazu unter dem Abschnitt Buttons & Option.
Grundbausteine
Da es in dem Visual Graphic Novel viele verschiedene Elemente gibt, die von JavaScript gesteuert werden und auf verschiedenen Instanzen auftauchen sollen, schließen verschiedene div-Container diese ein.
Im ‘body’ wird alles Wichtige wie background-size, background-color, sowie die Inhaltsplatzierung innerhalb des ‘bodys’ und die Schriftart definiert. Die border- und box-shadow-Einstellungen schaffen hierbei eine Abgrenzung von dem restlichen Browserfenster und begrenzen die Darstellungsoberfläche des Visual Graphic Novels.
Der div-Container mit der Klasse ‘main-content’ ist dafür da, um den gesamten Inhalt (also alle Graphiken) als eine Einheit zu platzieren und sie durch JavaScript und JQuery zu steuern, d.h. einen Start-Bildschirm zu erschaffen. Damit kann der gesamte Inhalt in ‘main-content‘ mit einem Klick aus- und eingeblendet werden, wenn einer der Buttons gedrückt wird. Das geschieht dadurch, dass dieser Klasse eine Id ‘gamestop’ und ‘gamestart’ (definiert in CSS) mit der Eigenschaft ‘visibility:hidden’ zugewiesen und wieder entfernt wird.
<!-- die Id wird in JS genutzt, um einen Startbildschirm zu erschaffen --!>
<div id="gamestart" class="main-content"> <!-- wird genutzt, um den main-content zu steuern und zu positionieren -->
Der div-Container ‘illustration’ enthält alle Graphiken, bzw. SVG-Graphiken, und fixiert diese. Da nicht alle SVG-Graphiken eine geeignete Proportionalität besitzen, um zusammen dargestellt zu werden, hilft das Fixieren auch dabei, um sie gegenseitig aufeinander abzustimmen.
Person-type: Home-Body & Outdoor-Person
<div class="person-type home-body active"> <!-- hier ist die home-scene mit dazugehörigen Objekten -->
<div class="scenery">
<img src="https://image.freepik.com/free-vector/living-room-interior-with-panoramic-window-night-time_33099-1735.jpg" class="backgroundimg"/>
</div>
<div class="background.items">
<img src="https://image.flaticon.com/icons/svg/214/214283.svg" width="100px" height="400px"/>
</div>
<div class="foreground-items">
>img src="http://image.flatcon.com/icons/svg/198/198916.svg" width="65px" style="margin-left:-10%"/>
<img src="Http://image.flaticon.com/icons/svg/3145/3145435.svg" width="65px" style="padding-left:30%;"/>
</div>
</div>
Mit der Klasse ‘person-type‘ werden in CSS alle Kindelemente dieser Klasse definiert und in JavaScript zwischen den Szenen hin- und hergewechselt, wenn die jeweilige Option ausgewählt wird.
.person-type > div {
transform: scale(0);
opacity:0;
}
.person-type.active > div {
transform: scale(1);
opacity: 1;
Durch ‘person-type > div’ werden alle Kindelemente der Klasse ‘person-type‘ ausgewählt. Es gibt ‘person-type‘ einmal für die Home-Szene (inklusive der dazugehörigen Graphiken) und dann für die Outdoor-Szene. Wenn eine der Szenen ausgewählt wird, wird diese Szene durch ‘person-type.active’ (definiert in CSS) nach “vorne geschoben“‘(transform:scale (1))’ und durch ‘opacity:1’ sichtbar gemacht. Die andere Szene wird durch ‘person-type > div’ nach “hinten geschoben“ ‘(transform:scale(0))’ und mit ‘opacity:0’ unsichtbar gemacht. Dadurch können beide Szenen an den gleichen Platz im Container geschoben werden, ohne dass sie sich gegenseitig verdrängen. Die Szenenauswahl wird durch den Button mit JavaScript ausgelöst. Darauf wird später in Buttons & Option noch mehr eingegangen.
Container Scenery & Backgroundimg
Der div-Container ‘scenery’ umfasst das Szenenbild (für jeweils die Home- und Outdoor-Szene). Mit dieser Klasse wird der Einblendungseffekt / Übergangseffekt beim Szenenwechsel in CSS mit ‘transition:’ definiert.
Der div-Container ‘backgroundimg’ wird in CSS definiert und erfüllt den Zweck, die Hintergrundbilder der Szenen auf die gleiche Größe zu skalieren und dem Bild mit ‘border-radius’ und ‘box-shadow’ eine Form und einen visuellen Tiefen-Effekt zu geben.
.scenery 7
transition: all 200ms cubic-bezier(0.68, -0.55, 0.265, 1.55);
z-index: -2;
0/* Styled die Hintergrundbilder der Scenen */
.backgroundimg7
border-radius:50%;
margin-left:-73%;
width:626px;
height: 3356px;
box-shadow: 0px 0px 15px #000000;
Der ‘foreground-items’ div-Container beinhaltet die Graphiken, die sich in den beiden Szenen jeweils weiter vorne befinden und bei einem Szenenwechsel später eingeblendet werden als die Graphik im Hintergrund und das Hintergrundbild.
Mit ‘transition:’ wird der Einblendungseffekt / Übergangseffekt dieser Objekte beim Szenenwechsel festgelegt.
Background-items Container
Der div-Container mit der Klasse “background-items” beinhaltet die eine Graphik (jeweils in beiden Szenen), die zu einem früheren Zeitpunkt als die Graphiken in dem ‘foreground-items container’ in der ausgewählten Szene auftauchen. Dies ist in CSS mit ‘transition:’ definiert, wie in der folgenden Abbildung zu sehen ist.
Der div-Container ‘option-wrapper’ beinhaltet beide Szenen-Optionen und umschließt diese, damit sie zusammen in einem Button erscheinen können. Außerdem wird mit dieser Klasse der div-Container per JavaScript “anvisiert”, bzw. mit einem Leuchteffekt versehen, damit dieser zum geeigneten Augenblick die Aufmerksamkeit des Users bekommt. Zu den Buttons unter Buttons und zu dem Leucht-Effekt unter Visuelle Effekte mehr.
<div class="option-wrapper">
<aclass="option active wobble-vertical-on-hover homeoption hint" data-option="home">
I'm gonna read a nice book and stay in. </a>
<a class="option wobble-vertical-on-hover outdooroption hint" data-option="outdoor">
I'm gonna explore the wide world and beyond! </a>
</div>
Buttons & Option
Die Klasse ‘option’ ist allen Buttons zugeteilt. Also jeweils dem Start- und Stop-Button sowie beiden Szenen-Optionen. Die Klasse ‘option’ regelt mit ‘transition:’ in CSS den Übergang der ausgewählten Option sowie den Style der einzelnen Optionen. Somit grenzen sich z.B. die Outdoor-Szene und Home-Szene innerhalb des ‘Option-Wrappers’ voneinander ab und erscheinen als zwei eigene Buttons. Mit ‘cursor’ wird zudem der Cursor über dem Button definiert.
Die Klasse ‘active’ definiert, wie die ausgewählte Option aussieht. Durch die Klasse ‘active’ verändert sich die Hintergrundfarbe und Schriftfarbe des Buttons (gelber Hintergrund, schwarze Schrift), wenn dieser angeklickt wird.
Bei der Szenenauswahl wird der ‘person-type’ der jeweiligen Option angesprochen, der bei beiden Szenen unterschiedlich ist und in der JavaScript-Funktion jeweils definiert ist, bzw. welche Elemente dazugehören. Der Wechsel der Optionen, sowie die Zuweisung der Klasse ‘active’, geschieht mit folgender Funktion in JavaScript:
$(".option").on("click", function() {
$(".person-type").removeClass(active");
$(".option").removeClass("active");
$(this).addClass("active");
var type = $(this).data("option");
console.log($(type));
Die beiden Person-Types (‘data-option’ in HTML) der Optionen, also ‘person-type home’ und ‘person-type outdoor’ in JavaScript, bestimmen, welche weiteren Grafiken / Objekte dargestellt werden. Dies ist definiert als if und else if (untere Abbildung) in der Funktion “click”, (obere Abbildung). Wird also die ‘option’ mit dem ‘type == “home”‘ (in HTML data-option) angeklickt, wird der Klasse ‘home-body’ die Klasse ‘active’ zugewiesen. Desweiteren werden damit alle benötigten Elemente für diese Szene eingeblendet, sowie nicht benötigte ausgeblendet, mit folgender Funktion:
setTimeout(function() {
if (type === "home") {
$(".home-body").addClass("active");
$("#signpost").css({"visibility": "hidden"});
$("#bubbletoggle1").css({"visibility": "visible"});
// Hier der Wechsel der Sprachblasen
$(".bubble2").hidden();
$(".bubble1").show();
$".stop-button").addClass("hint");
$(".homeoption").removeClass("hint");
}
<div class="option-wrapper ">
<a class="option active wobble-vertical-on-hover homeoption hint" data-option="home">
I'm gonna read a nice book and stay in.</a>
<a class="option wobble-vertical-on-hover outdooroption hint" data-option="outdoor">
I'm gonna explore the wide world and beyond! </a>
</div>
Der ‘Signpost’ ist eine Grafik, die in Ebene 2 eingeblendet wird, hier jedoch ausgeblendet werden soll. Mit der Klasse ‘hint’ wird eine farbliche (türkis-farbene) Umrandung um den Stop-Button gesetzt, damit der User darauf aufmerksam gemacht wird, dass er das Visual Graphic Novel ab jetzt beenden kann. Gleichzeitig wird diese Klasse der jetzt ausgewählten Option entzogen, da die Aufmerksamkeit des Users bereits auf diesem Button liegt. Die ID ‘#bubbletoggle1’ ist in einem anderen Abschnitt erklärt.
Der Start- und Stop-Button
Der Start- und Stop-Button dient dazu, einen Start-Bildschirm und einen End-Bildschirm zu erschaffen, sowie dem User die Möglichkeit zu geben, dass Visual Graphic Novel jederzeit zu verlassen. Dazu wird den beiden Buttons die Klasse ‘active’ gegeben, damit diese genauso wie die Szenen-Options reagieren (weiter oben beschrieben). Ebenso wird zum Zwecke der User-Lenkung und User-Aufmerksamkeit die Klasse ‘hint’ vergeben, die farbliche Effekte (türkis-farbene Umrandung) vergibt.
Der Style der beiden Buttons wird in CSS festgelegt. Dafür wird die Klasse ‘buttons’ vergeben. Der Zweck der Klasse ‘hint’ wird im Abschnitt ‘Besonderheiten’ und die CSS-Definition unter Visuelle Effekte mehr erläutert.
.button{
display: flex;
position: center;
margin:0en auto;
background: rgba(255,255,255,0.25);
border-radius: 50px;
padding: 5px;
max-width: 300px;
font-size: 15px;
line-height: 1.2;
} /* Wird genutzt, um per JS zu steuern, wann der Inhalt auftaucht, wenn die buttons gedrückt werden*/
#gamestart{
visibility:hidden;
}
#gamestop{
visibility:hidden;
}/* Danke-Text am Ende des Spiels */
Die ID ‘#gamestart{visibility:hidden;}’ und ‘#gamestop{visibility:hidden;}’ werden in JavaScript dafür verwendet, um beim Klicken der Buttons den ‘main-content’ einzublenden und beim Drücken des Stop-Buttons den ‘main-content’ auszublenden. Zur Übersichtlichkeit der Steuerung in JavaScript wurden also die beiden ID’s jeweils einzeln in CSS definiert, obwohl sie die gleichen Attributwerte besitzen. Die beiden Funktionen für den Start-Button und den Stop-Button sehen wie folgt aus:
$(".star-button").on("click", function() {
$(".main-content").removeAttr("id", "gamestart");
$(".thanks").css({"visibility": "hidden"});
$("#signpost").css({"visibility": "visible"});
// "hint" gibt dem User Hinweise, wo hingeklickt werde
$(".button").removeClass("hint");
$(".start-button").removeClass("hint");
$(".option-wrapper").addClass("hint");
});
//Funktion und eizelne Aktionen, die ausgeführt werde
$(".stop-button").on("click", function() {
$(".mnain-content").attr("id", "gamestop");
$(".bubble").hide();
$("#signpost").removeAttr("style", "visible");
$(".thanks").css({"visibility": "visible"});
$(".button").addClass("hint");
// wenn der stop-button geklickt wird, muss das lightni
$(".stop-button").removeClass("hint");
//hiermit wird die Klasse "hint" den beiden Scenen-Opt
$(".homeoption").addClass("hint");
$(":outdooroption").addClass("hint");
});
Die beiden Funktionen definieren auch, was beim Drücken des Buttons eingeblendet und ausgeblendet werden soll. Dies geschieht durch die Klassen und ID’s, die in CSS definiert sind (wenige Ausnahmen befinden sich als Attributwert in HTML).
Sprechblase
Die Sprechblase der Figur in beiden Szenen hat jeweils einen verschiedenen Text. Aus diesem Grund wurden einmal die Klassen ‘bubble1’, ‘bubbletoggle1’, ‘bubble2’, ‘bubbletoggle2’ vergeben und an beide jeweils die Klassen ‘bubble’ und ‘anim-typewriter’.
<div id="bubbletoggle1" class="buble1" style="visibility:hidden;">
<a lass="bubble bubble1 anim-typewriter "> Ah! That was a good desicion! Now a nice cup of tea...would you set the kettle on? </a>
</div>
<div id="bubbletoggle2" class="bubble2" style="visibilioty:hidden;">
<a class="bubble bubble2 anim-typewriter">What a lovely day, isn't it? Ans such charming strangeers visiting!</a>
</div>
Die Klasse bubble
Die Klasse ‘bubble’ ist dafür da, um die Sprechblase per CSS zu stylen. Die CSS-Attributwerte von ‘min-width’, ‘max-width’, ‘max-height’ sind hierbei besonders wichtig, da sie bestimmen, wie groß die Sprechblase werden kann, wenn der Text auftaucht. Je nachdem, wie lang der Text ist, muss natürlich auch die ‘min-width’, ‘max-width’ und ‘max-height’ angepasst werden. Wäre ‘max-height’ in diesem Fall kleiner als die festgelegten ’50px’, würde nicht der ganze Text auftauchen können.
Wichtig hierbei ist der Attributwert infinite, der leider etwas schwierig zu handhaben ist. Darauf wird in “bubbletoggle: Der unendliche Text” weiter eingegangen.
Die Klassen bubble1 und bubble2
Die Klassen ‘bubble1’ und ‘bubble2’ werden in JavaScript verwendet, um die jeweilige Sprechblase in der richtigen Szene einzublenden und auszublenden. Die Klasse ‘bubble1’ ist hierbei für die Home-Szene, ‘bubble2’ für die Outdoor-Szene. Aus- und eingeblendet wird die Klasse in JavaScript mit ‘$(.bubble1).hide()’ und ‘$(.bubble1).show()’. Da beide Szenen auch unterschiedlich helle Hintergründe haben, wird mit dieser Klasse in CSS auch die Farbe der Sprechblasen angepasst.
Eigene Abbildung: Der unendliche Text der Sprechblase
Der Text in den Sprechblasen wird unendlich wiederholt, um dem User das Lesen zu ermöglichen und zu vereinfachen, wann auch immer die Szene ausgewählt wird und unabhängig davon, wie schnell die Lesegeschwindigkeit des Users ist. Die Klassen ‘bubbletoggle1’ und ‘bubbletoggle2’ werden dafür verwendet, um den Text der Sprechblasen durch JavaScript (und CSS) in HTML mit ‘visibility:hidden’ und ‘visibility:visible’ unsichtbar und sichtbar zu machen. Dies ist sehr ähnlich wie das, was die Klassen ‘bubble’ und ‘bubble1’ (oder bubble2) schon machen. Hierbei gibt es aber ein Problem:Unendlich heißt unendlich. Die einzige Möglichkeit in diesem Fall, den sich unendlich wiederholenden Text in der Sprechblase unsichtbar zu machen, ist über eine extra ID und ein dazugehöriger Style-Attributwert in HTML, der in JavaScript gezielt angesprochen wird. Damit wird keine andere Klasse beeinflusst oder verändert, was später zu Komplikationen führen könnte. In JavaScript sieht das dann folgendermaßen aus: $(“bubbletoggle1″).css({visibility:”visible”}); für die Home-Szene und für die Outdoor-Szene $(“#bubbletoggle2”).css({“visibility:”visible”}); . In dem Abschnitt Buttons ist die gesamte Funktion erklärt und zu sehen.
<div id="bubbletoggle1" class="bubble1" style="visibility:hidden;">
<a class="bubble bubble1 anim-typewriter ">Ah! That was a good decision! Now a nice cup of tea...would you set the kettle on?</a>
</div>
<div id="bubbletoggle2" class="bubble2" style="visibility:hidden;">
<a class="bubble bubble2 anim-typewriter">What a lovely day, isn't it? And such charming strangers visiting!</a>
</div>
Visuelle Effekte
Die Klasse hint
Eigene Abbildung: Klasse hint beim Start-Button und Stop-Button
Die User-Lenkung durch die Klasse ‘hint’ wurde vom Zweck und der Funktion her im Abschnitt Besonderheiten erläutert. Der Licht-Pulse-Effekt wird in CSS erstellt und definiert.
Die Dauer der Animation ist mit ‘-webkit-animation-duration:2s;’ festgelegt. Der Farbwechsel (oder auch die Intensität) im Verlauf der Animation ist durch die ‘@-webkit-keyframes hintpulse’ definiert. Dabei wurden verschiedene Abstufungen des original Farbtons für die Intensität verwendet.
Der Wobble-Effekt
Der Wobble-Effekt wird durch die Klasse ‘wobble-vertical-on-hover’ in CSS definiert. Beim Hovern über ein Element mit dieser Klasse “wobbelt” jenes. Damit weiß der User, dass mit diesem Element interagiert werden kann. Die Definition und Animation ist in CSS festgelegt.
Mit der Klasse ‘wobble-vertical-on-hover’ und zusätzlich ‘:hover’, ‘:focus’, ‘:active’ wird festgelegt, dass sowohl beim hover, als auch so lange die Maus darauf ist der Effekt gilt. Mit ‘animation-iteration-count:infinite’ wird dieser Effekt so lange wiederholt, bis weder ‘hover’,’active’ noch ‘focus’ für dieses Element gilt, bzw. es dadurch nicht mehr ausgelöst wird. Mit ‘@keyframes wobble-vertical-on-hover’ wird die Bewegung nach oben und unten definiert/ festgelegt; also die Vektoren, wo sich das Element mit dieser Klasse an einem bestimmten Prozent(-punkt) der Bewegung befinden muss.
Und nun sind alle wichtigen Code-Abschnitte erklärt. Falls das Interesse an dem Quellcode (inklusive Kommentare darin!) vorhanden ist, muss nur wieder nach zum Seitenanfang gesprungen, die ZIP-Datei heruntergeladen und entpackt werden!
SEO. Vielleicht bist auch du über diesen Begriff gestolpert, aber wusstest nie was er bedeutet. In diesem Beitrag versuche ich es dir mal zu erklären. Stell dir vor du würdest nach Informationen für deine Präsentation im Internet suchen. Wahrscheinlich suchst du dafür in Google so wie es die Mehrheit tut. Dazu gibst du deine Suchanfrage in die Suchmaschine ein und erhältst innerhalb weniger Sekunden eine Überflutung an Webseiten. Die Ergebnisse sind dann auf mehreren Seiten verteilt. Bestimmt ergeht es dir wie den meisten und du klickst die ersten Ergebnisse an. Doch wie schaffen es genau diese Webseiten auf den ersten Seiten einer Suchmaschine zu erscheinen? Dafür ist SEO verantwortlich. Aber was ist denn nun SEO? Und wie funktioniert es? Das erfährst du hier.
SEO ist die Abkürzung für Search Engine Optimization, zu Deutsch Suchmaschinenoptimierung. Es ist ein Teil des Suchmaschinenmarketings und wird für das Online Marketing angewendet. Dabei stehen das Erzielen von Umsatz, Steigerung der Popularität und der Besucherzahl sowie die Erhöhung der Reichweite im Fokus. Bei SEO werden Maßnahmen ergriffen, damit Webseiten und deren Inhalte in Suchmaschinen besser aufgefunden und als eine der ersten Treffer (Ranking) platziert werden. Dies gilt nicht nur für Webseiten, sondern auch für Bilder und Videos [4]. Hierfür werden verschiedene Rankingfaktoren beachtet und nach denen optimiert.
Steigerung der Reichweite
SEO wird in zwei Bereiche unterteilt: In die Onpage Optimierung und in die Offpage Optimierung. Im Folgenden wird zunächst auf die Onpage Optimierung und danach auf die Offpage Optimierung näher eingegangen
Onpage Optimierung
Unter Onpage Optimierung versteht man Maßnahmen der Suchmaschinenoptimierung, die auf der eigenen Webseite vorgenommen werden. Hierbei sollen die Faktoren Technik, Inhalt und Strukturder Webseite nach Suchmaschinenkriterien verbessert werden. In der Regel sind das Faktoren für Google [2]. “Ziel der Onpage Optimierung ist es vor allem, ein möglichst gutes Ranking in Suchmaschinen zu erreichen” [8].
Rankingfaktoren der Onpage Optimierung
In diesem Abschnitt werden ein paar Beispiele für Rankingfaktoren aufgelistet.
Rankingfaktor Inhalt
“Einzigartige, aktuelle und hochwertige Inhalte beeinflussen diverse Rankingfaktoren und sind der Schlüssel zu einer hohen Kundenzufriedenheit” [8]. Sie steigern die Verweildauer und senken die Absprungsrate [8]. Um guten Inhalt zu verfassen, muss man sich in die Sicht des Nutzers hineinversetzen. Daher müssen folgende Fragen beantwortet werden: Löst der Inhalt ein Problem? Ist er individuell gestaltet und geschrieben? Unterscheidet er sich zu anderen Webseiten? Wird überhaupt nach dem Problem gesucht?
Zu dem Inhalt zählt ebenfalls wie dieser strukturiert ist. Die Verwendung aussagekräftiger Überschriftenspielt hierbei eine große Rolle. Als Hauptüberschrift der Webseite muss eine H1 Überschrift verwendet werden. Für Überschriften der zweiten Ordnung die H2 Überschrift und so weiter. Ebenfalls sollte der Text gut lesbar sein. Komplizierte Satzstruktur und Rechtschreibfehler sollten vermieden werden. Ebenfalls erleichtern Absätzedem Nutzer das Lesen. Des Weiteren muss auf die Formatierunggeachtet werden. Wenn sie nötig ist, sollte sie eingesetzt werden wie z.B. bei Aufzählungen oder Tabellen. Ebenfalls ist für die Orientierung ein Inhaltsverzeichnis von Vorteil. Als positiv gewertet wird auch das Einbinden einer Interaktionsmöglichkeit. Das weckt das Interesse des Nutzers und bindet ihn in den Inhalt ein. Dies kann dazu führen, dass der Text somit verständlicher ist. Beispiele für Interaktionsmöglichkeiten sind ein Quiz am Ende des Textes oder freie Felder für Kommentare [9].
Für das Auffinden der Webseite müssen Keywords eingesetzt werden, die man bei der Suchanfrage verwenden würde. Diese müssen möglichst häufig im Text vorkommen. Dies gilt ebenfalls für die URL, bei der der Besucher sofort weiß, auf welcher Webseite er sich befindet und wovon diese handelt.
Damit sich die Verweildauer der Besucher erhöht, ist es gut Multimedia Elemente, wie Bilder oder Videos, auf deine Webseite zu platzieren [2]. Bei Bildern müssen einige Kriterien beachtet werden. Bilder müssen komprimiert und auf die richtige Größe zugeschnitten werden. Bei der Bildbenennung sollten Keywords sowohl im Titel als auch im Dateinamen enthalten sein. Hinzu kommt das Nutzen von Titel und ALT-Attributen, um das Bild zusätzlich zu beschreiben [9].
Rankingfaktor Technik
Die Inhalte deiner Webseite müssen gut lesbar sein. Dies bedeutet, dass die Webseite an mobile Endgeräte angepasst werdenmuss. Dazu zählen z.B. Handys und Tablets. Ebenso muss der Zugang zur Webseite gewährleistet sein (Barrierefreiheit). Weiterhin ist eine hohe Ladegeschwindigkeit wichtig, damit der Besucher auf der Webseite verweilt [2].
Studien haben gezeigt, dass die durchschnittliche Wartezeit beim Laden einer Webseite 3 Sekunden beträgt [1]. Also immer daran denken!Ebenfalls muss man an die Nutzerfreundlichkeit der Webseite denken. Das bedeutet jeder muss sich auf der Webseite gut zurechtfinden. Eine gute Navigation muss gegeben sein.
Des Weiteren helfen Interne Verlinkungen innerhalb einer Webseite nicht nur bei dem Zurechtfinden, sondern auch zur Nachverfolgung, wo man sich aktuell befindet. Dies kann man durch eine verlinkte Menüführung, Links zu Unterseiten oder Breadcrumbs erreichen. Breadcrumbs ist eine Unternavigation, die zur Orientierung dient. Dabei wird ein Pfad von Seiten angezeigt, die man durchklicken muss, um auf die aktuelle Seite zu gelangen. Solche Breadcrumbs wirken sich im Suchmaschinenranking bei Google positiv aus.
Je schneller ein Besucher die benötigte Seite auf einer Webseite erreicht, desto besser. Dies bedeutet, wenn der Benutzer durch wenig Durchklicken an sein Ziel kommt, wirkt es sich positiv auf das Ranking aus. Das heißt durch wenig Deep Links gelangt der User an sein Ziel [2].
⇒ “Richtwert: von der Homepage zur Zielseite in drei Klicks”[2].
Rankingfaktor Struktur
HTML Kenntnisse sind hier von Vorteil. Das Nutzen von Tagsund Überschriften sowie die Strukturierung des Textes fließen in das Ranking mit ein [2]. Ebenso ist das Einsetzen von Meta-Tags wichtig. Hierzu ein paar Beispiele:
Verwendung von Keywords im Title Tag, das als Seitenbenennung und Überschrift in Suchergebnissen dient, vermittelt dem Nutzer den Inhalt der Seite
Zum Ranking zählt ebenfalls die Beschreibung des Inhalts durch das Einsetzen von Meta-Description Tags
Ein weiteres Beispiel ist die Benennung von Bildern durch das (IMG)Title Tag. Dies erleichtert Google das Verstehen des Bildinhalts
Der Tag kann auch für Verlinkungen verwendet werden [8].
Bisher war die Rede nur von Onpage Optimierung. Dabei gibt es einen zweiten Bereich von SEO: Die Offpage Optimierung. Was ist denn nun der Unterschied zwischen den beiden Bereichen? Der Unterschied liegt bei den Maßnahmen der Optimierung. Hierbei werden Maßnahmen ergriffen, die außerhalb der eigenen Webseite stattfinden. Ein weiterer Unterschied ist, dass im Gegensatz zu der Onpage Optimierung, die Offpage Optimierung nicht aktiv beeinflussbar ist.
Wird eine Webseite mehrmals verlinkt und von anderen Webseiten empfohlen, signalisiert das der Suchmaschine, dass der Inhalt einer Webseite gut sein muss. Die mehrfachen Verlinkungen sind so genannte Backlinks. Wenn eine Webseite mehrere Backlinks erhält, entsteht eine externe Verlinkungsstruktur. Aus diesem Grund steigt die Reichweite und der Bekanntheitsgrad. Dies ist das Hauptziel von Offpage Optimierung. Doch wie veranlasst man nun am besten die Bildung von Backlinks?
Methoden der Offpage Optimierung
Persönliche Kontakte
Wenn man Kontakte hat, die selber Webseitenbetreiber sind oder Webseitenbetreiber im Bekanntenkreis haben, kann man sie fragen, ob sie die Webseite verlinken [2].
Linkbuilding
Beim Linkbuilding soll eine Website so viele Backlinks wie möglich erhalten. Vor allem gut für das Ranking ist es, wenn die Website organisch die Backlinks aufbaut. Das signalisiert der Suchmaschine, dass die Nutzer gerne und von selbst die Seite aufgrund ihres Inhalts verlinken. Gekaufte Backlinks werden von Google erkannt und können abgestraft werden. Ebenso wirken sich der Linktext, die Linkposition und die Anzahl der Links von einer Quelle auf die Stärke der Verknüpfung aus. Nach diesen Faktoren wertet Google die Stärke der Verknüpfung aus [11]. Ein guter Trick für die Erzeugung von Backlinks ist, wenn man selbst Verlinkungen von anderen Webseiten auf seiner eigenen Webseite setzt. Die Webseitenbetreiber können das sehen und einen auf der eigenen Webseite zurück verlinken [2]. Hier ein paar Beispiele für gute Backlink-Quellen: Social Media, Artikeltexte, Verzeichnisse, Kommentare und Foren [10].
Soziale Netzwerke
Verlinkungen in Kommentaren oder Posts auf verschiedenen sozialen Netzwerken, wie Instagram, Twitter, YouTube, können gute Backlinks einbringen [2]. Nutzer können mit den Inhalten interagieren und sorgen durch den viralen Effektdafür, dass sich dieser verbreitet und dadurch viele weitere Nutzer auf die Website aufmerksam werden [10]. “Ein hohes Suchvolumen nach einem Markennamen oder die häufige Erwähnung eines Unternehmens im Netz könnten darauf hindeuten, dass eine Marke über hohe Brand Awareness verfügt und bekannt ist. Zudem lassen sich viele Backlinks und eine hohe Aktivität sowie hohe Followerzahlen in Social Media als deutliche Hinweise auf eine erfolgreiche Marke anführen” [11]. Diese „Social Signals“werden von Google positiv bewertet und fördern das Ranking der Website [10].
Social Media trägt einen großen Teil zu Verlinkungen bei. Um den oben genannten Punkt zu verdeutlichen zeigt diese Tabelle einen Ausschnitt der Anzahl der Nutzer von den meist genutzten sozialen Netzwerken (Stand: Januar 2019)[3].
Soziales Netzwerk
Userzahl
Facebook
2,27 Milliarden
YouTube
1,900 Milliarden
Instagram
1,000 Milliarden
Twitter
360 Millionen
Branchenbücher
Durch das Eintragen einer Webseite in Branchenbücher, wird dem Nutzer verholfen die Webseite online über die Branche zu finden. Somit können ebenfalls Backlinks erzeugt werden [2].
Eine kurze Zusammenfassung in Form einerInfografik verschafft dir einen besseren Überblick über die SEO Maßnahmen [5].
SEO und UX
SEO und die User Experience hängen miteinander zusammen und auch voneinander ab. Google kann mittlerweile die Inhalte der Webseiten semantisch erfassen und zuordnen. Ebenso kann die Suchmaschine die Bedienbarkeit einer Webseite bewerten. Dazu zählen z.B. versteckte Inhalte hinter Tabs, die man auf den ersten Blick nicht sieht. Jedoch erkennt Google solche Inhalte und kann sie dementsprechend positiv oder negativ bewerten. In Bezug auf die Rankingfaktoren von Google, zeigt sich ein Zusammenhang zwischen SEO und UX. Setzt man bestimmte Rankingfaktoren um, steigt die UX. Hier einige Beispiele:
Durch den Einsatz von HTTPS wird die Sicherheit der Seitenbesucher erhöht
Kurze Ladezeiten machen das Abrufen von Webseiten leichter
Durch Anpassung an mobile Endgeräte wird ein Abruf von Webseiten auf Smartphones und anderen Geräten ermöglicht
Webseiten, die wenig Werbung und viele hilfreichen Inhalten enthalten, helfen dem Nutzer das zu finden, wonach er sucht
Durch eine Einteilung der Webseite in Kategorien wird das Auffinden der Webseite erleichtert.
Je einfacher Google es hat, wie ein Nutzer die Webseite zu bedienen, desto besser ist die User Experience sowie die ergriffenen Maßnahmen von SEO. In Folge dessen steigt die Webseite im Ranking [12].
Fazit
Die Onpage- und Offpage Optimierung sind ein wichtiger Teil der Suchmaschinenoptimierung. Bei Onpage Optimierung dreht sich alles um das Auffinden einer Webseite in einer Suchmaschine (meistens Google), indem man die Webseite nach verschiedenen Rankingfaktoren optimiert. Das kann aktiv beeinflusst werden und passiert gezielt auf der Webseite. Technische, strukturelle und inhaltliche Aspekte zählen zu diesen Rankingfaktoren. Ein wesentlicher Vorteil der Onpage Optimierung ist die Erhöhung des Traffic der eigenen Webseite. Zudem dreht sich dabei alles um die Usability [8].
Zusätzlich zu der Onpage Optimierung hilft die Offpage Optimierung die Webseite und die eventuell damit verbundene Marke bekannt zu machen und die Reichweite zu steigern. Hierfür sind Backlinks für Google ein wichtiges Rankingkriterium. Insbesondere die Verlinkungen auf den sozialen Medien wirken sich auf das Ranking aus. Im Gegensatz zu der Onpage Optimierung ist die Offpage Optimierung nicht aktiv beeinflussbar ist. Hierfür spielen die Nutzer eine große Rolle. Sie interagieren mit den Inhalten und verbreiten diese viral. Dadurch werden weitere Nutzer auf die Webseite aufmerksam. Infolgedessen entscheiden und bewerten sie den Inhalt der Webseite und teilen diese. Entscheidend für das Verbreiten und somit das Erzeugen von Backlinks sind guter Content, Nutzerfreundlichkeit und starke Interaktion mit den Kunden/Nutzern. All dies sorgt für bessere SEO-Ergebnisse [11].
Quellenverzeichnis
1: Quietsch, Phillip (o. J.): Google Report: verschenktes Conversion-Potenzial durch lange mobile Ladezeiten. Online unter https://www.effektiv.com/mobile-ladezeiten-2714.html [Abruf am 04.12.2019]
“Plugins erweitern die Funktionalität von WordPress und helfen Webseitenbetreibern beim Hinzufügen neuer Elemente oder Funktionen. Dabei muss der Betreiber selbst keinen komplexen Programmcode schreiben. Auch können diese Erweiterungen als Erleichterung bei der Pflege von Informationen und Inhalten dienen. In der vorliegenden Bachelorarbeit wird die Konzipierung, Umsetzung und Anwendung eines solchen Plugins für den Vergleich von Veranstaltungen beschrieben. Dabei findet es Anwendung auf einer Internetseite zum Thema Festivals. Die Informationen bezüglich der Festivals werden per Import in einer Tabelle gespeichert und für den Vergleich dargestellt. Eintragungen können auch händisch getätigt werden, woraus sich schließlich ergibt, dass das Plugin mit seiner Importfunktion eine zeitsparende und sinnvolle Erweiterung ist.”
Die Bachelorarbeit von Lukas wurde vorbildlich über SerWisS veröffentlicht und ist als Volltext zu finden unter:
Autori*nnen: Judith Hauschulz und Verena-Christin Schmidt
Oder: Werden Windeln und Bier wirklich oft zusammen gekauft?
Die Warenkorbanalyse gehört zum Data Mining und ist ein Anwendungs-gebiet der Assoziationsanalyse. Wenn du diese Begriffe hörst, ist dir wahrscheinlich klar, dass es um Daten geht. Aber das klingt nun vielleicht etwas trocken, deshalb fangen wir nochmal neu an:
Du wolltest schon immer wissen, warum dir beim Online-Shopping “passende” Artikel vorgeschlagen werden?
Dich interessiert, wieso sich die Süßigkeiten im Supermarkt immer auf dem Weg zur Kasse befinden?
Oder du willst einfach endlich erfahren, was da eigentlich dahintersteckt?
Dann bist du hier genau richtig! Wir erklären dir, wie das funktioniert. Doch dazu fangen wir erst einmal beim Allgemeinen an: dem Data Mining.
Was bedeutet Data Mining?
Eigentlich heißt Data Mining nur „Datenschürfen“. Dabei soll aus Daten Wissen erzeugt werden.1 Mit Wissen ist hier ein Muster gemeint, das für NutzerInnen interessant ist oder auch interessant sein kann. Ein Muster besteht dann wiederum aus Beziehungen zwischen Daten oder Regelmäßigkeiten und wird Datenmustererkennung genannt. 2
In der Graphik kannst du den Ablauf des Data Minings ablesen. Das Ganze stellt einen Prozess dar, bei dem das Ziel ist, dass man neue Erkenntnisse gewinnt. Dabei beschränkt man zuerst eine große Menge an Rohdaten auf eine kleinere Auswahl, sodass sie anschließend verarbeitet werden können. So dienen sie also als Grundlage für die Muster, die das Data Mining aufdecken soll.3
Abb.: Von den Rohdaten zum Wissen
Es gibt sehr viele Verfahren im Data Mining. Wir erklären dir aber nur die Assoziationsanalyse, weil sie relevant für die Analyse von Waren ist. Sie zählt zu den bekannteren beziehungsweise typischen Methoden des Data Minings.4
Assoziationen im Data Mining
"Die Assoziationsanalyse gehört zu einem der grundlegendsten Verfahren in der Datenanalyse und spielt im wirtschaftlichen Bereich eine große Rolle."5
Mit der Assoziationsanalyse kannst du Abhängigkeiten und Zusammenhänge in großen Datenmengen ermitteln. Dazu benutzt man sogenannte Items. Stell sie dir am besten wie Produkte im Supermarkt vor! Mit diesen Items können wir dann Berechnungen durchführen. Wir könnten also schauen, ob zwei von ihnen auffällig oft gemeinsam vorkommen.
Es kann aber auch passieren, dass ein Item besonders dann auftritt, wenn ein anderes Item vorhanden ist. Ein Item kann sogar das Vorkommen eines anderen Items begünstigen. Wenn das eintritt, lassen sich da-rausAssoziationsregeln ableiten.1 Aus ihnen können wir beispielsweise Vorhersagen treffen oder Empfehlungen aussprechen.
Als Ergebnis erhalten wir Regeln, die folgende Form haben:
"Wenn Item A vorliegt, dann tritt in X Prozent der Fälle auch Item B auf."6
Diese Regeln der Assoziationsanalyse können wir benutzen, um zum Beispiel Wechselwirkungen verschiedener Medikamente zu erforschen. Und auch wenn man Zusammenhänge bei der Wahl von Anlageformen bei Banken aufdecken möchte, ist sie nützlich.7 Ein wesentlich bekannteres Beispiel ist aber die Empfehlung von Artikeln im Online-Handel. Wenn wir einen Artikel aufrufen, dann zeigt uns die Seite oft, was andere KundInnen noch gekauft haben.8 Solche Vorhersagen lassen sich auch aufgrund von Warenkorbanalysen treffen.
Warenkorbanalyse mit Bier und Windeln
In einer Folge der Serie “Numb3rs – Die Logik des Verbrechens” geht es um ein beliebtes Beispiel der Warenkorbanalyse. Windeln und Bier werden hier sehr oft zusammen gekauft. Auch wenn es erstaunlich erscheint, so haben sie eine logische Erklärung dafür: Männer, die von ihren Frauen zum Windelkauf aufgefordert werden, kaufen gerne noch Bier dazu. Damit haben sie etwas, worauf sie sich nach der „Arbeit mit dem Kind“ freuen und was sie genießen können. Darum kommt es zu dem Ergebnis, dass das Bierregal auf dem Weg von den Windeln zur Kasse platziert und so der Umsatz gesteigert wird.9
Die Warenkorbanalyse unter den Data Mining-Verfahren
Bei der Warenkorbanalyse wertet man die Einkäufe von KundInnen aus, um dadurch verschiedene Items zu untersuchen. Die Items bestehen hier aus den Artikeln von zum Beispiel Supermärkten. Alle Kaufaktionen zusammengefasst ergeben die Datenbasis.7
Fast alle Unternehmen, die Waren verkaufen, haben die Daten, die für das Data Mining mit der Warenkorbanalyse nötig sind. Schon einige Kassenbons reichen aus und es wird kein spezielles System benötigt. Damit lassen sich dann stark nachgefragte Produkte ermitteln oder Verbindungen zwischen verschiedenen Waren untersuchen.10 Mit der Analyse können wir also auch erfahren, wie oft ein Produkt mit einem anderen im Warenkorb landet. Um dabei die „Spreu vom Weizen“ zu trennen, werden Assoziationsregeln erstellt.11 Aber wie können wir denn nun Muster finden?
Wenn Menschen Lebensmittel einkaufen gehen, haben sie meistens eine Einkaufsliste dabei, damit sie nichts vergessen. Auf manchen Listen befinden sich viele gesunde Produkte, wohingegen auf anderen eher Bier und Chips stehen. Daraus können wir schon Muster erkennen, durch die sich die Waren im Supermarkt entsprechend sortieren lassen.12
Werden Bier und Windeln wirklich oft zusammengekauft?
Wenn wir Zusammenhänge und Abhängigkeiten berechnen wollen, müssen wir (leider) etwas mathematisch werden. Aber keine Angst, wir benutzen dafür ein leicht verständliches und nachvollziehbares Beispiel.
Zuerst brauchen wir die drei Kennzahlen Support, Konfidenz und Lift. In der Tabelle steht ein Beispiel, dass dir helfen wird, um diese Kennzahlen zu verstehen. Bei uns geht es lediglich um zwei Produkte. Insgesamt untersuchen wir hier aber 1.000.000 Transaktionen beziehungsweise Einkäufe. Darin kommen auch 200.000-mal der Kauf von Bier und 50.000-mal der Kauf von Windeln vor. Die KundInnen dieses Supermarkts haben Bier und Windeln sogar 20.000-mal gleichzeitig gekauft.
Anzahl
Waren
1.000.000
Transaktionen insgesamt
200.000
Bier
50.000
Windeln
20.000
Windeln und Bier
Los geht die Warenkorbanalyse…
Wie oft werden Bier und Windeln denn nun zusammen gekauft? Um das zu erfahren, berechnen wir den Support. Dafür setzen wir zuerst die Anzahl der Käufe von Bier und Windeln separat ins Verhältnis aller vorliegenden Einkäufe. Danach machen wir das genauso mit der Anzahl der gemeinsamen Käufe, sodass wir einen Support von 2% erhalten.
Die Konfidenz sagt uns, wie oft eine Assoziationsregel („Wenn Bier gekauft wird, dann werden auch Windeln gekauft”) richtig ist. Sie gibt außerdem einen Hinweis darauf, wie stark der Zusammenhang zwischen Bier und Windeln ist.11
Wenn wir die Konfidenz berechnen wollen, brauchen wir die Support-Werte. Zu Beginn teilen wir dabei den gemeinsamen Support durch den einzelnen Support des Biers. Daraus ergibt sich eine Konfidenz von 10%. Weil das noch nicht besonders viel ist, drehen wir die Assoziationsregel einfach mal um. Somit ergibt sich eine Konfidenz von 40%, da nun die Anzahl der Windel-Einkäufe die Bezugsgröße darstellt.
Die zweite Regel zeigt also ein Muster auf, das der Supermarkt so nutzen kann: Wenn das Bier in Sichtweite der Windeln positioniert wird, dann wird beides häufiger zusammen gekauft werden.7
Ob der Kauf von Bier und Windeln nun wirklich zusammenhängt, verrät der Lift. Er sagt uns auch, um wieviel wahrscheinlicher Windeln den Kauf von Bier machen. Dafür müssen wir den gemeinsamen Support durch das Produkt der einzelnen Support-Werte teilen.
Das Ergebnis ist ein Lift von 200%. Das heißt, dass der Kauf von Windeln die Wahrscheinlichkeit für den zusätzlichen Kauf von Bier sogar verdoppelt!
Zur Erklärung: Ein Lift von 100% würde stattdessen bedeuten, dass beide Items unabhängig voneinander sind. Bei einem Lift, der kleiner als 100% ist, ist es unwahrscheinlich ist, dass beide Items zusammen auftreten.11
Was bringt die Warenkorbanalyse?
Wie du siehst, ist es eigentlich doch ganz einfach, Muster und Abhängigkeiten zu entdecken. Wenn wir uns aber nicht nur mit zwei, sondern mit allen Artikeln eines Supermarkts beschäftigen würden, so wäre es deutlich schwieriger. Wir hätten dann ja viel mehr Daten, wodurch sich der Umfang der Berechnungen massiv erhöhen würde. Umso besser ist aber dadurch das Endergebnis. Aus einer großen und umfangreichen Warenkorbanalyse gewinnt man nämlich nicht nur ein paar Muster, sondern das gesamte Einkaufsverhalten der KundInnen. Das können Unternehmen für Dinge nutzen, wie zum Beispiel:
Wenn du mehr darüber erfahren willst, warum wir diesen Beitrag geschrieben haben, dann lies dir doch unser Konzept durch. Darin erklären wir auch, wie wir beim Verfassen von “Data Mining mit der Warenkorbanalyse” vorgegangen sind.
Dieser Beitrag ist im Rahmen der Lehrveranstaltung Content Management im Wintersemester 2019/20 bei Andre Kreutzmann (und Monika Steinberg) entstanden.
”Signals always point to something. In this sense, a signal is not a thing but a relationship. Data becomes useful knowledge of something that matters when it builds a bridge between a question and an answer. This connection is the signal.”
― Stephen Few, Signal: Understanding What Matters in a World of Noise[5]
Unter Data Mining versteht man einen Prozess, bei dem man mithilfe anspruchsvoller mathematischer und statistischer Algorithmen in großen Datenmengen nach Mustern, Trends und Zusammenhängen sucht.[1] Die Besonderheit des Data Mining ist die automatische Generierung der neuen Hypothesen aus den Datenmengen.[4] So kann man beispielsweise anhand der Verkaufsdaten untersuchen, ob und wann Kunden, die Produkt A gekauft haben, auch Produkt B kaufen.
Ziele der Untersuchung einer Datenmenge können unterschiedlich sein. Je nach Ziel gibt es im Data Mining dafür passende Aufgabenstellungen beziehungsweise -typen und dazugehörige Methoden. Typische Aufgabentypen sind Klassifikation, Regressionsanalyse, Assoziationsanalyse, Ausreißererkennung und Clusteranalyse. Darüber hinaus werden die Aufgabentypen des Data Mining oftmals nur in zwei Gruppen eingeteilt. Diese sind Beobachtungsprobleme (Clusteranalyse, Ausreißererkennung) und Prognoseprobleme (Klassifikation, Regressionsanalyse). [6]
Klassifikation
Die Objekte der vorhandenen Daten werden anhand ihrer Merkmale in Klassen zusammengefasst. Die dadurch gebildeten Klassenmengen dienen als Grundlage für die Entwicklung eines Klassifikationsmodells. Mit dem Klassifikationsmodell lässt sich nun die Klassenzugehörigkeit eines neuen Objekts automatisch vorhersagen.[2]
Regressionsanalyse
Die Regressionsanalyse basiert auf den Konzepten der Varianz und Kovarianz. Dies bedeutet, es wird nach Zusammenhängen beziehungsweise Abhängigkeiten zwischen Variablen gesucht. Meistens setzt man eine Regressionsanalyse bei Prognosen und Vorhersagen ein.[3]
So ist es möglich, aus den historischen Daten der Umsätze eines Kunden und seinem Wohnort eine Kennzahl zu ermitteln. Diese Kennzahl kann beispielsweise der zu erwartende Umsatz, den der Kunde in Zukunft einbringen wird, sein.[8]
Assoziationsanalyse
Bei der Assoziationsanalyse untersucht man die einzelnen Datensätze eines Datenbestandes auf Zusammenhänge, bei denen auf ein Ereignis konsequent ein anderes folgt. [8] Diese Zusammenhänge werden über Wenn-dann-Regeln beschrieben. Typischer Anwendungsbereich der Assoziationsanalyse ist die Untersuchung des Warenkorbes. Ein Beispiel dafür ist folgendes: Wenn ein Kunde Mehl kauft, dann kauft er wahrscheinlich auch die Butter. Die Assoziationsanalyse kann aber auch für die Untersuchung komplexerer Zusammenhänge benutzt werden. Etwa, in welchem Zeitabstand nach dem Kauf des Produktes A, der Kauf des Produktes B erfolgt. [1]
Ausreißererkennung
Ausreißer sind die Werte, die deutlich von den erwarteten Werten abweichen und gar nicht in die Messreihe passen. Sie können die Datenergebnisse stark verzerren und ungültig machen. Aus diesem Grund muss ein Datenbestand von den Ausreißern bereinigt werden. [3] Die Verfahren zur Analyse von Ausreißern sollen mithilfe der historischen Daten die Wahrscheinlichkeit ermitteln, mit der ein neuer Datensatz ein Ausreißer ist. Dieser soll dann entweder automatisch gelöscht oder zur manuellen Analyse gesammelt werden. [8]
Clusteranalyse
Die zentrale Aufgabe einer Clusteranalyse ist es, neue Kategorien bzw. Gruppen zu identifizieren. Denn im Gegensatz zu Klassenanalyse sind bei dieser Methode die Klassen nicht vorgegeben. Bei der Clusteranalyse werden große Datenmengen in kleinere Gruppen eingeteilt (siehe Abbildung 1). Die Mitglieder eines Clusters sollen möglichst ähnliche (homogen) Eigenschaften aufweisen. Die einzelnen Clusterkategorien sollen sich wiederum möglichst stark unterscheiden (heterogen).[7]
Da die Cluster ohne Vorwissen generiert werden, ist es nicht immer eindeutig, was die Cluster ähnlich macht und ob sie auch inhaltlich relevant sind. Für eine Aufklärung sind zusätzliche Analysen zuständig.[7]
Im folgenden Video sind weitere Informationen zum Thema Methoden beziehungsweise Aufgabentypen des Data Mining mit dazugehörigen Beispielen zu finden:
Fazit
Das Anwendungspotenzial des Data Mining ist vielfältig, da es in unterschiedlichen Bereichen verwendet werden kann. Aber vor allem in der Wirtschaft spielt es eine große Rolle. Mit dem Einsatz der Datenanalyse durch Data Mining können sich Händler besser auf das Kaufverhalten der Kunden anpassen und ihnen ein besseres Einkaufsserlebnis sowohl online als auch im Laden anbieten. Ferner können Banken und Versicherungen die Bonität ihrer Kunden schneller beurteilen.
Nichtsdestotrotz sollte man immer bedenken, dass die Daten nicht immer vollständig oder zum Teil fehlerhaft sein können, was zu verfälschten Resultaten führt. Somit ist die Qualität der Daten ausschlaggebend für aussagekräftige Ergebnisse.
Dieser Beitrag ist im Rahmen der Lehrveranstaltung Content Management im Wintersemester 2019/20 bei Andre Kreutzmann (und Monika Steinberg) entstanden.
In seiner Bachelorarbeit mit dem Titel “Analyse und Klassifikation der hannoverschen IT Kompetenzen in einer variablen Datenbasis” schreibt Matthias Olbrisch (2019) in seinem Abstrakt:
“Die allgemeine Digitalisierung und besonders die IT-Branche in Hannover, stellen Arbeitgeber*innen vor große Herausforderungen. Berufsbezeichnungen im IT-Sektor zeichnen sich im Gegensatz zu klassischen Berufsfeldern nicht dadurch aus, dass sie vereinheitlicht sind. Unterschiedlichste Berufsbezeichnungen verlangen oftmals identische Kompetenzen. Die Kompetenzen und Fähigkeiten der Arbeitnehmer*innen stehen ebenso immer mehr im Fokus der Arbeitgeber*innen, wie die Bereitschaft der permanenten Weiterbildung.
Zielgebend der vorliegenden Abschlussarbeit ist eine Datenbasis zu liefern, die den Anspruch hat, die bereits beschriebenen Herausforderungen zu analysieren und zu klassifizieren. Zunächst ist daher eine Klassifikation, der auf dem hannoverschen Jobmarkt gesuchten IT-Kompetenzen, zu erstellen. Vorbereitend wird eine Marktanalyse angefertigt, die sowohl Jobsuchmaschinen auf ihre Kompetenzorientierung als auch IT-Kompetenzklassifikationen untersucht.
Die erstellte Klassifikation bildet anschließend die Grundlage für das Kompetenzmatching zwischen Klassifikation und den Kompetenzen, die hannoversche IT-Studierende erlernen, um zu verdeutlichen, in welchen Kompetenzen Weiterbildungsbedarf besteht. Die entstandene Datenbasis wird in einer MySQL Datenbank präsentiert, um eine möglichst flexible Verwendung und Weiterentwicklung des Datenbestands zu ermöglichen.”
In der Animation erkläre ich die Rollen von Client und Server. Ebenso wird die Kommunikation zwischen beiden Geräten grob erläutert.
Software:
Verwendet habe ich hierzu die Software „Blender“ (für Animationen, das Compositing und Videoschnitt) und den freien Software Synthesizer „Synth1“ für das Einspielen von Audio.
Die „Hauptdarsteller“ sind dabei Piktogramme von Client und Server und animierte Textelemente, die deren Funktion erklären und verdeutlichen. Die Piktogramme und die Texte liegen auf verschiedenen Ebenen und sind somit im Compositing von „Blender“ separat mit Effekten animierbar.
Realisiert im Compositing sind die Unschärfe- und Helligkeitsanimationen der Piktogramme sowie die Farbwechselanimation des Hintergrundverlaufs. Dies erfolgt simultan zu den erklärenden Texten und deren Keyframeanimationen. Ich setzte Compositing und Ebenen vor allem ein, damit die Rechenzeit pro Bild in einem vertretbaren Rahmen von 15 Sekunden pro Bild bleibt. Ohne Compositing und Ebenen wären es ca. 2 Minuten pro Bild gewesen, was bei knapp 1500 Bildern nicht so schön gewesen wäre.
Auswahl einer Synthesizervoreinstellung, die zur Animation passt (nicht langweilig, aber auch nicht zu dominant) und kleinere Anpassungen an der Voreinstellung
grobes Einspielen des Synthesizers passend zur Animation als MIDI-Datei, dann kleinere Anpassungen an der MIDI-Datei um das Timing zu verbessern und letztendliche Ausgabe als WAV-Datei
Im Studiengang Informationsmanagement an der Hochschule Hannover sind im Rahmen des Kurses Entwicklung von Multimediasystemen I (Wintersemester 2017/18, Prof. Dr.-Ing. Steinberg) einige sehr gute Videos rundum das Studium Informationsmanagement und das studentische Leben an der Expo Plaza in Hannover entstanden. Dabei wurden unterschiedliche, klassische Techniken wie z.B. Erklärvideo, Legetechnik oder Stopmotion verwendet.
Die besten Videos stellen wir euch hier nach und nach vor.
Das Vermitteln von agilen Arbeitsmethoden ist für viele Menschen zwar interessant, jedoch sind Vorträge über solche Themen oftmals monoton und reizlos. Die Agile Kitchen GmbH hat sich einen individuellen Weg ausgedacht, um diese agilen Methoden auf unterhaltsame Weise zu vermitteln. Sie haben einen Kochkurs entwickelt, der nach dem Scrum-Prinzip funktioniert. Durch die metaphorische und praktische Anwendung lernt der Nutzer nach dem Learning-by-Doing-Prinzip.
Sowohl die Mitarbeiter eines Unternehmens, als auch Einzelpersonen, die sich privat weiterbilden möchten, können diesen Kurs als Fortbildungsmaßnahme besuchen.
Das Learning-by-Doing-Prinzip ist eine effektive Art zu lernen. Diese Methode setzt darauf, dass direkt Erfahrungen gesammelt werden können und bewusst aus Fehlern gelernt werden kann.
Das Angebot des agilen Kochens ist individuell anpassbar. Es werden vier verschiedene Kurse offeriert, welche je nach Zielgruppe gebucht werden können.
Alle Schritte von Scrum werden hierbei erklärt und anhand einer Metapher dargestellt. Nach dem Start werden die Teilnehmer in Kochteams aufgeteilt. Kurz darauf beginnt der Prozess bei dem bspw. einWarenkorb den Product Backlog bildet.