WebLab-Projekt: Konzeption und Entwicklung einer mobilen App für die Biennale

Biennale App WebLab HsH

Leon Rostek vom WebLab hat in Zusammenarbeit mit Prof. Schult eine mobile App für die Biennale in Venedig entwickelt.

Anfänglich beinhaltete die interaktive Karte alle Nationenpavillons der Architektur-Biennale 2018, die von Mai bis November in Venedig stattfand.

Dieser Prototyp wird aktuell von von Studierenden des Studiengangs Informationsmanagement an die Kunst-Biennale 2019 angepasst und steht jetzt mit aktuellen Ausstellungsdaten bereit. Weitere Infos dazu finden Sie in unserem Beitrag zur Biennale Map Venice App.

Die kostenlose App ist für Android und iOS erhältlich.

Weitere Einzelheiten zu der Biennale-App finden Sie unter http://biennale-app.com.

WiSe 18/19: WebLab-Tutoren sind bei Lehre dabei

Webentwicklung mit JavaScript und HTML5

Im kommenden Wintersemester 2018/19 werden zwei unserer Lehrveranstaltungen im Studiengang Informationsmanagement (auch berufsbegleitend) tatkräftig durch unsere studentischen Hilfskräfte vom WebLab unterstützt.

Sowohl bei „Grundlegende Webtechniken 1“ (WWW1) als auch bei „Entwicklung von Multimediasystemen 1“ (MM-SYS-1) sind jeweils zwei Tutor*innen dabei.

Bei WWW1 helfen euch Sarah und Anja gern während Sprechstunden weiter, wenn es um Fragen rundum HTML5 und CSS3 geht. Bei MM-SYS-1 werden Thorsten und Leon euch bei der Entwicklung mit JavaScript und der Umsetzung von Progressive Web Apps unterstützen.

Wir freuen uns auf September! Aber erst einmal noch sonnige Semesterferien!

Euer WebLab-Team

Videos rundum IM: Funktionen der CampusCard der HsH

Die Funktionen der CampusCard

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. Heute:

Funktionen der CampusCard der HsH

Autor: Lisa Heeg

Pre-Producation

Werkzeuge:

Zeichen- und Malutensilien, Schere, Handykamera

Arbeitsschritte:

Konzepterstellung zur  Grundidee in Form des Storyboards, dabei auch:
Festlegen der Technik: Mix aus Legetechnik (gezeichnete Objekte nacheinander in die Szene gebracht, allerdings nicht gefilmt, sondern fotografiert, ohne sichtbare Hände) und Stop-Motion
Überlegungen zu Ton: Musik unterlegen und eigenen Kommentar
Ablauf: 7 Abschnitte: Einleitung, die 5 Funktionen (Identifikation als Student, Semesterticket, Kopierkarte, Bibliotheksausweis, Mensakarte), Abschluss
Zeichnen und Ausschneiden der benötigten Elemente für die Szenen
Legen der Szenen entsprechend des Storyboards und fotografieren

Production

Werkzeuge:

Gimp, Windows Movie Maker, Handymikrofon, Audacity, Recherche

Arbeitsschritte:
Fotobearbeitung:

Die fotografierten Szenen werden mit Gimp bearbeitet. Zum einen werden Helligkeit und Kontrast sowie zum Teil Größe der Objekte und des Hintergrundes optimiert.  Zum anderen werden  Stop-Motion-Effekte vorbereitet. Dazu wurden Position, Größe, Perspektive oder Farbe von Objekten verändert. Des Weiteren werden mit Gimp erstellte Elemente hinzugefügt (z.B. Text) oder einzelne Objekte kombiniert (Bild der CampusCard mit Gesicht der gezeichneten Studentin). Jede Veränderung wird in einem Einzelbild gespeichert.

Videoerstellung:

Sämtliche Einzelbilder werden im Windows Movie Maker zu einem Video zusammengefügt. Dabei wird die Dauer der einzelnen Bilder festgelegt, z.B. besonders kurze Zeiten für Stop-Motion-Effekte. Es werden Animationen für Übergänge, sowie ein Intro und Abspann erstellt.

Audioerstellung:

Für die Musik wird nach lizenzfreien Titeln im Internet gesucht, genutzt wird: „Happy Chloé“ von https://www.terrasound.de/lizenzfreie-musik-fuer-youtube-videos/ . Die Audiokommentare wurden mit dem Handymikrofon und einer  App für „Sprachmemos“ selbst aufgezeichnet und mit Audacity geschnitten.

Postproduction


Werkzeuge:

Windows Movie Maker

Arbeitsschritte:

Zusammenführen der Videodatei mit den beiden Audiodateien. Dabei wird die Lautstärke der Musik angepasst, sodass der Audiokommentar gut zu hören ist und die einzelnen Audiokommentare bildgenau unter die einzelnen Szenen gelegt. Außerdem erfolgte eine nachträgliche Anpassung der Dauer der Einzelbilder, um sie auf den Audiokommentar optimal abzustimmen. Abschließend erfolgt das Rendering des Videos durch Export in das mp4-Format.

Storyboard

Videos rundum IM: Kompetenzfelder im Studiengang IM

Kompetenzfelder im Studiengang IM

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. Heute:

Autoren: Charlotte Schröer, Franziska Altemeier

Kompetenzfelder im Studiengang IM

Idee / Zielsetzung

Ziel unserer Animation ist es, die Kompetenzfelder des Studiengangs Informationsmanagement an der Hochschule Hannover zu erläutern. Im Rahmen des neuen Curriculums wurden die sogenannten Kompetenzfelder eingeführt, von denen jeder Studierende zwei belegen muss. Gerade jetzt, wo die ersten Studierenden ihre Kompetenzfelder wählen müssen, macht ein Erklärvideo, das die Inhalte und Möglichkeiten der einzelnen Bereiche kurz und bündig erläutert, Sinn.

Welche Kompetenzen für welches Kompetenzfeld benötigt werden, was in welchem Feld gelernt werden kann, das soll in unserem Erklärvideo auf den Punkt gebracht werden.

Arbeitsschritte / Arbeitsweg

Unser erster Arbeitsschritt nach der Entwicklung einer grundlegenden Idee war die Erstellung eines Storyboards. Dieses hat uns geholfen, die vielen Informationen, die uns zu unserem Thema zur Verfügung standen, zu reduzieren und Kernaussagen zu formulieren.

Anhand des Storyboards konnten wir unsere Informationen visualisieren, in sinnvolle Abschnitte aufteilen und eine grobe Reihenfolge festlegen.

Software

Da wir unsere Animation in Form eines Erklärvideos umsetzen wollten, haben wir uns insbesondere die im Unterricht vorgestellte Software speziell für Erklärvideos hinsichtlich verschiedener Aspekte verglichen. Diese waren GoAnimate, VideoScribe und Powtoon.

GoAnimate bietet eine 14-tägige kostenfreie „trial period“ an. In dieser Zeit hat man den vollen Zugriff auf alle Angebote, die auch die Premium Version hätte, allerding mit dem Unterschied/der Einschränkung, dass alle Videos mit Wasserzeichen versehen sind und die erstellten Videos lediglich geteilt, nicht aber heruntergeladen werden können.

GoAnimate bietet insgesamt drei verschiedene Nutzungsmodelle, die alle kostenpflichtig sind. Wollen mehrere Personen Videos kreieren, ist man gezwungen, die kostenintensivste Version „GoTeam“ für $159 pro Monat zu nutzen.

Aufgrund der Preisregelung und der Tatsache, dass wir als zwei Personen an die „GoTeam“-version gebunden gewesen wären, war die Software für uns keine ernsthafte Option. Hätte man die 14-tägige „trial period“ nutzen wollen, wäre man zudem zeitlich sehr eingeschränkt gewesen, da man auf die Videos nur zugreifen kann, wenn man einen Account hat

Unsere zweite Option VideoScribe bietet ebenfalls eine Trial Version an, die jedoch nur sieben Tage gültig ist. Als einzelner Nutzer kann man verschiedene Zahlungspläne wählen. Man kann einmalig 480 Euro zahlen, ein Jahresplan, bei dem 132 Euro gezahlt werden und eine Zahlung per 20-Euro- Monatsraten. VideoScribe bietet außerdem Team-Lizenzen an, die preiswerteste Version liegt hier bei 115 Euro pro Nutzer. Aufgrund der Kosten war VideoScribe keine Option für uns, insbesondere da die kostenfreie Trial Version noch kürzer ist als bei GoAnimate.

Im Gegensatz zu VideoScribe und GoAnimate bietet Powtoon eine dauerhafte Gratis-Version. Diese hat ein paar Einschränkungen, so sind z.B. alle Videos mit Wasserzeichen versehen und auch die Bildqualität ist (beim Export zu Youtube) eingeschränkt. Die Arbeit fällt einem mit Powtoon auch als Laie nicht schwer, da alles sehr übersichtlich und verständlich aufgebaut ist und erklärt wird. Sehr positiv war vor allem, dass man bei Powtoon auch gut als Team arbeiten kann. So kann man beispielsweise ein Video an einen weiteren Powtoon-Nutzer schicken und so kollaborativ an einem Projekt arbeiten.

Bei der Erstellung von Videos bietet Powtoon viele Formen, Symbole und Styles, die auch in der freien Version implementiert sind. Außerdem können auch eigene Bilddateien eingefügt werden.

Des Weiteren ermöglicht Powtoon die Einbindung einer Audiospur. Für die Audiospur haben wir zunächst ein Skript erstellt. Dies haben wir anhand des Inhaltes der einzelnen Folien in Powtoon ausgerichtet. Powtoon arbeitet ähnlich wie Powerpoint mit Folien, sodass es möglich ist, für jede Folie eine eigene Audiodatei hinzuzufügen. Ein Schneiden der Audiospur entfällt.
Die Audioaufnahmen haben wir mit Hilfe der App MP3 recorder aufgenommen. Wir haben uns für diese App entschieden, da sie die Audiodateien im mp3 Format abspeichert und einen Export zu Google Drive ermöglicht. Über Google Drive haben wir die Aufnahmen anschließend gespeichert und bei Powtoon hochgeladen. Die Lautstärkeeinstellungen der Audiodateien können dann direkt beim Voiceover in Powtoon angepasst werden.

Insgesamt hat sich Powtoon als sehr nützlich und für unsere Anforderungen passend herausgestellt. Die Gratis-Version bietet umfangreiche Features. Insbesondere die Möglichkeit, kollaborativ an dem Video arbeiten zu können, war sehr hilfreich. Leider müssen in der Gratis-Version Abstriche bei der Qualität hinsichtlich des Youtube-Exports gemacht werden.

Das fertige Produkt, unser Video „Kompetenzfelder im Studiengang IM“, könnt ihr hier anschauen.
Außerdem findet ihr hier unser Storyboard:

Storyboard

Tutorial: Login Kalender

Im Studiengang Informationsmanagement an der Hochschule Hannover sind im Rahmen des Kurses Entwicklung von Multimediasystemen II (Sommersemester 2017, Prof. Dr.-Ing. Steinberg) einige gute, funktionale Animationen samt Tutorials entstanden. Verwendete Techniken sind HTML5, CSS3 und JavaScript.

Die besten Tutorials stellen wir euch hier in den nächsten Wochen nach und nach vor.

Login Kalender

Autoren: Melis Rufaioglu und Diana Hamasur

Konzept:

Das Konzept wurde anhand der alltäglichen Aktivität eines digitalen Kalenders erstellt. Da immer mehr Nutzer zu der digitalen Variante greifen, weil diese einfacher zu bedienen ist.

Die Funktionen des digitalen Kalenders bestehen aus einem Sign in und aus einem Logout Button. Auf der Startseite sieht der Benutzer die Felder „Benutzer- und Passwort“. Diese haben jedoch in der Demo keine besondere Funktion, jedoch sind sie im alltäglichen Leben als Zugangsfelder gedacht. Die Felder können aber müssen in der Demo nicht ausgefüllt werden. Als Test kann etwas eingegeben werden, ob es funktioniert.

Aus Stilgründen steht unter dem Sign in Button noch ein Hinweis auf eine Registrierung, welche jedoch keine weitere Funktion hat. Wird auf den Sign in Button geklickt, erscheint ein sich drehender Kreis mit Punkten. Daraufhin wird die Maske kurz in der Farbe des Buttons erscheinen und führt dann zu dem eigentlichen Kalender.

Bei dem Öffnen des Kalenders scheint kurz das Benutzerbild hervor, die Linien der Lupe kreisen einmal um die Lupe herum und unten rechts erscheint der Log-out Button. Auf dieser Seite wird ein Benutzerbild mit einer Notifikation angezeigt. Da drüber befindet sich ein kurzer Satz, der beliebig sein kann.

Oben links befindet sich ein „Menü“ Icon, rechts eine Lupe. Diese beiden haben keine weiteren Funktionen. Unter dem Benutzerbild stehen der aktuelle Monat und eine Kalenderwoche. Anschließend werden die entsprechenden To-Do´s angezeigt. Wenn der Log-out Button gedrückt wird, springt dieser in die Mitte des Fensters und übernimmt kurz das ganze Feld in seiner eigenen Farbe.

Anschließend wird wieder auf die Startseite zurückgeführt und es erscheint ein Haken, dieser steht für ein erfolgreiches Logout.

Technische Umsetzung

Der digitale Kalender mit einem Sign in und Logout System wurde mithilfe von Elementen aus HTML5, CSS3 und Javascript entwickelt. Darüber hinaus wurden Librarys von JQuery oder CSS bezüglich der Funktion und der visuellen Darstellung als Hilfe genommen. Das JQuery ist eingebunden und die ready Funktion ist befüllt. Diese Funktion ist dafür da, dass der Inhalt erst geladen wird, wenn die Seite vollständig geladen ist.

Die Plattformen wie „Codepen“, „Selfhtml“ und „W3Schools“ haben an der Entwicklung und Konzeption sowie der Inspiration weitergeholfen.

Die Icons „Benutzer“ und „Passwort“ wurden gestaltet und in die richtige Position gebracht. Der Button „Sign in“ wurde ebenfalls positioniert und animiert. Das ganze wird mit der ripple Funktion ausgeführt.

Um ein besseres technisches Verständnis dafür zu entwickeln, sind die hinterlegten Kommentare im Quellcode hilfreich.

Quellcode und das Konzept

Quellen:

Tutorial: Klausuren Countdown

Klausuren Countdown

Im Studiengang Informationsmanagement an der Hochschule Hannover sind im Rahmen des Kurses Entwicklung von Multimediasystemen II (Sommersemester 2017, Prof. Dr.-Ing. Steinberg) einige gute, funktionale Animationen samt Tutorials entstanden. Verwendete Techniken sind HTML5, CSS3 und JavaScript.

Die besten Tutorials stellen wir euch hier in den nächsten Wochen nach und nach vor.

Klausuren Countdown

Autor: Matthias Olbrisch

Die Idee

Die Idee der Webapplikation ist es dem Studenten eine App zu liefern, die ihm die Möglichkeit bietet, den Lernfortschritt bzw. den Lernstand bis zu einem Klausurtermin zu überwachen. Der Fokus lag hierbei nicht auf einem besonders aufwendigen Design, sondern auf der Funktionalität der Web Applikation.

Wie funktioniert das Ganze ?

Die einzige Eingabe, die ein Student dazu zu tätigen hat, ist die der Eingabe des Klausurensdatums in das dafür vorgesehene Feld unter der Frage „Wann ist deine Klausur?“ und die Bestätigung über den „Bestätigen“ Button.

Wann ist deine Klausur?
Abbildung 1 – Wann ist deine Klausur?

Danach generiert sich unter der Aussage „Wie viel Zeit du noch hast!“ ein Countdown, der die verbleibenden Tage bis zur Klausur berechnet und live herunterzählt.

Wie viel Zeit du noch hast!
Abbildung 2 – Wie viel Zeit du noch hast!

Der Code für den Countdown behandelt zwei Problemstellungen. In der Funktion time_remaining(startTime) wird die im Eingabefeld vom Nutzer eingegebene Zeit in Millisekunden von der Startzeit abgezogen, daher wird im anschließenden Verlauf von Millisekunden auf Sekunden, Minuten, Stunden usw. gerechnet. Schließlich gibt der Operator „math.floor“ den größten Integer zurück, der bei der Berechnung der Sekunden, Minuten usw. entsteht.

Codeausschnitt
Abbildung 3 – Codeausschnitt

Die Funktion SubmitDate update nun die Countdown Daten mittels z. B. days_span.innerhtml=t.days; die Countdown – Werte. Schließlich würde der definierte Countdown nach dessen logischem Ende noch in den Minus Bereich laufen. Dies wird mittels der bedingten Funktion verhindert.

Codeausschnitt
Abbildung 4 – Codeausschnitt

Bei mehr als 7 Tagen wird der Status „Alles Okay“ ausgegeben, bei weniger als 7 Tagen wird vermeldet, dass man „Nur noch eine Woche“ zur Vorbereitung hat. Unter oder bei 4 Tagen Restlaufzeit wird „Jetzt aber!!“ ausgeliefert und am letzten Tag wird angekündigt, dass man „Morgen“ die Klausur schreibt. Am Prüfungstag wird „Viel Glück und Erfolg“ gewünscht.

Alles okay
Abbildung 5 – Alles okay

Der entsprechende Code verdeutlicht, dass sofern 8 Tage oder mehr Vorbereitungszeit bleiben, „Alles okay“ ist. Dazu wird am Beginn die restliche Tageszahl über console.log(days) ausgelesen. Die unterschiedlichen Status werden über if – else Bedingungen formuliert.

Codeausschnitt
Abbildung 6 – Codeausschnitt

Zusätzlich zu diesen Statusmeldungen, wird ein Kreis gezeigt, der anhand des vorhandenen Puffers den Fortschritt des Lernens veranschaulicht darstellen soll. Dazu wächst er in den letzten 7 Tagen der Klausurvorbereitung um je 100/7 % pro Tag. Bis er schließlich voll ist. Dauert es noch länger als 7 Tage, wird der Kreis nicht angezeigt.

Codeausschnitt
Abbildung 7 – Codeausschnitt

Das Ergebnis:

Umsetzung

Die Applikation wurde mithilfe von Elementen aus HTML 5, CSS 3, Javascript sowie jQuery entwickelt. Unterstützung habe ich bei den Plattformen „codepen.io“ und „W3schools“ gefunden.

Dateienliste: hier

Zum besseren Verständnis ist der Code mit ausführlichen Kommentaren versehen.

 

Freie Bachelorthemen: Das könntet ihr gerade bei uns machen

Hier findet ihr ein paar Themen, die aktuell (Stand Mai 2018) noch frei sind für mögliche Bachelorarbeiten im Studiengang Informationsmanagement. Meldet euch einfach per Email bei Frau Steinberg, wenn ihr euch für eins der Themen interessiert:

  • Weiterentwicklung eines Virtuellen Rundgangs der Expo Plaza: Konzeption und Implementierung von detaillierten Zusatzinformationen zur Expo Plaza bzw. zum Studiengang Informationsmanagement. Verwendete Techniken/Tools sind WebGL, Panotour und Videostitching mit PTGui.
  • Podcasts für den Studiengang Informationsmanagement: Konzeption und Umsetzung von Podcasts (Videocasts?) für die Website des Studiengangs Informationsmanagement. Es sollen regelmässig spannende Inhalte auf der IM-Website veröffentlicht werden. Wie kann das längerfristig funktionieren?
  • Search Engine Optimization (SEO) für die WebLab-Website: Diese Website muss/soll SEO-technisch optimiert und mit einem Content-Konzept verbessert werden. Eine Idee ist z.B. ein Webtechniken-Online-Glossar.
  • Gamification auf der WebLab-Website: Da zurzeit zwei Bachelorarbeiten zu Gamification laufen, sprechen sie Frau Steinberg bitte direkt an. Eine Idee ist z.B. ein WordPress-Plugin oder eine PHP-Anwendung für Highscore-Listen aus BestOf-Beiträgen.
  • Progressive Web App für Ersis: Konzeption und Implementierung einer PWA für die Orientierungsphase im Studiengang Informationsmanagement. React JS ist zurzeit der Favorit. für die Umsetzung.

Falls ihr eigene Ideen aus Bereichen wie Webentwicklung, Multimedia, Social Media, SEO oder Ähnliche habt, meldet euch gern.

Videos rundum IM: Was ist Informationsmanagement?

Informationsmanagement

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 in den nächsten Wochen nach und nach vor.

Was ist Informationsmanagement?

Autorinnen: Marit Kollorsz und Jana Hering

Im Rahmen einer Prüfungsleistung für das Fach „Entwicklung von Multimediasystemen 1“ entwickelten
wir ein Kurzvideo, inklusive dazugehörigem Storyboard. Nach einigen Ideen, wie Erklärvideo
oder Animation, entschieden wir uns letztendlich dazu, ein Stop-Motion Video über
den Studiengang „Informationsmanagement“ zu erstellen. Diesen können sich Studieninteressierte
oder Erstsemester als Informationsquelle zur Orientierung im Studium anschauen.

Die Idee dahinter ist, den Studiengang samt seinen Kompetenzbereichen und einigen ausschlaggebenden Vorlesungen, darzustellen. Da wir selbst bei der Recherche nach einem geeigneten
Studiengang relativ wenig über das Studium Informationsmanagement an der Hochschule
gefunden hatten, lag uns an dem Thema viel, eine optische und kompakte Darstellung
für die Öffentlichkeit zu schaffen.

Dazu haben wir uns entschieden, nachdem wir uns von der Seite „flaticon.com“ inspirieren
lassen haben, die Symbole selbst zu zeichnen und hinterher einzelne Bilder zu schießen, die
anschließend zu einem flüssigen Video zusammengeschnitten werden sollen.

Das Storyboard half uns dabei, eine grobe Struktur zu schaffen, die Symbole zu planen und auszuwählen, und zu guter Letzt den Text für die Audiodatei zu planen. Als Hilfe diente ein Stativ zur Fokussierung der Bilder, sowie ein weißer Tisch, um eine homogene Hintergrundatmosphäre zu schaffen.

Die Bilder selbst wurden mit einem Smartphone in der Größe 4400x3024px geschossen,
die Audiodatei entstand mit einer Memoapplikation auf dem Smartphone und wurde anschließend
in das richtige Format auf dem Computer umgewandelt.

Letztendlich hatten wir Bildmaterial von 73 einzelnen Bildern, in denen wir Bild für Bild die Symbole in Position gerückt haben, und eine Audiodatei von einer Minute und sechs Sekunden. Für den Schnitt des Videos benutzten wir das Videobearbeitungsprogramm von Adobe Premiere, das uns in der Vorlesung gezeigt
und nahegebracht wurde. Besonders schwierig war das Anpassen der Bilder an die gesprochene
Audiodatei, da jedes einzelne Bild an die entsprechende Stelle des Audios angeglichen
werden musste. Nach einigen Startschwierigkeiten mit der Anwendung und der Audiodatei,
gelang uns doch ein sehr flüssiger und technisch logischer Schnitt.

Das Video entstand auf Grundlage dieses Storyboards:

Storyboard

Tutorial: Radiales Menü mit JavaScript

Radiales Menü mit JavaScript

Im Studiengang Informationsmanagement an der Hochschule Hannover sind im Rahmen des Kurses Entwicklung von Multimediasystemen II (Sommersemester 2017, Prof. Dr.-Ing. Steinbergeinige gute, funktionale Animationen samt Tutorials entstanden. Verwendete Techniken sind HTML5, CSS3 und JavaScript.

Die besten Tutorials stellen wir euch hier in den nächsten Wochen nach und nach vor.

Technisches Konzept für ein radiales Menü

Autor: Julian Hundertmark

Als Ziel gesetzt wurde ein Menü mit verschiedenen Funktionalitäten und Animationen welches als individualisierbare Grundlage für weitere Nutzer zur Verfügung gestellt werden soll. Hierzu soll es leicht in eine bestehende Seite integrierbar, intuitiv und vielseitig einsetzbar sein.

Begonnen wurde damit, ein bereits vorhandenes Menü als Grundlage einzubauen. Dieses wurde nachfolgend sowohl in der Funktion als auch im Design und Animation abgeändert und erweitert.

Das Menü lässt sich mithilfe einer Javascriptfunktion aktivieren. Dies triggert die Menüknöpfe welche animiert in den Vordergrund verschoben werden und wodurch diese nun anwählbar sind. Weitere Javascriptfunktionen wurden als Beispielfunktionen hinzugefügt. So lässt sich exemplarisch die Schriftgröße der Webseite oder auch die Hintergrundfarbe per Mausklick verändern. Zusätzlich wurde das Menü in einem ziehbaren Div-Container eingegliedert sodass es für Nutzer frei auf der Webseite zu bewegen ist. Diese zweckmäßige Annehmlichkeit soll die Usabillity der Menüs erhöhen. Auch die animierten Tooltips sollen zukünftigen Nutzern weitere Möglichkeiten geben das Menü intuitiv auf einer eigenen Seite anzubieten. So könnte das Menü auf One-Pagern eine alternative Steuer- und Anpassungsmöglichkeit bieten. Die Möglichkeiten weiterer Veränderungen und Individualisierung in Form von weiteren Funktionen bietet sich an.

Auch das Design des Menüs lässt sich leicht den Funktionalitäten anpassen. So können wie bereits durch meinen Entwurf gezeigt Knöpfe hinzugefügt oder entfernt werden. So habe ich die Positionen einzelner Knöpfe wieder in eine Symmetrische Position gebracht und Hover-Effekte nachgebaut.

Link zu Codepen : https://codepen.io/hundertj/pen/YxwmpJ

Tutorial: Registrierungs- und Loginformular mit jQuery

Login und Registrierungsformular

Im Studiengang Informationsmanagement an der Hochschule Hannover sind im Rahmen des Kurses Entwicklung von Multimediasystemen II (Sommersemester 2017, Prof. Dr.-Ing. Steinbergeinige gute, funktionale Animationen samt Tutorials entstanden. Verwendete Techniken sind HTML5, CSS3 und JavaScript.

Die besten Tutorials stellen wir euch hier in den nächsten Wochen nach und nach vor.

Registrierungs- und Loginformular

Autoren: Felix Struckmann, Yannik Wissner

Codepen-URL: https://codepen.io/wappsify/pen/zdYjZV

Ziel der im Rahmen der Veranstaltung erstellten funktionalen Animation war es, ein Registrierungs- oder Loginprozess einer Webseite darzustellen. Dafür wurde ein Formular erstellt, welches die benötigten Eingaben abfragt.

Das Formular verzichtet fast gänzlich auf externe JavaScript-Bibliotheken, jQuery ausgenommen, hat also einen geringen Overhead. Stattdessen werden die Animationen größtenteils über CSS-Transitions definiert, sodass sowohl Ladezeit als auch Performance besser abschneiden, als Lösungen, die die Animationen komplett über JavaScript steuern.

Die Implementierung prüft den Inhalt der Felder nicht und die Animation des Ladevorgangs geht immer über einen fixen Zeitraum, um zu zeigen wie dieser animiert ist.

Bei einem tatsächlichen, praktischen Einsatz des Formulars würde sich nach Klick auf einen der Knöpfe nach kurzer Ladezeit das Formular schließen oder eine neue Seite laden, weshalb die Animation an dieser Stelle endet.

Wechseln des Reiters

Es wurden zwei Container erstellt,  welche jeweils die nötigen Felder und den korrekten Button für die Formulare enthalten. Damit diese später ein- bzw. ausgeblendet werden können, werden sie absolut positioniert:

#login-main-container,
#register-main-container {
 position: absolute;
 width: 460px;
}

Außerdem gibt es die beiden Tabs mit dem Namen LOGIN und REGISTER. Diese Elemente können jeweils aktiv oder inaktiv sein und erhalten für beide Fälle einen Style:

.active-tab {
  width: 70%;
  font-size: 30px;
  font-weight: bold;
  letter-spacing: 0.2em;
  color: #0ea7b5;
  cursor:default;
}

.inactive-tab {
  width: 30%;
  cursor: pointer;
  font-size: 20px;
}

Ein aktiver Tab nimmt mehr Platz in Anspruch, die Schrift ist dickgedruckt und bekommt eine neue Farbe.

Wenn man nun auf den inaktiven Tab klickt, so wird das eine Formular ausgeblendet und das aktive eingeblendet. Hinzu kommt das Festlegen der Variabel myButton, welche jeweils entweder den Login- oder Registerbutton enthält, da diese Information für eine spätere Funktion benötigt wird. Außerdem werden die active und inactive Klassen vergeben. Dies geschieht mithilfe von jQuery:

$('.tab-l').click(function() {
  theButton = $('#login-button');
  $(this).addClass('active-tab');
  $('.tab-r').removeClass('active-tab');
  $(this).removeClass('inactive-tab');
  $('.tab-r').addClass('inactive-tab');
  $('#register-main-container').fadeOut(250, function() {
    $('#login-main-container').fadeIn(250);
  });
});

$('.tab-r').click(function() {
  theButton = $('#register-button');
  $(this).addClass('active-tab');
  $('.tab-l').removeClass('active-tab');
  $(this).removeClass('inactive-tab');
  $('.tab-l').addClass('inactive-tab');
  $('#login-main-container').fadeOut(250, function() {
    $('#register-main-container').fadeIn(250);
  });
});

Das aktiv werdende Formular wird durch eine simple jQuery Animation eingeblendet, nachdem das inaktive Formular ausgeblendet wurde.

Ausfüllen der Felder

Bei den Feldnamen handelt es sich nicht um klassische Placeholder, sondern um Label, welche im Input positioniert sind:

label {
  position: absolute;
  top: 0;
  left: 0;
  color: #757575;
  font-size: 24px;
  font-weight: 300;
  line-height: 60px;
  -webkit-transition: 0.2s ease;
  transition: 0.2s ease;
}

Wählt der Nutzer nun einen Input aus, so verschiebt sich das Label nach oben. Sobald der Nutzer etwas im Feld eingetragen hat verweilt das Label auch an dieser Position:

input:focus ~ label,
input:valid ~ label {
  color: #0ea7b5;
  font-size: 15px;
  top: -20px;
}

Außerdem heben sich Inputs, die gerade aktiv sind sowie Inputs, deren Inhalt ausgefüllt wurde, ab, indem der Balken unterhalb von ihnen sich mit der Akzentfarbe füllt. Dieser Balken wird nicht etwa durch ein border-bottom erstellt. Stattdessen gibt es nach jedem input-Element einen div-Container, dem die Klasse .balken zugewiesen ist. Diese hat folgende CSS-Eigenschaften, durch die sich der Balken aus der Mitte horizontal heraus füllt, sobald das vorausgehende input-Element den Fokus erhält.

.balken {
  position: absolute;
  left: 0;
  bottom: 0;
  background: #757575;
  width: 100%;
  height: 1px;
}

.balken:before {
  left: 50%;
}

.balken:after {
  right: 50%;
}

.balken:before,
.balken:after {
  content: '';
  position: absolute;
  background: #0ea7b5;
  width: 0;
  height: 2px;
  -webkit-transition: 0.5s ease;
  transition: 0.5s ease;
}

input:focus ~ .balken:before,
input:focus ~ .balken:after {
  width: 50%;
}

Formular abschicken

Die Loadinganimation wird durch jQuery gesteuert. Zunächst wird der Submitbutton an sich verändert:

$('#login-button, #register-button').click(function(){
	i = 0;
	$(this).css({'border-color':'#0ea7b5','color':'#0ea7b5'});
	$(this).animate({'font-size':'16px'},500,function(){
		$(this).html('');
		$(this).css("background-color",'#0ea7b5');
		$(this).animate({'border-radius':'100px','width':'0px','height':'0px','border-width':'0px'},{complete:function(){
			$(this).animate({'margin-top':'30'},500,animateLoading);
		}});
	});
});

Die Farbe des Buttons wird auf die Akzentfarbe geändert, der Inhalt des Buttons wird geleert, der Button verkleinert sich und nimmt eine Kreisform an. Danach bewegt sich der Button etwas nach unten. Im Anschluss wird eine weitere Funktion aufgerufen, die für den nächsten Teil der Animation zuständig ist.

var i = 0;
var loadingCycles = 3;
var animateLoading = function(){
	if(i<loadingCycles){
		if(i==0){
			clone = theButton.clone();
			clone.id = theButton.name+'-copy';
			theButton.parent().append(clone);
			$(clone).css('opacity','0.6');
			$(theButton).css('opacity','0.6');
		}
	$(clone).animate({'margin-top':'60'},750,function(){$(clone).animate({'margin-top':'0'},750);});
	$(theButton).animate({'margin-top':'0'},750,function(){$(theButton).animate({'margin-top':'60'},750,animateLoading);});
	i+=1;
	}
}

Da nicht auf eine „echte“ Antwort eines Servers gewartet wird, gibt es eine feste Anzahl an Wiederholungen, welche hier mit loadingCycles beschrieben wird. Die Variabel theButton beinhaltet den gerade aktiven Button, also entweder den Login- oder den Registerbutton, je nach dem welcher Tab gerade aktiv ist. Beim ersten Durchlauf der Schleife wird der Button zunächst kopiert. Dann wird die ID der Kopie verändert, da eine ID einzigartig sein muss. Anschließend wird der erstellte Klon in das Document Object Model (DOM) direkt nach dem originalen Button eingepflegt. So erhält man zwei identische kreisförmige Buttons. Nun werden die Buttons gegensätzlich bewegt, welches durch die Veränderung vonmargin-top geschieht. Sobald diese Animation fertig ist wird i um eins erhöht und die Funktion erneut aufgerufen solange bis die Anzahl an nötigen Wiederholungen erreicht ist.