X-Ploration: Data Mining und Sentimentanalyse mit Hugging Face

Autor: Oguzhan-Burak Bozkurt


Durch den kontinuierlichen und raschen Fortschritt in jüngster Zeit auf den Gebieten von Big Data und KI-Technologien sind heutzutage insbesondere Teilbereiche des Informationsmanagements gefragter als je zuvor. Die Rolle des Informationsmanagers und Data Scientists besteht darin, Methoden zur Erfassung und Verarbeitung von Informationen aus unterschiedlichen Datenquellen anzuwenden. Zudem ist er befähigt, Entscheidungen darüber zu treffen, welche Verarbeitungsprozesse zur gezielten Knowledge Discovery aus umfangreichen Datensätzen geeignet sind. Hierbei kommt Data Mining ins Spiel, eine Methode, die die systematische Extraktion relevanter Informationen und Erkenntnisse aus großen Datenmengen umfasst.

In diesem Blogbeitrag werden wir tiefer in das Thema eintauchen und uns einem von vielen Verfahren des Data Mining, genauer der Sentimentanalyse im Text Mining, praxisnah annähern. Dabei bin ich der Ansicht, dass ein tieferes Verständnis erreicht wird, wenn das theoretisch Gelernte eigenständig umgesetzt werden kann, anstatt lediglich neue Buzzwörter kennenzulernen. Ziel ist eine Sentimentanalyse zu Beiträgen auf der Social Media Plattform X (ehemals Twitter) mit Verfahren aus dem Machine Learning bzw. einem passenden Modell aus Hugging Face umzusetzen.

Ihr könnt euch in die Hintergründe einlesen oder direkt zum Coden überspringen.

  • Einführung: Data Mining ⛏️
  • ML-Based Text Mining 🤖
  • In my feelings mit Hugging Face 🤗
  • Let’s build! Sentimentanalyse mit Python 🐍

  • Einführung: Data Mining ⛏️

    Data Mining umfasst die Extraktion von relevanten Informationen und Erkenntnissen aus umfangreichen Datensammlungen. Ähnlich wird auch der Begriff „Knowledge Discovery in Databases“ (KDD) verwendet. Die Hauptaufgabe besteht darin, Verhaltensmuster und Prognosen aus den Daten zu identifizieren, um darauf basierend Trends zu erkennen und angemessen darauf zu reagieren. Dieser analytische Prozess des Data Mining erfolgt mithilfe von computergestützten Methoden, deren Wurzeln in den Bereichen Mathematik, Informatik und insbesondere Statistik liegen. Data Mining kann als Teilprozess innerhalb des umfassenden Datenanalyseprozesses verstanden werden, der folgendermaßen strukturiert ist:

  • Datenbereinigung (Exkludierung von irrelevanten Daten)
  • Datenintegration (Zusammenführen mehrerer Datenquellen)
  • Datenselektion (Auswahl relevanter Daten aus einer Datenbank)
  • Datentransformation (Aufbereitung/Konsolidierung der Daten in eine für das Data Mining passende Form)
  • Data Mining (Prozess gestützt von intelligenten Methoden zum Extrahieren von Daten-/Verhaltensmustern)
  • Pattern Evaluation (Identifikation interessanter Muster und Messwerte)
  • Knowledge Presentation (Präsentieren von mined knowledge durch Visualisierung und andere Repräsenationstechniken)
  • Data Mining als Teilprozess der Knowledge Discovery / Jiawei Han, Data Mining: Concepts and Techniques (2006)

    Die Data Mining Verfahren dienen dazu, den Datenbestand zu beschreiben und zukünftige Entwicklungen vorherzusagen. Hierbei kommen Klassifikations- und Regressionsmethoden aus dem statistischen Bereich zum Einsatz. Zuvor ist es jedoch notwendig, die Zielvariable festzulegen, die Daten aufzubereiten und Modelle zu erstellen. Die gebräuchlichen Methoden ermöglichen die Analyse spezifischer Kriterien wie Ausreißer- und Clusteranalyse, die Verallgemeinerung von Datensätzen, die Klassifizierung von Daten und die Untersuchung von Datenabhängigkeiten.

    Zusätzlich zu den herkömmlichen statistischen Methoden können auch Deep Learning-Algorithmen verwendet werden. Hierbei werden Modelle aus dem Bereich des Machine Learning unter Anwendung von überwachtem (bei gelabelten Daten) oder unüberwachtem (bei nicht gelabelten Daten) Lernen eingesetzt, um die Zielvariablen möglichst präzise vorherzusagen. Eine wesentliche Voraussetzung für das Vorhersagemodell ist ein Trainingsdatensatz mit bereits definierten Zielvariablen, auf den das Modell anschließend trainiert wird.


    ML-Based Text Mining 🤖

    Ein Teilbereich des Data Mining, der auch maßgeblich maschinelles Lernen einbezieht, ist das Text Mining. Hierbei zielt das Text Mining darauf ab, unstrukturierte Daten aus Texten, wie beispielsweise in sozialen Netzwerken veröffentlichte Inhalte, Kundenbewertungen auf Online-Marktplätzen oder lokal gespeicherte Textdateien, in strukturierte Daten umzuwandeln. Für das Text Mining dienen oft Datenquellen, die nicht direkt zugänglich sind, weshalb Daten über APIs oder Web-Scraping beschafft werden. Im darauf folgenden Schritt werden Merkmale (Features) gebildet und die Daten vorverarbeitet. Hierbei erfolgt die Analyse der Texte mithilfe von natürlicher Sprachverarbeitung (Natural Language Processing – NLP) unter Berücksichtigung von Eigenschaften wie Wortfrequenz, Satzlänge und Sprache.

    Maschinelles Lernen für Datenvorverarbeitung

    Die Vorverarbeitung der Daten wird durch Techniken des maschinellen Lernens ermöglicht, zu denen Folgendes gehört:

  • Tokenisierung: Hierbei werden die Texte in kleinere Einheiten wie Wörter oder Satzteile, sogenannte Tokens, aufgespalten. Das erleichtert die spätere Analyse und Verarbeitung.
  • Stoppwortentfernung: Häufige Wörter wie „und“, „oder“ oder „aber“, die wenig spezifische Informationen liefern, werden entfernt, um die Datenmenge zu reduzieren und die Analyse effizienter zu gestalten.
  • Wortstamm- oder Lemmatisierung: Die Formen von Wörtern werden auf ihre Grundformen zurückgeführt, um verschiedene Variationen eines Wortes zu einer einzigen Form zu konsolidieren. Zum Beispiel werden „läuft“, „lief“ und „gelaufen“ auf „laufen“ reduziert.
  • Entfernen von Sonderzeichen und Zahlen: Nicht-textuelle Zeichen wie Satzzeichen, Symbole und Zahlen können entfernt werden, um die Texte auf die reinen sprachlichen Elemente zu fokussieren.
  • Niedrige Frequenzfilterung: Seltene Wörter, die in vielen Texten nur selten vorkommen, können entfernt werden, um Rauschen zu reduzieren und die Analyse zu verbessern.
  • Wortvektorenbildung: Durch Techniken wie Word Embeddings können Wörter in numerische Vektoren umgewandelt werden, wodurch maschinelles Lernen und Analyseverfahren angewendet werden können.
  • Named Entity Recognition (NER): Diese Technik identifiziert in Texten genannte Entitäten wie Personen, Orte und Organisationen, was zur Identifizierung wichtiger Informationen beiträgt.
  • Sentimentanalyse: Diese Methode bewertet den emotionalen Ton eines Textes, indem sie versucht, positive, negative oder neutrale Stimmungen zu erkennen.
  • Textklassifikation: Mithilfe von Trainingsdaten werden Algorithmen trainiert, um Texte automatisch in vordefinierte Kategorien oder Klassen einzuteilen.
  • Topic Modeling: Diese Methode extrahiert automatisch Themen aus Texten, indem sie gemeinsame Wörter und Konzepte gruppiert.
  • Insgesamt kann der Text Mining-Prozess als Teil einer breiteren Datenanalyse oder Wissensentdeckung verstanden werden, bei dem die vorverarbeiteten Textdaten als Ausgangspunkt für weitere Schritte dienen.

    The effort of using machines to mimic the human mind has always struck me as rather silly. I would rather use them to mimic something better.

    Edsger Wybe Dijkstra

    In unserem nächsten Abschnitt werden wir auf die Sentimentanalyse eingehen und schrittweise demonstrieren, wie sie mit Hilfe von Modellen auf Hugging Face für Beiträge auf der Plattform X (ehemalig Twitter) durchgeführt werden kann.


    In my feelings mit Hugging Face 🤗

    Das 2016 gegründete Unternehmen Hugging Face mit Sitz in New York City ist eine Data Science und Machine Learning Plattform. Ähnlich wie GitHub ist Hugging Face gleichzeitig ein Open Source Hub für AI-Experten und -Enthusiasten. Der Einsatz von Huggin Face ist es, KI-Modelle durch Open Source Infrastruktur und Repositories für die breite Maße zugänglicher zu machen. Populär ist die Plattform unter anderem für seine hauseigene Open Source Bibliothek Transformers, die auf ML-Frameworks wie PyTorch, TensorFlow und JAX aufbauend verschiedene vortrainierte Modelle aus den Bereichen NLP, Computer Vision, Audio und Multimodale anhand von APIs zur Verfügung stellt.

    Drake Meme by me

    Für die Sentimentanalyse stehen uns über 200 Modelle auf der Plattform zur Verfügung. Wir werden im folgenden eine einfache Sentimentanalyse unter Verwendung von Transformers und Python durchführen. Unsere KI soll am Ende Ton, Gefühl und Stimmung eines Social Media Posts erkennen können.

    Viel Spaß beim Bauen! 🦾


    Let’s build! Sentimentanalyse mit Python 🐍

    Zunächst brauchen wir Daten aus X/Twitter. Da im Anschluss auf die neuen Richtlinien die Twitter API jedoch extrem eingeschränkt wurde (rate limits, kostenspielige read Berechtigung) und es nun auch viele Scraping-Methoden getroffen hat, werden wir bereits vorhandene Daten aus Kaggle verwenden.

    1. Datenbereitstellung: Kaggle

    Wir entscheiden uns für einen Datensatz, der sich für eine Sentimentanalyse eignet. Da wir mit einem Text-Mining Modell in Transformers arbeiten werden, welches NLP verwendet um das Sentiment eines Textes zuordnen zu können, sollten wir uns für einen Datensatz entscheiden, in dem sich Texte für unsere Zielvariable (das Sentiment) befinden.

    Hier kann ein Datensatz aus Kaggle verwendet werden, in dem über 80 Tausend englische Tweets über das Thema „Crypto“ in dem Zeitraum vom 28.08.2022 – 29.08.2022 gesammelt wurde: 🐦 🪙 💸 Crypto Tweets | 80k in English | Aug 2022 🐦 🪙 💸

    Wir laden das Archiv herunter und entpacken die crypto-query-tweets.csv in unseren Projektordner.

    2. Zielsetzung und Datenvorverarbeitung: Python + Pandas

    Wir wollen in einer überschaubaren Anzahl an Tweets das jeweilige Sentiment zuordnen. Dazu schauen wir uns den Datensatz aus der CSV Datei genauer an. Uns interessieren dabei besonders Tweets von verifizierten Usern. Mit der Pandas Bibliothekt läss sich der Datensatz in Dataframes laden und nach bestimmten kriterien filtern.

    wir installieren zunächst per pip-install die gewünschte Bibliothek und importieren diese in unsere Codebase.

    pip install pandas

    Anschließends lesen wir die CSV-Datei ein und filtern entsprechend unseren Wünschen den Datensatz und geben diesen als Dataframe aus.

    import pandas as pd
    
    # CSV Datei lesen
    csv_file_path = "crypto-query-tweets.csv"
    df = pd.read_csv(csv_file_path, usecols=['date_time', 'username', 'verified', 'tweet_text'])
    
    # Filter anwenden um nur verifizierte User zu erhalten
    filtered_df = df[df['verified'] == True]
    
    # Printe Dataframe
    print(filtered_df)

    Wir erhalten folgende Ausgabe von 695 Zeilen und 4 Spalten:

           date_time                     username        verified    tweet_text
    19     2022-08-29 11:44:47+00:00     RR2Capital      True  #Ethereum (ETH)\n\nEthereum is currently the s...24     2022-08-29 11:44:45+00:00     RR2Capital      True  #Bitcoin (BTC)\n\nThe world’s first and larges...
    25     2022-08-29 11:44:43+00:00     RR2Capital      True  TOP 10 TRENDING CRYPTO COINS FOR 2023\n \nWe h...
    146    2022-08-29 11:42:39+00:00   ELLEmagazine      True  A Weekend in the Woods With Crypto’s Cool Kids...
    155    2022-08-29 11:42:32+00:00     sofizamolo      True          Shill me your favorite #crypto project👇🏻🤩
    ...                          ...            ...       ...                                                ...
    79383  2022-08-28 12:36:34+00:00  hernanlafalce      True  @VerseOort My proposal is as good as your proj...
    79813  2022-08-28 12:30:15+00:00   NEARProtocol      True  💫NEARCON Speaker Announcement💫\n\nWe're bringi...
    79846  2022-08-28 12:30:00+00:00            lcx      True  🚀@LCX enables project teams to focus on produc...
    79919  2022-08-28 12:28:56+00:00    iSocialFanz      True  Friday.. Heading to Columbus Ohio for a Web 3....
    79995  2022-08-28 12:27:46+00:00  BloombergAsia      True  Bitcoin appeared stuck around $20,000 on Sunda...
    
    [695 rows x 4 columns]

    3. Twitter-roBERTa-base for Sentiment Analysis + TweetEval

    Nun können wir mit Hugging Face Transformers eine vortrainiertes Modell verwenden, um allen Tweets entsprechende Sentiment Scores zuzuweisen. Wir nehmen hierfür das Modell Twitter-roBERTa-base for Sentiment Analysis, welches mit über 50 Millionen Tweets trainiert wurde und auf das TweetEval Benchmark für Tweet-Klassifizierung aufbaut. Weitere Infos unter dieser BibTex entry:

    @inproceedings{barbieri-etal-2020-tweeteval,
        title = "{T}weet{E}val: Unified Benchmark and Comparative Evaluation for Tweet Classification",
        author = "Barbieri, Francesco  and
          Camacho-Collados, Jose  and
          Espinosa Anke, Luis  and
          Neves, Leonardo",
        booktitle = "Findings of the Association for Computational Linguistics: EMNLP 2020",
        month = nov,
        year = "2020",
        address = "Online",
        publisher = "Association for Computational Linguistics",
        url = "https://aclanthology.org/2020.findings-emnlp.148",
        doi = "10.18653/v1/2020.findings-emnlp.148",
        pages = "1644--1650"
    }

    Wir installieren alle für den weiteren Verlauf benötigten Bibliotheken.

    pip install transformers numpy scipy

    Die Transformers Bibliothekt erlaubt uns den Zugriff auf das benötigte Modell für die Sentimentanalyse. Mit scipy softmax und numpy werden wir die Sentiment Scores ausgeben mit Werten zwischen 0.0 und 1.0, die folgendermaßen für alle 3 Labels ausgegeben werden:

    Labels: 0 -> Negative; 1 -> Neutral; 2 -> Positive

    Importieren der Bibliotheken:

    from transformers import AutoModelForSequenceClassification
    from transformers import AutoTokenizer
    import numpy as np
    from scipy.special import softmax
    import csv
    import urllib.request

    Wir schreiben eine Methode zum vorverarbeiten des Texts. Hier sollen später Usernamen und Links aussortiert werden. Außerdem vergeben wir das gewünschte Modell mit dem gewünschten Task (’sentiment‘) in eine vorgesehene Variable und laden einen AutoTokenizer ein, um später eine einfach Eingabe-Enkodierung zu generieren.

    # Vorverarbeitung des texts 
    def preprocess(text):
        new_text = []
     
     
        for t in text.split(" "):
            t = '@user' if t.startswith('@') and len(t) > 1 else t
            t = 'http' if t.startswith('http') else t
            new_text.append(t)
        return " ".join(new_text)
    
    
    task='sentiment'
    MODEL = f"cardiffnlp/twitter-roberta-base-{task}"
    
    tokenizer = AutoTokenizer.from_pretrained(MODEL)
    

    Als nächstes laden wir das Label Mapping aus TweetEval für das zugeordnete Task ’sentiment‘ herunter. Das Modell für die Sequenzklassifizierung kann nun gespeichert und in der ‚model‘ Variable hinterlegt werden.

    # download label mapping
    labels=[]
    mapping_link = f"https://raw.githubusercontent.com/cardiffnlp/tweeteval/main/datasets/{task}/mapping.txt"
    with urllib.request.urlopen(mapping_link) as f:
        html = f.read().decode('utf-8').split("\n")
        csvreader = csv.reader(html, delimiter='\t')
    labels = [row[1] for row in csvreader if len(row) > 1]
    
    # Modell laden
    model = AutoModelForSequenceClassification.from_pretrained(MODEL)
    model.save_pretrained(MODEL)
    

    Im nächsten Schritt schreiben wir zwei Methoden, die dabei helfen sollen zeilenweise Tweet-Texte zu enkodieren und ein Sentiment Score zu vergeben. In einem Array sentiment_results legen wir alle Labels und entsprechende Scores ab.

    # Sentiment Scores für alle Tweets erhalten
    def get_sentiment(text):
        text = preprocess(text)
        encoded_input = tokenizer(text, return_tensors='pt')
        output = model(**encoded_input)
        scores = output.logits[0].detach().numpy()
        scores = softmax(scores)
        return scores
    
    # Sentimentanalyse für jede Zeile im Datensatz anwenden
    def analyze_sentiment(row):
        scores = get_sentiment(row['tweet_text'])
        ranking = np.argsort(scores)
        ranking = ranking[::-1]
        sentiment_results = []
        for i in range(scores.shape[0]):
            l = labels[ranking[i]]
            s = scores[ranking[i]]
            sentiment_results.append((l, np.round(float(s), 4)))
        return sentiment_results

    Zum Schluss wir das Dataframe um unser Ergebnis erweitert. Hierzu erstellen wir eine neue Spalte ’sentiment‘ und fügen mit der apply-Funktion die Ergebnisse aus unserer vorherigen Methode analyze_sentiement hinzu. Am Ende geben wir unser neues Dataframe in der Konsole aus.

    # Ergebnisse in neue Spalte "sentiment" speichern
    filtered_df['sentiment'] = filtered_df.apply(analyze_sentiment, axis=1)
    
    # Ausgabe des neuen DataFrames
    print(filtered_df)

    Wir erhalten ein neues Dataframe mit einer weiteren Spalte in der das Label und die Sentiment-Scores festgehalten werden! 🤗🚀

    Den gesamten Code könnt ihr euch auch auf meinem GitHub Profil ansehen oder klonen.


    Referenzen

    Han, Jiawei (2006). Data Mining: Concepts and Techniques, Simon Fraser University.

    Barbieri, F., Camacho-Collados, J., Espinosa Anke, L., & Neves, L. (2020). Tweet Eval: Unified Benchmark and Comparative Evaluation for Tweet Classification. In Findings of the Association for Computational Linguistics: EMNLP 2020, S. 1644-1650. https://aclanthology.org/2020.findings-emnlp.148.

    Hugging Face Transformers: https://huggingface.co/docs/transformers/index. Zuletzt aktualisiert am 27.08.2023.

    Kaggle Dataset: Leonel do Nascimento, Tiago; „Crypto Tweets | 80k in ENG | Aug 2022 „: https://www.kaggle.com/datasets/tleonel/crypto-tweets-80k-in-eng-aug-2022. (CC0 Public Domain Lizens), zuletzt aktualisiert am 27.08.2023.

    Wartena, Christian & Koraljka Golub (2021). Evaluierung von Verschlagwortung im Kontext des Information Retrievals. In Qualität in der Inhaltserschließung, 70:325–48. Bibliotheks- und Informationspraxis. De Gruyter, 2021. https://doi.org/10.1515/9783110691597.


    Ist Python die Programmiersprache der Zukunft?

    Autor*innen: Ömer Topcu und Anela Iljijazi

    Python ist eine Programmiersprache, deren wichtigstes Merkmal die Einfachheit ist. Sie wird von einer aktiven Community auf der ganzen Welt entwickelt. Programmiersprachen sind für sich genommen vielfältig einsetzbar und werden gerade im Bereich der künstlichen Intelligenz häufig eingesetzt. Python hat Zukunft und hat sich dieses Jahr erneut vor Java auf Platz 2 der meistgenutzten Sprachen festgesetzt.

    Python ist eine weit verbreitete Programmiersprache, welche von Guido van Rossum entwickelt und 1991 veröffentlicht wurde. Sie wird für Webentwicklung, Softwareentwicklung, Mathematik und Systemskripting verwendet und wurde mit dem Ziel einer guten Lesbarkeit von Programmen entwickelt . Ursprünglich wurde sie als Unterrichtssprache in der höheren Bildung und Ausbildung verwendet. Zudem ist sie plattformunabhängig und kann auf Mac, Windows und anderen Betriebssystemen ausgeführt werden.

    Was kann man mit Python machen?

    Python kann verwendet werden, um Webanwendungen auf dem Server zu erstellen. Darüber hinaus kann Python mit Software verwendet werden, um Workflows zu erstellen. Python kann Dateien lesen und ändern und sich mit Datenbanksystemen verbinden. Es wird häufig verwendet, um große Datenmengen zu verarbeiten und komplexe mathematische Berechnungen durchzuführen.

    Warum Python verwenden?

    Python ist plattformübergreifend und das bedeutet, dass es auf verschiedenen Plattformen, wie Windows, Mac usw. ausgeführt werden kann. Es hat eine einfache Grammatik, welche der englischen ähnelt. Seine Syntax ermöglicht es Entwicklern, Programme in weniger Zeilen zu schreiben. Python bietet auch Rapid Prototyping an. Python läuft also auf einem Interpretersystem, was bedeutet, dass Code ausgeführt werden kann, sobald er geschrieben ist. Diese Programmiersprache ist sehr flexibel und kann prozedural, objektorientiert oder funktional angegangen werden.

    Historik:

    Die Programmiersprache Python wurde Anfang der 1990er Jahre vom Niederländer Guido van Rossum am Centrum voor Wiskunde en Informatica (CWI) in Amsterdam entwickelt. Guido van Rossum lernte Programmieren während seines Mathematikstudiums an der Universität Amsterdam, denn er arbeitete dort als Wissenschaftler und entwickelte später eine neue Programmiersprache, um Basic zu ersetzen. Dies ist notwendig, da Wissenschaftler in der Lage sein müssen, sich selbst zu programmieren. Python begann als Skriptsprache für das verteilte Betriebssystem Amoeba. Python wurde als Nachfolger der ABC-Lehrsprache entwickelt und sollte auf dem verteilten Betriebssystem Amoeba laufen. Guido van Rossum war auch an der Entwicklung der ABC-Sprache beteiligt und somit fließen seine Erfahrungen mit ABC also auch in Python ein. Er bezeichnet sich selbst als Nerd und Computerfreak. Van Rossum, der 2019 in den Ruhestand ging, aber 2021 zu seinem derzeitigen Arbeitgeber Microsoft zurückkehrte, sagte:

    Ich habe mich entschieden, zu meinen Wurzeln zurückzukehren.“ (Vgl. Guido vaan Rossum)

    Abbildung 3, Python Entwickler, Guido van Rossum

    Vorteile von Python:

    • Python ist kostenlos und kann für viele Betriebssysteme heruntergeladen werden
    • Python ist sehr schnell und einfach zu erlernen
    • Python ist eine sehr vielfältige Programmiersprache 
    • wird ständig weiterentwickelt und aktualisiert
    • Der Python-Code gilt als besonders gut lesbar, was mit dem vorgegebenen strukturierten Programmierstil zusammenhängt 
    • Sie wird von viele große Firmen wie Google, Dropbox, Mozilla genutzt
    • Große Community 
    • Es kommt mit weniger Code als andere Programmiersprachen zu gleichen Ergebnissen

    Nachteile von Python:

    • Python ist im Vergleich  zu anderen Programmiersprachen langsam 
    • Python wird zurzeit in 2 Versionen eingesetzt (Python2 und Python3)
    • Mit Python lassen sich auch Spiele programmieren

    Anwendungsbereiche:

    Python wird in vielen Bereichen in unserem Leben angewendet. Die bekanntesten Bereiche sind Webentwicklung, Spielentwicklung, Data Science und Machine Learning. 

    1. Webentwicklung

    Python unterstützt plattformübergreifende Betriebssysteme, was das Erstellen von Anwendungen erleichtert. Weltbekannte Anwendungen wie Drop oder YouTube verwenden Python, um gut zu funktionieren. Python wird für die Webentwicklung verwendet, dazu wird es vereinfacht und schnell, Webanwendungen zu erstellen. Aber wie ist das möglich? Pythons Framework zum Erstellen von Anwendungen macht dies möglich. Es gibt ein System zum Erstellen dieser Frameworks und eine Reihe von Bibliotheken, die verwendet werden können, um Protokolle wie HTTPS, FTP, SSL zu integrieren, um beispielsweise E-Mails zu verarbeiten. Die beliebtesten Frameworks sind Pyramid und Flask. 

    2. Spielentwicklung

    Python wird für interaktive Spiele verwendet. Es gibt Bibliotheken wie PySoy, eine 3D-Game-Engine, die Python 3 unterstützt, oder PyGame, eine Bibliothek, welche die Funktionalität bereitstellt. Populäre Spiele wie Online, Vega Strike, Civilization-IV wurden mit Python erstellt.

    3. Data Science

    Daten sind Geld, denn sie können Ihre Gewinne steigern, wenn Sie wissen, wie Sie relevante Informationen extrahieren, die Ihnen helfen, Ihr Risiko besser zu kalkulieren. Sie können Daten analysieren, verschiedene Operationen durchführen und notwendige Informationen extrahieren. Pandas oder NumPy (Bibliotheken) helfen dir dabei.

    Mit Datenbanken wie Seaborn und Matplotlib können Sie Daten visualisieren.

    4. Machine Learning

    Wir entwickeln Algorithmen, die Computer selbst lernen lassen. Wir sind diejenigen, die sich darum kümmern. Python unterstützt diese Branche durch viele vorhandene Bibliotheken wie NumPy und Pandas.

    Lernen Sie Algorithmen, verwenden Sie Bibliotheken und Sie haben eine Lösung für KI-Probleme. Ganz einfach. Wenn Sie jedoch den harten Weg gehen möchten, können Sie den Code selbst entwerfen, wenn er eine bessere Lösung bietet.

    Was sind Funktionen in Python?

    Eine Funktion ist ein erstellter Programmcode, der aus dem „top-down“-Ablauf eines Programms entnommen wird und ausschließlich aufgerufen werden muss oder kann, denn dadurch können wir diese Funktionen bei Bedarf öfter aufrufen und so sauberen Code mit weniger Fehlerquellen schreiben.

    Also vergeben wir unserer Funktion einen Namen, den wir an jeder Stelle in unserem Python-Programm aufrufen können.

    Um es am besten zu verstehen schauen sie sich das Video unten an: 

    Link zum Video: https://www.youtube.com/watch?v=mgA-Ytr32Ys

    Jetzt habe ich dich genug mit Informationen bombardiert. Die einzige Frage, die beantwortet werden sollte ist doch nur, ist Python unsere Zukunft ?.

    Ist Python die Programmiersprache der Zukunft?

    Der Entwickler Guido van Rossum äußert sich zum Thema, ob Python sich künftig weiterentwickeln wird:

    „Ich glaube, Python wird weiter wachsen“ (vgl. Stolens)

    „Die größten Entwicklungen erwarte ich in den Python Bibliotheken – hier sehen wir sehr viele Ergänzungen. Was den Gebrauch von Python im Unterricht betrifft, hoffe ich, Schüler nehmen die Programmiersprache als einfach und spannend wahr und werden ermutigt, sie auch außerhalb der Schule anzuwenden. Ich
    hoffe, es sind nicht nur irgendwelche einmaligen Projekte, sondern dass sie die Sprache weiter aktiv verwenden. Es wäre toll, wenn sie nach ihrem Abschluss eine Zukunft in einem MINT-Fach starten würden und sie ihr Python-Basiswissen dann für ihre eigene Forschung verwenden könnten!“ (vgl. Stolens)

    Stolens (2020): https://www.t3deutschland.de/de/t3-europe/edublogs/interview-guido-rossum (Abruf: 31.01.2022)

    Die Forschung basiert auf Anfragen nach Tutorials zum Erlernen von Programmiersprachen. Google Trends stellt die Basis der Erkenntnisse dar und dient der Ermittlung der Beliebtheit der entsprechenden Programmiersprache. Laut der Statistik der PYPL befindet sich Python auf Platz 1 der meist gesuchten Programmiersprachen. Der prozentuale Abstand zum zweitplatzierten Java ist hier mit rund 10 % sogar noch größer und somit kam JavaScript auf den dritten Platz.

    Abbildung 4, Statistik aus PYPL

    Das Potential von Python ist da, denn Python hat gute Zukunftsaussichten und könnte daher die Programmiersprache der Zukunft werden.

    Über die Autoren:

    Anela Iljijazi: Anela Iljijazi studiert im 3. Semester Informationsmanagement. Sie absolviert das Studium an der Hochschule Hannover Fakultät III. Die Autorin wurde in Hannover geboren. Sie ist 20 Jahre alt. Neben ihrem Studium ist sie Kellnerin im Cheers Hannover.

    Ömer Topcu: Ömer Topcu studiert im 3. Semester Informationsmanagement. Er absolviert das Studium an der Hochschule Hannover Fakultät III. Der Autor wurde in Hannover geboren und ist 20 Jahre alt. Er arbeitet in seiner Freizeit im Einzelhandel.

    Quellenverzeichnis:

    • lerneprogrammieren (2022): Wofür wird Python verwendet? 10 Aufgaben und Anwendungsbereiche. URL: https://lerneprogrammieren.de/python-anwendungsbereiche/ (Abruf: 30.01.23)
    • PYPL (2023): PYPL PopularitY of Programming Language. URL: https://pypl.github.io/PYPL.html (Abruf: 30.01.23)
    • Stolens (2020): Die Python Power – erklärt von Python-Erfinder Guido van Rossum. URL: https//www.t3deutschland.de/de/t3-europe/edublogs/interview-guido-rossum (Abruf: 31.01.2023)
    • Morpheus (2015): Python Tutorial #12 – Funktionen. URL: https://youtu.be/mgA-Ytr32Ys (Abruf: 30.01.2023)
    • Abbildung 2, Programmieren mit Python (2022). URL https://fobizz.com/programmieren-mit-python-ganz-ohne-vorkenntnisse/
    • Sebastian Grüner (2021), Golem, Python-Gründer will doppelte Geschwindigkeit für die Sprachen, URL: https://www.golem.de/news/guido-van-rossum-python-gruender-will-doppelte-geschwindigkeit-fuer-die-sprache-2105-156491.html (Abruf 30.01.2023)
    • Koen Stulens (2020), t3deutschland, Die Python Power, URL: https://www.t3deutschland.de/de/t3-europe/edublogs/interview-guido-rossum(Abruf 30.01.2023)
    • Steemit (2018) Python für Anfänger #1, URL: https://steemit.com/deutsch/@rilc0n/python-fuer-anfaenger-1-einfuehrung-vor-und-nachteile(Abruf 30.01.2023)
    • Python, URL: https://www.python.org/ (Abruf 30.01.2023)

    Stricken und Programmieren: von 1 links/1 rechts zu 1010

    Autorin: Lena-Marie Hoppe


    Crafting meets Coding

    Wenn Stricken und Programmieren im selben Satz erwähnt werden, dann meist zur Verbildlichung von Gegensätzen: Tradition trifft auf Moderne, analog trifft auf digital, belächelnswertes DIY-Hobby trifft auf zukunftsorientierten Skill. Es mag widersprüchlich erscheinen, doch die Jahrhunderte alte Handarbeitstechnik und Programmiersprachen haben mehr gemein, als es auf den ersten Blick vermuten lässt. Jemand sitzt stundenlang vor unzähligen Zeilen mit kryptisch anmutenden Kürzeln, oft bis tief in die Nacht hinein und an einem bestimmten Punkt stellt sich das Gefühl ein, die Arbeit einfach nur noch in die Ecke pfeffern zu wollen. Dieses Gefühl kennen sowohl Programmierer:innen als auch Strickende.

    Die binäre Basis

    So groß wie die Vielfalt an Programmiersprachen ist, so groß ist auch die Vielfalt an Stricktechniken und Mustern – wahrscheinlich sogar größer. Beiden ist jedoch gemein, dass sie sich jeweils auf zwei Grundbausteine zurückführen lassen: Einsen und Nullen bzw. rechte und linke Maschen. An dieser Stelle soll kein Stricktutorial folgen, doch die grundlegenden Strickbegriffe sollten für ein besseres Verständnis bekannt sein.

    Eine Strickschrift ist die grafische Repräsentation eines Strickmusters mit Hilfe eines Kästchenrasters und Symbolen für die verschiedenen Maschenarten. Der binäre „Übersetzung“ ist im Vergleich komplexer.

    Strickarbeiten können in Reihen oder Runden angefertigt werden. Die Strickrichtung verläuft dabei von rechts nach links. Eine Reihe oder Runde besteht aus Maschen, die während der Arbeit auf der Stricknadel liegen. Rechte Maschen bilden oft die Vorderseite des Gestricks und sehen aus wie „V“s. Sie bilden eine glatte Oberfläche. Linke Maschen erzeugen dagegen kleine Knötchen, wenn sie einzeln auftauchen, bzw. eine Wellenstruktur in der Fläche.

    Außer rechten und linken Maschen gibt es noch viele weitere Techniken, etwa Ab- und Zunahmen, um das Gestrick zu formen oder dekorative Elemente wie Zöpfe, Umschläge oder tiefer gestochene Maschen. Sie alle beruhen jedoch auf den rechten und linken Maschen, mit denen sich komplette Strickstücke inklusive komplexer Strukturmuster stricken lassen.

    Genau dieses Strukturmuster mit binärer Basis sind es, die das Stricken zum perfekten Nachrichtenmedium gemacht haben, lange bevor es ausgefeilte digitale Chiffrier- und Dechriffiertechnologien gab. Selbstverständlich war der Wollpullover mit Noppenmuster nicht der Vorläufer der E-Mail. Besonders in Kriegszeiten hat das Stricken jedoch eine wichtige Rolle beim verschlüsselten Sammeln und Weitergeben von Informationen gespielt.

    Steganografie: gestrickte Geheimbotschaften

    Eine ältere Dame sitzt am Fenster und strickt. Von ihrem Platz hat sie einen guten Blick auf die Züge, die nicht weit von ihrem Haus entfernt vorbeifahren. Eigentlich eine idyllische Vorstellung, wenn es sich dabei nicht um Kriegsgerät der deutschen Besatzer und eine französische Spionin während des Ersten Weltkrieges handeln würde. Als Spion gilt es unauffällig zu sein, keine Aufmerksamkeit zu erregen. Doch das Stricken ist nicht nur Teil der Tarnung. Die Strickware selbst kann zur geheimen Botschaft werden, indem ein Code in die Maschen eingebaut wird. Diese Form der Steganografie, die verborgene Übermittlung von Informationen, kam sowohl im Ersten als auch im Zweiten Weltkrieg zum Einsatz.

    „Drop one for a troup train, purl one for an artillery train“ – so lautet es in der BBC-Dokumentation MI6: A Century in the Shadows, also eine Masche fallen lassen für einen Truppenzug, eine linke Masche stricken für einen Artilleriezug. Man kann davon ausgehen, dass statt „drop one“ hier eher ein Umschlag gemeint ist, der zwar ein Loch erzeugt, aber das Gestrick nicht weiter auflöst. Den Militärhistorikern sei an dieser Stelle ihre Strickunkenntnis verziehen. Wie gut, dass die richtige Spionagearbeit den älteren Damen überlassen wurde …

    Eine noch naheliegendere Form der Informationsübermittlung mittels Gestrick ist der Einbau von Morsebotschaften. Die erhabene Struktur der linken Maschen ist ideal, um mit ihnen Strich- und Punktkombinationen nachzubilden. Für das ungeübte Auge wirken sie dabei lediglich wie ein Strukturmuster, besonders, wenn der eigentliche Code durch andere Musterelemente kaschiert wird.

    Es ist jedoch nicht nur das Gestrick an sich, das als steganografisches Medium genutzt werden kann. Der Mix aus Kürzeln und Ziffern bietet sich gerade dafür an, verschlüsselte Informationen darin zu verstecken. Aus diesem Grund haben sowohl die USA (im Zweiten Weltkrieg) als auch Großbritannien (im Ersten Weltkrieg) den Auslandsversand von Strickanleitungen verboten. Die durch Abkürzungen bestimmte Form von Strickanleitungen lassen sie für Außenstehende nahezu unverständlich wirken – ganz so wie Programmcode … 

    Tutorial: Ein Tag mit Bobby

    Beitragsbild Tutorial zur Animation: Ein Tag mit Bobby

    Autor*in: Julia Solohub 


    Animation anschauen

    Quellcode (Zip-Archiv zum Download)

    Dieser Beitrag ist ein Tutorial zu der Animation „Ein Tag mit Bobby“ bei dem auf die Details zum Code, Inhalt, Besonderheiten, das Konzept und Schwierigkeiten eingegangen wird. Die Bilder dienen zur Veranschaulichung und Nachvollziehbarkeit und sind anklickbar, sodass man diese in Vollbildmodus und besserer Auflösung betrachten kann.

    Inhaltsverzeichnis

    Das Konzept

    Die Animation ist ein Storytelling, bei dem der User mit Hilfe von Buttonklicks durch die einzelnen Szenen geleitet wird.  Dieser begleitet den Hauptcharakter Bobby durch den Tag und führt verschiedene Anweisungen durch, die Bobby in der Sprechblase gibt. Diese können durch einen Buttonklick realisiert werden. Sobald der User auf einen Button klickt, wird entweder die Szene gewechselt oder ein visueller Effekt erzeugt.

    Das Ziel ist es mit dem User eine Interaktion zu starten, wobei dieser den Ablauf der Animation lenkt. Der User wird zu Beginn auch direkt von Bobby mit dem Namen angesprochen und aufgefordert mit ihm den Tag zu verbringen.

    Die Idee eine Animation mit Hund(en) zu erstellen, kommt von der persönlichen Liebe zu Tieren und insbesondere zu Hunden. Die kindliche und amüsante Darstellung soll den User animieren und erfreuen. Die Hintergrundmusik sorgt für eine zusätzliche entspannte Atmosphäre, die die Stimmung der Animation unterstützt. Der User kann sich somit entspannen, zurücklehnen und die Animation genießen.

    Aufbau

    Die Animation ist in vier Szenen aufgeteilt:

    1. Start-Szene (div class=“ story_start_scene“)
    2. Bobby im Wohnzimmer (div-class= „dog_in_livingroom_scene“)
    3. Bobby im Park (div class=“background_image_park_day“)
    4. Schluss-Szene bei der Bobby im Park nachts ist (div class=“dog_in_park_night“)

    Start Szene

    Bei der Start Szene sieht man den schlafenden Bobby auf einem Teppich ohne jeglichen Hintergrund, das sich zu den restlichen Szenen unterscheidet. Der Grund dafür ist, dass man zum einen den beweglichen und farbwechselnden Hintergrund auf sich wirken lassen kann und zum anderen sollte es schlicht gehalten werden, damit der Wechsel zu den Hauptszenen spannender gestaltet wird. Zudem soll der Fokus zu Beginn auf dem Hauptcharakter liegen. Mit dem Buttonklick auf „Aufwecken“ startet die ganze Animation.

    Start Szene

    Zweite Szene

    In der zweiten Szene befindet sich Bobby im Wohnzimmer, wo er zuvor auf dem Teppich geschlafen hat. Der User hat ihn aufgeweckt und nun fragt Bobby ihn nach seinem Namen. Die Abfrage passiert zwischen der ersten und der zweiten Szene, die mit Hilfe von JavaScript erzeugt wurde. Je nachdem welchen Namen der User eingibt, erscheint dieser in dem Begrüßungstext in der Sprechblase. Hier wird der User aufgefordert die Anweisungen von Bobby durchzuführen. In dieser Szene soll der User mit Bobby in den Park gehen.

    Zweite Szene
    Zweite Szene

    Dritte Szene

    Die dritte Szene spielt sich im Park tagsüber ab in den mehrere Aktionen passieren. Zu Beginn sieht man den Park, in dem sich ein Grill und Bobby befinden. Bobby weist darauf hin, dass es vom Grill sehr gut riecht und er gerne einen Hot Dog haben möchte. Dieser Bitte kann der User nachgehen, indem er auf den langsam erscheinenden Button „Hot Dog geben“ klicken kann. Sobald dies gemacht wurde, erscheint ein animierter Hot Dog, der vom Grill aus zu Bobby in einer 360 Grad Drehung geworfen wird. Daraufhin bedankt sich Bobby und gibt den nächsten Hinweis, dass er seinen Freund Bello sieht und mit ihm Ball spielen möchte.

    Dritte Szene
    Dritte Szene

    Auch hier kann der User der Anweisung nachgehen, indem er auf den nächsterscheinenden Button „Mit Bello spielen“ klickt. Hier erfolgt die nächste Animation, bei der sich Bello und Bobby den Ball zu werfen. Dabei springen beide versetzt hoch und werfen den Ball mit ihrem Kopf einander zu. Nun erscheint der fünfte Button „Weiter“, der den User darauf hinweist, dass danach die nächste Szene erscheint.

    Vierte Szene

    Vierte Szene
    Vierte Szene

    Die vierte und letzte Szene findet in dem selben Park statt. Jedoch ist es schon spät geworden und Bobby ist müde. Er macht vor Freude Rückwärtssaltos und bedankt sich für den großartigen Tag, den er mit dem User erlebt hat. Auch hier weist Bobby daraufhin, dass er müde und erschöpft ist. Hier ist es Zeit sich von Bobby zu verabschieden und ihm eine Gute Nacht zu wünschen.

    Letzte Szene
    Letzte Szene

    Mit dem Buttonklick kann man dies tun, wobei das Bild von Bobby in den ursprünglich schlafenden Zustand zurückgebracht wird. Es taucht ein Eyecatcher auf, der zoomt und sich hin und her in verschiedene Winkel dreht. Dies ist der Abschluss der Animation, der durch den animierten Text „Gute Nacht, Bobby“ kenntlich gemacht wird. Der letzte Button unterscheidet sich in der Erscheinungsweise von allen anderen, denn dieser macht auf sich Aufmerksam, indem sich dieser hin und her bewegt und dabei vertikal spiegelt. Der Grund für diese Erscheinungsweise ist das Aufmerksam machen, dass ab hier keine neue Szene erscheint, sondern alles nochmal vom Anfang beginnt. Somit ermöglicht dieser Button die Animation nochmal neu zu starten

    Der Code

    Für die Animationen wurden HTML5, CSS3 sowie JavaScript und jQuery benutzt. HTML5 wurde für das Grundgerüst und Aufbau, CSS3 für die Animation sowie das Styling und JavaScript bzw. jQuery für das Auslösen/Verstecken verschiedener Animationsobjekte benutzt.

    Allgemeine Einstellungen

    In der ID „animation_start“ in HTML5 spielt sich die gesamte Animation ab. Die jeweiligen Szenen sind in einzelne div-classes unterteilt in denen die dazugehörigen Objekte enthalten sind. Die div-classes sind nach den Szenarien benannt, das das Erkennen der Inhalte vereinfacht.

    <div id="animation_start"class="whole_animation"> <!--ID der gesamten Animation-->
          <div class="story_start_scene"><!--Erste Szene: Startbildschrim-->
             <img src="sleeping_dog.png" id="sleep"/>
             <img src="carpet.png" id="carpet"/>
           </div>
        
           <div class="dog_in_livingroom_scene"> <!---Zweite Szene: Bobby im Wohnzimmer Szene samt Begrüßung-->
              <div class="living_room_background">
                <img src="room.png" class="backgroundimage_livingroom" style="visibility: hidden;"/>
               </div> 
               <div class="dog_character">
                 <img src="standing_dog.png" id="hello_dog" style="visibility: hidden;"/>
                 <img src="sprechblase.png" id="speak1" style="visibility: hidden;"/> 
                 <p id="welcome_text" style="visibility: hidden;">Hallo! Ich bin Bobby. Lass uns den Tag zusammen verbringen.</p>
               </div>
           </div>
    
           <div class="dog_in_park_day"> <!--Dritte Szene: Bobby im Park Szene mit dazugehörigen Objekten-->
               <div class="background_image_park_day">
                 <img src="meadow_at_day.png" class="backgroundimage_park_day" style="visibility: hidden;"/>        
               </div>
               <div class="park_items">
                 <img src="grill.png" id="bbq" style="visibility: hidden;"/>
                 <img src="food.png" id="hot_dog" style="visibility: hidden;"/>
                 <img src="standing_dog2.png" id="dog_at_park" style="visibility: hidden;"/>
                 <img src="sprechblase2.png" id="speak2" style="visibility: hidden;"/>
                 <p id="hot_dog_text" style="visibility: hidden;">Das riecht aber toll! Kannst du mir einen Hot Dog geben?</p>
                 <p id="thank_you_hot_dog_text" style="visibility: hidden;">Danke! Ouh Schau! Da ist Bello. Ich möchte mit ihm Ball spielen.</p>
                 <img src="playing_dog_brown.png" id="bello" style="visibility: hidden;"/>
                 <img src="playing_dog_grey.png" id="bobby" style= "visibility: hidden;"/>
                 <img src="ball.png" id="toy" style="visibility: hidden;"/>    
               </div> 
           </div>
    
           <div class="dog_in_park_night"><!--Abschlussszene: Bobby im Park nachts.--> 
               <div class="background_image_park_night">
                 <img src="meadow_at_night.png" id="backgroundimage2" style="visibility: hidden;"/> 
                 <img src="dog_by_night.png" id="night_dog" style="visibility: hidden;"/>
                 <img src="sprechblase3.png" id="speak4" style="visibility: hidden;"/>
                 <img src="sleeping_dog2.png" id="tired" style="visibility: hidden;"/>  
                 <p id="thank_you_for_the_day" style="visibility: hidden;">Danke dir für den schönen Tag! Ich bin jetzt aber müde.</p>
                 <p id="good_night_bobby" style="visibility: hidden;">Gute Nacht, Bobby</p>
               </div>
           </div>
     </div><!--Ende der "animation_start"-->

    In der aside-class wurden alle Buttons und der Titel der der Animation eingetragen, da diese Inhalte sich immer an der selben Position befinden.

    <body>
      <!--Alle Elemente sind auf "visibility:hidden" gesetzt, die über JavaScript aktiviert werden, wenn man auf einen Button klickt-->
      <script src="animation_functions.js"></script> <!--Einbindung der JavaScript Datei-->
      <aside class="title_and_buttons"> <!--Übergreifende Class für alle Buttons und Titel der Animation (h1) damit die Position die selbe bleibt-->
        <h1> Ein Tag mit Bobby</h1>
        <button id="button_aufwecken">
           <a class="button_1">Aufwecken</a>
        </button>
        <button id="button_park" style="visibility: hidden;">
          <a class="button_2">Lass uns in den Park gehen</a>
       </button>
       <button id="button_hot_dog" style="visibility: hidden;">
          <a class="button_3">Hot Dog geben </a>
        </button>
        <button id="button_play" style="visibility: hidden;">
          <a class="button_4">Mit Bello spielen</a>
        </button>
        <button id="button_next" style="visibility: hidden;">
         <a class="button_5">Weiter</a>
       </button>
       <button id="button_good_night" style="visibility: hidden;">
         <a class="button_6">Gute Nacht!</a>
      </button>
       <button id="button_reload" style="visibility: hidden;">
         <a class="button_7">Neustart</a>
     </button>
    </aside> 
    

    Auffallend im Code ist, dass alle Objekte nicht sichtbar sind (visibility: hidden). Diese werden zu dem Zeitpunkt wann die jeweiligen Objekte zu sehen sein sollen mit Hilfe von jQuery sichtbar gemacht. Die allgemeine Position aller Elemente ist in der ID „animation“ sowie dessen class „whole_animation“ zu sehen. So entsteht ein Rahmen für die verschiedenen Bilder, das die Zentrierung der Szenen möglich macht. Die gewählte Größe und Position erstellt eine Box, wo sich die Animation abspielt. Dies soll ein Gefühl erzeugen, als würde man in einem Kino vor einer Leinwand sitzen.

    #animation { /*Ausrichtung der gesamten Animation*/
      align-items: center;
      min-height: 100%;
      position: absolute;
    }
    
    .whole_animation {
      max-width: 900px;
      margin: 0em auto 0;
      text-align: center;
      max-height:800px;  
      overflow: hidden;
    }
      
    .title_and_buttons { /*Ausrichtung aller Buttons und der h1*/
      max-width: 900px;
      text-align: center;
      margin: 1em auto; 
      padding:1px;
    }
       
    h1 {
      color: white;
      font-size: 1.7rem;
    }

    Im Body ist die Animation des ineinanderfließenden Hintergrundes zu sehen. Die keyframes bringen diese Animation zum Laufen. Zunächst muss man drei Farben definieren, die man in dem Übergang haben möchte. Des Weiteren war es wichtig die Dauer und Länge zu definieren. In diesem Fall sollte der gesamte Übergang 13 Sekunden dauern und unbegrenzt durchlaufen.

    body {
      font-family: "Comic sans MS"; 
      background-size: cover; 
      justify-content:center;
      background-position: center;
      background: -webkit-linear-gradient(132deg, #FC415A, #591BC5, #4a8ead); 
      background-size: 400% 400%;
      align-items: center;
      min-height: 100%;
      overflow:hidden;
      -webkit-animation: moving_background 13s ease infinite;
      animation: moving_background 13s ease infinite;
    }
    
    @-webkit-keyframes moving_background {  /*Animation des Backgrounds, der in Dauerschleife die Farben wechselt*/
      0% {
          background-position: 0% 50%;
      }
      50% {
          background-position: 100% 50%; /*Inspired by https://www.sliderrevolution.com/resources/css-animated-background/*/
      }
      100% {
          background-position: 0% 50%;
      }
    }
    

    Die Buttons

    Die Buttons haben wie schon zuvor erwähnt den funktionalen Zweck den User durch die Szenen zu geleiten und verschiedene Animationen hervorzurufen. Somit sind diese essenziel für das Abspielen der Animation. Aus diesem Grund werden diese oberhalb der Animationsbox dargestellt, damit die Aufmerksamkeit des Users zu den bestimmten Zeitpunkten darauf gelenkt wird.

    Die Buttons haben alle den selben Stil, jedoch haben alle verschiedene Dauer und Art und Weise der Animation. Daher wurde jeder einzelne Button in CSS3 angelegt. Das Aussehen der Buttons ist Oval und hat drei Farbverläufe, das in zarten und hellen Farben gehalten ist, um mit dem Hintergrund zu harmonieren. Beim Hovern erfolgt ein Spiegeleffekt bei dem die Farben von rechts nach links ineinander laufen. Durch das bewegte Gelb wir ein Relief- bzw. Spiegeleffekt erzeugt. Die transition ermöglicht dies.

    #button_aufwecken { /*Design und Animation der Buttons. Alle haben die gleiche Einstellung nur andere Animationsangaben. Daher jeden Button einzeln angelegt, anstatt die zusammenzufassen*/
      border-radius: 50%;
      align-items: center;
      font-size: 15px;
      display: flex;
      margin: auto;
      background-image: linear-gradient(135deg, #ee9ca7 0%, #fbed96 51%, #ee9ca7 100%);  /*Inspired by https://blog.avada.io/css/button-hover-effects/*/
      background-size: 200% auto;
      box-shadow: #a05a9c 0px 0px 5px;
      -webkit-animation: push_buttom 3s infinite;
      animation: push_button 3s infinite;
      outline: none;
    }
    
    
    @-webkit-keyframes push_button {                       /*Inspired by https://css-tricks.com/css-animation-libraries/*/
      0% {
        box-shadow: 0px 0px 4px rgb(255,250,250);
      }
              
      
      50% {
        box-shadow: 0px 0px 23px rgb(255,250,250);
      
      }
      100% {
        box-shadow: 0px 0px 12px rgb(255,250,250);
      }
    }
    
    @keyframes push_button {                       
    0% {
      box-shadow: 0px 0px 4px rgb(255,250,250);
    }
            
    
    50% {
      box-shadow: 0px 0px 23px rgb(255,250,250);
    
    }
    100% {
      box-shadow: 0px 0px 12px rgb(255,250,250);
     }
    } 
    
    #button_aufwecken:hover {
      background-position: right center;
      transition: all 0.5s ease-out;
      }
          
    .button_1{
      flex: 1 auto;
      margin:5px;
      padding:10px 25px;
      text-align:center;
      transition: all 0.5s ease-out;
      cursor:pointer;
      background-size: 200% auto;
      font-family: "Comic sans MS";
    }

    Animierte Objekte

    Alle benutzen Bilder, bis auf die Hintergrundbilder der Szenen, haben einen funktionalen Zweck. Alle Bilder sind PNG Dateien und von Pixabay. Durch die position: relativ war es einfach alle Objekte in einer Szene zu platzieren. Ausgerichtet und an den gewünschten Platz gebracht wurde mit bottom, top, left, right und margin.  Keyframes erzeugen die Animationen der Objekte. Die nachfolgenden Abschnitte beschreiben die einzelnen animierten Objekte.

    Text in Sprechblase

    Der sprechende Text, den Bobby in der Sprechblase sagt zoomt rein und raus und wechselt dabei zwischen drei Farben. So sollte die Aufmerksamkeit auf den Text gelenkt werden, damit der User den Anweisungen folgen kann. Dazu wird die animation-timing-function auf ease gesetzt. Zudem soll der Zoomeffekt in Dauerschleife ablaufen. Daher der Wert infinite. Durch scale() konnte die Größe der Transformation des Textes eingerichtet werden. Color sorgt für den Farbverlauf, der sich über die verschiedenen Sequenzen (0%, 50%, 100%) ändert.

    #welcome_text { /*Annimation für Text in der Sprechblase. Wird in jeder Szene eingesetzt*/
      position: relative;
      bottom: 392px;
      left: 475px;
      z-index: 4;
      font-size: 10px;
      box-sizing: border-box;  
      overflow: hidden;
      border-width: 20px;
      border: 1px hidden;
      width: 135px;
    
      -webkit-animation: typing_hello 1.5s ease infinite; 
      -webkit-animation-delay: 0s;
      -webkit-animation-play-state: paused;
      -webkit-animation-fill-mode: forwards;
    
      animation: typing_hello 1.5s ease infinite;
      animation-delay: 0s;
      animation-fill-mode: forwards;
      animation-play-state: paused;     
    }
    
      @-webkit-keyframes typing_hello {
       0% {
        transform: 
           scale(0.7, 0.7);
           color:rgb(116, 9, 107)
      }
       50% {
        transform: 
           scale(0.9, 0.9);
           color:rgb(85, 25, 134)
      }
       100% {
        transform: 
          scale(0.7, 0.7);
          color:rgb(73, 41, 214)
      }
    }

    Fliegender Hot Dog

    Für die Animation des fliegenden Hot Dogs wurden in den keyframes die Werte translateX(), translateY() und rotate() verwendet. Die beiden ersten Werte sorgen für die Verschiebung auf der X- und Y-Aschse, wobei ein negativer translateY() Wert das Objekt nach oben versetzt. Daher ist bei 50%, das der höchste Punkt der Flugbahn sein soll, ein negativer Wert von -80px. rotate() sorgt für die Rotation des Objektes. Hierbei müssen Gradzahlen eingetragen werden.

    #hot_dog { /*Animation des fliegenden Hot-Dogs*/
      width: 47px;
      z-index: 2;
      position: relative;
      bottom: 300px;
      right: 225px;
    
      -webkit-animation-name: flying_hot_dog;
      -webkit-animation-duration: 2s;
      -webkit-animation-timing-function: linear;
      -webkit-animation-fill-mode: forwards;
      -webkit-animation-delay: 0s;
      -webkit-animation-iteration-count: 1;
      -webkit-animation-play-state: paused;
      
      animation-name: flying_hot_dog; 
      animation-duration: 2s;
      animation-fill-mode:forwards;
      animation-delay: 0s;
      animation-timing-function: linear;
      animation-iteration-count: 1;
      animation-play-state: paused;
    }
     
      @-webkit-keyframes flying_hot_dog {
        from  { transform: translateX(0px) translateY(20px)  rotate(0deg) }
        50%   { transform: translateX(220px) translateY(-80px) rotate(180deg) }
        to    { transform: translateX(440px) translateY(95px)rotate(360deg) }
      }
    
      @keyframes flying_hot_dog {
        from  { transform: translateX(0px) translateY(20px)  rotate(0deg) }
        50%   { transform: translateX(220px) translateY(-80px) rotate(180deg) }
        to    { transform: translateX(440px) translateY(95px)rotate(360deg) }
      }

    Bello und Bobby beim Ballspielen

    Die Animation der zwei spielenden Hunde war am schwierigsten zu gestalten, da hier der Zeitfaktor eine große Rolle spielt, damit alles synchron abläuft. Zunächst die Gestaltung der beiden springenden Hunde. Hierbei muss man die Sequenzen (0%-100%) der bottom-Wert ändern. Je größer der Wert, desto höher steigen die Objekte auf. Die ease-out Eigenschaft sorgt dafür, dass das Ende der Sequenz langsamer abläuft. So kommt der fließende Sprung zustande. Beide Hunde haben die selben Animationseigenschaften. Der Unterschied liegt im animation-delay. Bello fängt eine Sekunde später an zu springen als Bobby. So entsteht der abwechselnde Sprung.

    #bello { /*Ab hier folgt die Animation der zwei mit dem Ball spielenden Hunde*/
      width: 90px;
      z-index: 3;
      position: relative;
      bottom: 430px;
    
      -webkit-animation: move_bello 2s infinite;
      -webkit-animation-delay: 1s;
    
      animation: move_bello 2s infinite;
      animation-delay: 1s;
    }
    
    @-webkit-keyframes move_bello {
      from { bottom: 477px; animation-timing-function: ease-out; }
      50% { bottom: 570px; animation-timing-function: ease-out; }
       to { bottom: 477px; }
    }
    
    @keyframes move_bello {
      from { bottom: 477px; animation-timing-function: ease-out; }
      50% { bottom: 570px; animation-timing-function: ease-out; }
       to { bottom: 477px; }
    }
    
    #bobby {
      width: 90px;
      z-index: 3;
      position: relative;
      left: 200px;
      bottom: 430px;
    
      -webkit-animation: move_bobby 2s infinite;
      animation: move_bobby 2s infinite;;
    }
    
    @-webkit-keyframes move_bobby {
      from {  bottom: 477px; animation-timing-function: ease-out; }
        50% { bottom: 570px; animation-timing-function: ease-out; }
         to { bottom: 477px; }
    }

    Die Animation des Balls wurde nach dem selben Konzept wie die des Hot Dogs gestaltet. Hier bestand die Schwierigkeit mit der Positionierung und der Dauer des fliegenden Balls. Es musste alles auf die beiden springenden Hunde angepasst werden, sodass der Effekt eines Kopfballs entsteht.

    Saltomachender Bobby

    In der letzten Szene macht Bobby ein Rückwärtssalto. Dieser Effekt wurde mit den gleichen Eigenschaften wie bei dem fliegenden Hot Dog und Ball animiert. Da der Charakter sich auf einer Stelle bewegt und nur hochspringt und dreht, bleibt der translateX()vWert bei 0px. Dem entsprechend muss der translateY() und rotate() angepasst werden.

    #night_dog {
      width: 80px;
      position: relative;
      right: 380px;
      bottom: 1039px;
      -webkit-animation: salto_dog 2s infinite;
      -webkit-animation-timing-function: linear;
      animation: salto_dog 2s infinite;
      animation-timing-function: linear;
    }
    
    @-webkit-keyframes salto_dog {  /*Animation von Bobby, der eine Rückwärtsrolle macht*/
      from  { transform: translateX(0px) translateY(0px)  rotate(0deg) }
      50%   { transform: translateX(0px) translateY(-80px) rotate(-180deg) }
      to    { transform: translateX(0px) translateY(0px)rotate(-360deg) }
    }
    

    Buttons

    #button_reload {
    border-radius: 50%;
    align-items: center;
    font-size: 15px;
    display: flex;
    margin: auto;
    background-image: linear-gradient(135deg, #ee9ca7 0%, #fbed96 51%, #ee9ca7 100%); /*https://blog.avada.io/css/button-hover-effects/*/
    background-size: 200% auto;
    box-shadow: #a05a9c 0px 0px 5px; 
    margin-top: -50px;
    }
    
    #button_reload {
    -webkit-animation-name: button_load;
    -webkit-animation-duration: 3s;
    -webkit-animation-timing-function: linear;
    -webkit-animation-fill-mode: forwards;
    -webkit-animation-iteration-count: infinite;
    -webkit-animation-play-state: paused;
    -webkit-animation-direction: alternate-reverse;
    
    animation-name: button_load; 
    animation-duration: 3s;
    animation-timing-function: linear;
    animation-fill-mode: forwards;
    animation-iteration-count:infinite;
    animation-play-state: paused;
    animation-direction: alternate-reverse;
    }
    
    @-webkit-keyframes button_load {
      from  { transform: translateX(-20px) scaleX(1.0)}
      to    { transform: translateX(20px) scaleX(-1.0)}
    } 

    Die Buttons wurden im vorherigen Kapitel schon beschrieben. Nun wird näher auf die animierenden Effekte eingegangen. Der Effekt des Einblendens wurde durch die opacity Eigenschaft erzeugt, der von 0 auf 1 steigt und durch die animation-duration in die Länge gezogen wird. Der erste und letzte Button haben jedoch ein paar zusätzliche Effekte. Beim ersten Button „Aufwecken“ leuchtet der Button-Hintergrund in Weiß. Durch den versetzten box-shadow und der Dauerschleife (infinite) wird das pulsierende Leuchten erzeugt (siehe Bild ). Der letzte Button „Neustart“ dreht und bewegt sich von links nach rechts und rückwärtsrum, während sich dieser vertikal spiegelt. Die animation-direction: alternate-reverse gibt an, dass die Animation sich vor- und zurückspielen soll. Animation-timing-function sorgt für den linearen. also gleichbleibenden/flüssigen Ablauf. translateX() sorgt dafür, dass sich der Button von links nach rechts bewegt. scaleX() hingegen sorgt für die Spiegelung, wobei der negative Wert die Spiegelung an der X-Achse erzeugt.

    Gute Nacht, Bobby Schrift

    Der Abschließende Text „Gute Nacht, Bobby“ wurde mit einer Zoom-, Leucht- und Rotations-Funktion gestaltet. Wie schon zuvor erwähnt erzeugt scale() den Zoomeffekt. Für das Textleuchten ist text-shadow zuständig. rotate() sorgt für die Drehung des Textes. Der Unterschied bei dieser Textanimation liegt in der animation-timing-function. Hierbei setzt man cubic-bezier () ein um, einen Verzerrungseffekt zu erstellen.

    #good_night_bobby{ /*Verabschiedung durch "Gute Nacht" Text Animation*/
      position: relative;
      bottom: 1500px;
      font-size: 30px;
      color: white;
      -webkit-animation: push_good_night 3s infinite;
      animation: push_good_night 3s infinite;
      animation-timing-function: cubic-bezier(.1,0,.7,1);
      outline: none;
    }
    
      @-webkit-keyframes push_good_night {
       0% {
        transform: scale(1);
        text-shadow: 2px 3px 6px rgb(3, 246, 255);
      }
       20% {
        transform: scale(1.1) rotate(2deg);
      }                                                  
       40% {
        transform: scale(.97);
      }
       50% {
        text-shadow: 6px 6px 8px rgb(19, 236, 184);
     }
       60% {
        transform: scale(.99) rotate(-2deg);
     }
       80% {
        transform: scale(1.05);
     }
       100% {
        transform: scale(1);
        text-shadow: 2px 3px 6px rgb(135, 222, 241);
     }
     }
    
      @keyframes push_good_night {
       0% {
        transform: scale(1);
        text-shadow: 2px 3px 6px rgb(3, 246, 255);
      }
       20% {
       transform: scale(1.1) rotate(2deg);
      }                                                  
       40% {
       transform: scale(.97);
      }
       50% {
       text-shadow: 6px 6px 8px rgb(19, 236, 184);
    }
       60% {
       transform: scale(.99) rotate(-2deg);
    }
       80% {
       transform: scale(1.05);
    }
       100% {
       transform: scale(1);
       text-shadow: 2px 3px 6px rgb(135, 222, 241);
    }
    }

    JavaScript/jQuery

    var name = "Snoopy" /*Variable für die Namensabfrage für die Begrüßung von Bobby*/
    
    $(document).ready(function(){
    /*Funktion, bei der bei einem Buttonklick bestimmte Objekte sichtbar oder ausgeblendet werden*/
    $("#button_aufwecken").on("click", function() {  /*Button "Aufwecken"*/
        $(".story_start_scene").css({"visibility": "hidden"});
        $(".backgroundimage_livingroom").css({"visibility": "visible"}); 
        $("#hello_dog").css({"visibility": "visible"});
        $("#speak1").css({"visibility": "visible"});
        $("#button_park").css({"visibility": "visible"});
        $("#button_aufwecken").css({"visibility": "hidden"})
        $("#welcome_text").css({"visibility": "visible"});
        $("#name_text").css({"visibility": "visible"});
        $("form").css({"visibility": "visible"});
        
        $("#button_park").css({"-webkit-animation-play-state": "running"}); /*Animationen, die pausiert werden, werden hierbei zum Abspielen gebracht*/
        $("#welcome_text").css({"-webkit-animation-play-state": "running"});
    
        name = prompt("Bitte gib deinen Namen ein", "Snoopy");     /*Namensabfrage. Inspired by https://www.w3schools.com/jsref/met_win_prompt.asp*/
        console.log(name);
    
        if (name != null) {                                                                    
            document.getElementById("welcome_text").innerHTML =
            "Hallo " + name + "! Ich bin Bobby. Lass uns den Tag zusammen verbringen.";
          }
    
    });

    Um die Übergänge zwischen den einzelnen Szenen und Animationen möglich zu machen, wurde jQuery eingesetzt. Durch den Buttonklick werden Objekte, die in HTML5 auf „hidden“ gesetzt sind, sichtbar gemacht. Dafür nutzt man die $(„#button“).on(„click“, function() {}}); . Diese zeigt welche Objekte beim Buttonklick gezeigt werden und welche verschwinden sollen. Die Namensabfrage zwischen der ersten und der zweiten Szene erfolgte über JavaScript mit der promt() Methode.

    Bobby JS
    Bobby JS

    Hierbei wurde eine Variable erstellt, das einen default Wert liefert, der in der promp() Abfrage und if-loop eingefügt ist. Es öffnet sich ein Pop-up Fenster bei dem die Aufforderung „Bitte gib deinen Namen ein“ und dem default Wert „Snoopy“ steht. Diese wurden zuvor definiert. Wenn der User seinen Namen eintippt, nimmt die p id=“welcome_text“ diesen entgegen und Bobby begrüßt den User mit „Hallo [Username]! Ich bin Bobby. Lass und den Tag zusammen verbringen“. Falls das Eingabefeld leer bleibt, begrüßt Bobby den User mit dem Namen null. Durch diese Funktion wird eine Bindung zum User aufgebaut.

    Die Animationen, die mit Hilfe von transitions und keyframes in CSS3 erstellt wurden, wurden bei webkit-animation-play-state auf paused gesetzt. Der Grund dafür ist, dass bestimmte Funktionen wie animation-delay oder animation-duration ab der Start Szene anfangen zu zählen. Das war aber nicht die Intention. Es sollten alle Abläufe erst nach einem Buttonklick starten. So war das Problem z.B. bei dem zweiten Button „Lass und in den Park gehen“. Dieser wird nach 3 Sekunden eingeblendet. Wäre -webkit-animation-play-state auf running gesetzt, so hätte das Einblenden des Buttons nach 3 Sekunden nicht funktioniert, wenn man sich länger als 3 Sekunden in der Start Szene befunden hätte. Der Button wäre dann beim Szenenwechsel schon da und der Einblende Effekt wäre nicht sichtbar. Damit die einzelnen Animationen erst beim Buttonklick abspielen, muss man diese über jQuery bei -webkit-animation-play-state auf running setzen.

    $("#hot_dog_text").css({"-webkit-animation-play-state": "running"});
    $("#button_hot_dog").css({"-webkit-animation-play-state": "running"});

    Besonderheiten

    Eine Besonderheit ist die im Hintergrund eingesetzte Musik, um die Animation spannender zu gestalten und den User in eine angenehme Stimmung zu versetzen. Des Weiteren wurden so gut wie alle benutzen Objekte animiert. Es wurde versucht jedes Animationselement individuell zu gestalten, um verschiedene visuelle Effekte zu erzeugen. Die letzte Besonderheit ist, dass der letzte Button einen Neustart der Animation ermöglicht, falls man erneut das Story Telling durchspielen möchte.

    Schwierigkeiten

    Beim Erstellen der Animation traten zwei Probleme auf.

    1. Der animierte Sprechtext sollte ursprünglich abgetippt werden. Dafür wurde die step() Methode verwendet. Leider konnte ein Zeilenumbruch für die Animation nicht erstellt werden, da ansonsten der „abgetippte Text“ nicht korrekt funktioniert hat wie er es sollte. Dieser hätte in die Sprechblase passen müssen. Daher wurde eine alternative Darstellung des Textes eingebaut.
    2. Die Hintergrundmusik wird manchmal in Google Chrome nicht abgespielt. Daher wird empfohlen sich die Animation in Microsoft Edge anzuschauen.

    Dieser Beitrag ist im Studiengang Informationsmanagement an der Hochschule Hannover im Rahmen des Kurses Entwicklung von Multimediasystemen (Sommersemester 2021, Amy Linh Hoang,  Prof. Dr.-Ing. Steinberg) entstanden. Verwendete Techniken sind HTML5, CSS3 und JavaScript. Die besten Tutorials stellen wir Euch hier in den nächsten Wochen nach und nach vor.

    Rund um Informationsmanagement

    Informationsmanagement

    In einigen Lehrveranstaltungen haben wir uns mit der medialen Aufbereitung von Inhalten rundum den Studiengang Informationsmanagement befasst.

    Beiträge zu IM-Themen, Videos, was Informationsmanagement überhaupt ist, interaktive Storytellings zum studentischen Leben oder Infografiken mit JavaScript findet ihr hier in unserer bisherigen Sammlung.

    Visuelle Magie auf Instagram: Canva und KI-generierte Posts im Rampenlicht

    Autorin: Anna Feldbarg Willkommen in einer digitalen Ära, die uns unendliche kreative Möglichkeiten bietet! Vor allem Instagram hat eine Bühne geschaffen, auf der wir unser künstlerisches Talent entfalten und fesselnde Geschichten erzählen können. Und das Beste daran ist: Als Foodblogger:in kannst du deine Rezepte jetzt noch lebendiger gestalten! Dank der Zusammenarbeit zwischen Canva1 – einer …

    X-Ploration: Data Mining und Sentimentanalyse mit Hugging Face

    Autor: Oguzhan-Burak Bozkurt Durch den kontinuierlichen und raschen Fortschritt in jüngster Zeit auf den Gebieten von Big Data und KI-Technologien sind heutzutage insbesondere Teilbereiche des Informationsmanagements gefragter als je zuvor. Die Rolle des Informationsmanagers und Data Scientists besteht darin, Methoden zur Erfassung und Verarbeitung von Informationen aus unterschiedlichen Datenquellen anzuwenden. Zudem ist er befähigt, Entscheidungen …

    Energiesparen durch Smart Home?

    Autor*innen: Leoni Albert und Elias Huisl Aufgrund der aktuell steigenden Energiekosten wird das Thema „Energiesparen“ für Verbraucher*innen immer wichtiger.1 In dem folgenden Artikel untersuchen wir gemeinsam, ob Energiesparen durch Smart Home möglich ist und mit welchen Tools Sie Kosten sparen können. Inhaltsverzeichnis 4 smarte Möglichkeiten, mit denen Energie eingespart werden kann Ein Smart Home muss …

    Künstliche Intelligenz in der Produktion von Filmen

    Autor*innen: Lukas Vojkovic und Ann-Christin Thoma Übersicht Intro Künstliche Intelligenz (KI) wird normalerweise damit in Verbindung gebracht, Menschen bei Aufgaben zu unterstützen, die durch Automatisierung besser erledigt werden können.Mit dem fortschreitenden technischen Wandel ist es der KI heutzutage aber nicht nur möglich, fortschriftliche visuelle Effekte in Filmen zu liefern oder den Videoschnitt zu erleichtern, sondern …

    Interaktive Videos auf der Leinwand

    Autorinnen: Bonnie Huntemann und Nicole Hafner Ein neues Filmerlebnis? Die Filmindustrie und vor allem der Streaming-Anbieter Netflix haben in den letzten Jahren mit einem selbst produzierten Aufgebot an interaktiven Filmen eine Art Hype geschaffen. Ob mit der ganzen Familie auf der Couch oder alleine in den öffentlichen Verkehrsmitteln: Zuschauer*innen empfinden eine starke Bindung zum Geschehen …

    Die KI DeepNash meistert Stratego

    Autor*innen: Jessica Arnold und Jan Heinemeyer DeepNash ist die neue KI der Firma Deepmind, die erstmals in der Lage ist das Brettspiel Stratego trotz unvollständiger Informationen zu meistern. Inhalt Die neue KI DeepNash Während die künstliche Intelligenz „AlphaZero“ Schach und „MuZero“ als Nachfolger verschiedene Spiele der Spielkonsole Atari meisterte, veröffentlichte die Firma Deepmind die nächste …

    Methoden zur Verbesserung der User Experience am Beispiel des Kano-Modells

    Autorinnen: Jennifer Tews und Katharina Trommer Die Kundschaft ist König – doch was erwartet sie eigentlich? Was erwarten Kund:innen von einem Produkt oder einer Dienstleistung und womit lassen sie sich begeistern? Für Unternehmen oder Dienstleister ist es wichtig, die Bedürfnisse seiner Kund:innen sowie deren Ansprüche und Wünsche zu kennen und im besten Fall zu erfüllen. …

    Über der Einsatz von KI zur Musikkomposition: Der nächste Tsch(AI)kowski?

    Autor: Hendrik Kuck   Komponieren mithilfe von Künstlicher Intelligenz? Zukunftsmusik oder bereits Alltag in der Musikbranche? Wie funktioniert so etwas? Und wer profitiert davon? Mögliche Antworten liefert der folgende Artikel zum Thema „Künstliche Intelligenz in der Musikkomposition“. Inhaltsverzeichnis KI in der heutigen Musikproduktion Künstliche Intelligenz nimmt in unserer Gesellschaft eine immer zentralere Rolle ein. Sie …

    Wie Streaming-Algorithmen die Musik verändern

    Autoren: Marian Berdyszak und Tom Kuhn Die weltweite Musikindustrie ist im Wandel. 2017 wurde erstmals mehr Geld durch Musikstreaming eingenommen als durch den Verkauf von CDs, Schallplatten & Co. Somit liegt auch der Fokus großer Plattenlabel auf dem digitalen Musikmarkt. Führt diese Änderung der Marktsituation auch zu einer Veränderung der Musik als solches? Inhaltsverzeichnis Wieviel …

    KI und die Sicherheit von Smart-Home-Systemen

    Autorin: Eliza SchnetzerKI KI Inhaltsverzeichniss Wie auch in vielen anderen Bereichen der Technik macht auch das Internet of Things (IoT) große Entwicklungsschritte. Dazu gehören auch sogenannte Smart-Home-Systeme, die eine immer weitere Verbreitung in deutschen Haushalten finden. Aus den vielseitigen Anwendungsbereichen ergeben sich neben komfortablen Alltagshilfen auch einige Fragen zur Sicherheit, gerade hinsichtlich Datenschutzes und Künstliche …

    Text-zu-Bildysnthese: Ist das nächste Kunstwerk nur noch einen Prompt entfernt?

    Autorin: Annika Bleich Ein Prompt ist eine Texteingabe bestehend aus wenigen Stichworten. Sie dient der KI eines Bildgenerators als Grundlage für das Erzeugen von Bildern und ermöglicht es jeder Person, auch dir, die eigenen kreativen Ideen in Bildern umzusetzen. Aber können einzelne Stichworte wirklich das Potenzial eines Kunstwerks innehaben? Inhalt Einführung Sei PromptkünstlerIn Wie funktioniert …

    Wie beeinflusst digitale Datenanalyse die Transparenz von Daten?

    Autorinnen: Luisa Rabbe und Emelie Rademacher Die zunehmend komplexe Gestaltung digitaler Angebote und Dienste in den letzten Jahren hat starke Konzentrationstendenzen in der Datenökonomie verursacht. Einige Großunternehmen sammeln beträchtliche Datenmengen, kombinieren diese und werten die neuen Daten aus.[1] Dadurch können anonymisierte Daten häufig re-identifiziert werden.[2] Was hat das nun mit digitaler Datenanalyse zu tun? In diesem …

    E-Learning: Interaktive Videos in der Hochschullehre

    Autorinnen: Charlotte Böddicker und Kim Kirner Im Zuge der Corona-Pandemie hat das Thema E-Learning an Hochschulen weiter an Bedeutung gewonnen. Das erfordert von den Lehrenden die Weiterentwicklung alter und Umsetzung neuer digitaler Lehrmethoden. Eine Methode ist die Vermittlung von Lehrinhalten mithilfe interaktiver Videos. Doch wie setze ich diese ein und was sind überhaupt interaktive Videos? …

    Was hat User Experience mit SEO zu tun?

    Autor*innen: Robin Alo und Davud Kilic SEO ist undenkbar ohne User Experience! Warum? Das werden wir Ihnen in diesem Blogbeitrag aufklären. Viele glauben, dass SEO und User Experience zwei getrennte Dinge sind, jedoch haben sie viel mehr miteinander zu tun als man denkt. Vorerst wollen wir auf die Begrifflichkeiten SEO (Search Engine Optimization) und User Experience …

    Becoming a Librarian: Der Studiengang „Informationsmanagement berufsbegleitend“ an der Hochschule Hannover

    Autorin: Daniela Tavano Trotz drohendem Fachkräftemangel gibt es nur wenige attraktive und berufsbegleitende Möglichkeiten sich als Fachangestellte(r) für Medien- und Informationsdienste im Bibliothekswesen bzw. Informationsmanagement weiterzubilden. Ein „normales“ Studium ist für FaMIs oft nicht umsetzbar, da ein fester Arbeitsplatz, familiäre Bindung oder finanzielle Gründe dem entgegen stehen.2 Zum Glück gibt es seit 2012 an der …

    Ist Python die Programmiersprache der Zukunft?

    Autor*innen: Ömer Topcu und Anela Iljijazi Python ist eine Programmiersprache, deren wichtigstes Merkmal die Einfachheit ist. Sie wird von einer aktiven Community auf der ganzen Welt entwickelt. Programmiersprachen sind für sich genommen vielfältig einsetzbar und werden gerade im Bereich der künstlichen Intelligenz häufig eingesetzt. Python hat Zukunft und hat sich dieses Jahr erneut vor Java …

    KI im Arbeitsmarkt: Chance und Risiko zugleich

    Autoren: Dominik Hausfeld und Fynn Sylla Gliederung Was ist KI? KI (Künstliche Intelligenz) bezieht sich auf die Fähigkeit von Computer-Systemen, Aufgaben zu verstehen und durchzuführen, die normalerweise erfordern, dass ein Mensch Intelligenz besitzt, wie das Verstehen von Sprache, das Lösen von Problemen, das Lernen aus Erfahrungen und das Erkennen von Mustern. Es gibt verschiedene Arten …

    Gather.Town: Online-Lernen mit einem Twist

    Autor*nnen: Rhian Krische und Eva Christina Wirsing Die COVID-19-Pandemie zwang Lehrkräfte, ihre Unterrichtsmethoden zu ändern. Da Massenlockdowns weltweit die Norm waren, gewannen Videokonferenzplattformen wie Zoom, BigBlueButton und Microsoft Teams plötzlich an Beliebtheit. Dies veränderte die Unterrichtsatmosphäre für viele Lehrkräfte und Studierende schlagartig und brachte eine Vielzahl neuer Herausforderungen mit sich. Diejenigen, die Online-Kurse und -Tutorien …

    OBS Studio: Was ist das und wofür?

    Autor: Nils Merlin Linde Inhaltsverzeichnis Was ist das? „OBS Studio“ kurz für „Open Broadcaster Software Studio“ ist eine kostenlose Recorder-Software mit der man Audio und Video aufnehmen und auch live ins Netz streamen kann. Die Open Access Software kann man beispielsweise für E-Learning, Online-Vorlesungen, Online-Konferenzen oder auch für das Erstellen von eigenen Videos benutzen, die …

    Bibliotheksservice der Zukunft – Roboter im Einsatz

    Autorinnen: Giulia Salamone und Elisabeth Greil Künstliche Intelligenz und Roboter sind seit langem schon in der Industrie im Einsatz. In Informationseinrichtungen wie Bibliotheken rückt die Künstliche Intelligenz somit nun immer mehr in den Fokus. Daraus resultierend werden humanoide Roboter in den Servicebereich von Bibliotheken integriert, wohingegen es eine Vielzahl an Einsatzmöglichkeiten für humanoide Roboter in …

    Art empowered through digital transformation

    Authors: Linh Nguyen and Shion Kimu Did you ever wonder how fictional animated movies and arts are produced? With constant development of digital technologies, we are more and more mesmerized by their capabilities. Pictures and paintings are not no longer created only by colors and brushes anymore. Now they are being created by lines of …

    KI-Bots und Meinungsmache in Sozialen Medien

    Autor*in: DB Inhaltsverzeichnis Ein tragisches Beispiel In einem TikTok-Video berichtet eine etwa 30-jährige Frau von einem tragischen Vorfall. Ein 16 Jahre alter Junge namens Daniel engagierte sich ehrenamtlich in einer Flüchtlingsunterkunft. Als Daniel jedoch in Gegenwart der ukrainischen Flüchtlinge russisch sprach, wurden einige von ihnen aggressiv und schlugen den Jungen zusammen. Dieser starb an seinen …

    Einsatz von Schulclouds in Deutschland

    Autorinnen: Vanessa Block und Mareike Bolz Wir befinden uns im digitalen Zeitalter und die Digitalisierung in Schulen ist ein Thema, das bereits seit einigen Jahren sehr präsent ist. Die Coronapandemie hat gezeigt, wie schlecht Schulen teilweise ausgestattet sind, wenn es um die Bereitstellung einer digitalen Infrastruktur geht, doch spätestens seit der DigitalPakt Schule des Bundes …

    Progressive Web Apps und SEO: PWA als Chance zur Verbesserung des Suchmaschinenrankings

    Autor: Hannes Dieterich Progressive Web Apps (PWA) sind Websites, die Eigenschaften nativer Apps mit sich bringen. Richtig eingesetzt bringt die immer noch recht neue Technologie einige Vorteile mit sich wie schnelle Ladezeiten, Offline-Funktionalität und eine bei Bedarf einfache Installation. Außerdem werden PWA wie „normale“ Websites über eine URL aufgerufen. Da Inhalte so für Suchmaschinen zugänglich …

    Menstruelle Überwachung durch FemTech-Apps – Wenn nicht nur Blut fließt

    Autorinnen: Michelle Gaßner und Mira Le Im Zeitalter der Selbstoptimierung gibt es unzählige Apps, die das Leben einfacher machen. Gesundheits-Apps werden genutzt, um zum Beispiel Kalorien zu zählen oder Sportübungen zu tracken, aber auch um mithilfe von Zyklus-Apps den Menstruationszyklus zu dokumentieren. Nutzende berichten, dass solche FemTech-Apps ein wertvolles Mittel sind, um mehr über sich …

    „Lass mich Dir helfen!“ – Faktoren zur Steigerung der Akzeptanz von Pflegerobotern bei Senioren

    Autorin: Tina Jahnert Pflegeroboter sollen zukünftig vermehrt in Altenheimen eingesetzt werden. Vielleicht denken Sie auch darüber nach? Erwarten Sie nicht nur Freudenschreie seitens der Senioren[1]. Wahrscheinlich werden Ihnen mindestens so viel Skepsis und Ängste wie Neugierde entgegenschlagen. Die gute Nachricht ist: Sie können ganz viel dafür tun, die Hemmschwelle für Ihre Bewohner zu senken und …

    Big Data und Datenschutz – Wunschdenken oder bereits Realität?

    Autor: Philippe Paszkier Wir alle kennen es, man spricht mit einem Freund oder Partner über irgendein Produkt o.ä. ohne dabei überhaupt das Handy entsperrt zu haben und dann möchte man etwas googeln und die Werbung handelt von dem eben besprochenen Thema. Ich meine klar, hat so seine Vorteile da weiter machen zu können, wo die …

    Künstliche Intelligenz in Filmen

    Autor*innen: Angelique Pál und Dennis Schmidt Wie wird die zukünftige Welt aussehen? Das ist eine Frage mit der die Menschheit sich oft auseinandersetzt und die auch in Filmen immer wieder aufgegriffen wird. Häufig spielt dabei Künstliche Intelligenz in Filmen eine Rolle. In vielen Fällen werden Maschinen dargestellt, welche mit Künstlicher Intelligenz oder kurz KI ausgestattet, …

    Der Einsatz von Spracherkennungssoftware und ihre Grenzen in der Forensischen Linguistik

    Autorin: Kimberley Stips „Alexa, wer hat versucht, uns zu erpressen?“Ganz so leicht ist es dann doch nicht. Die Forensische Linguistik ist eine kriminalistische Hilfswissenschaft, die sich mit Sprache im gerichtlichen Kontext beschäftigt. Dazu zählen sowohl die vor Gericht verwendete Sprache wie auch beispielsweise die Autoren- und Sprechererkennung (Fobbe, S. 15 f.). Oder, um es mit …

    Search Engine Optimization und was das mit verschiedenfarbigen Hüten zu tun hat

    Autorin: Magdalena Sinsel Im folgenden Artikel erfahren Sie, was Search Engine Optimization ist, warum das für jeden Host einer Website von Bedeutung ist und was das mit weißen, schwarzen und grauen Hüten zu tun hat. Viel Vergnügen! Inhaltsverzeichnis Was ist Search Engine Optimization? Search Engine Optimization, kurz SEO, umfasst alle Maßnahmen, die zu einem besseren …

    Finden die Roboter den Weg in die Bibliothek? – Wir treffen unsere zukünftigen Chatbot-Kollegen

    Autor*innen: Laura Dembowski und Erit Grünefeld Wie oft unterhältst du dich im Alltag mit Robotern? Wenn du Siri oder den Assistenten von Google auf dem Handy benutzt, dann könnte es schon mehrmals am Tag sein. Seit ChatGPT im November letzten Jahres der breiten Öffentlichkeit zu Verfügung steht, ist das Thema Künstliche Intelligenz zudem wieder präsenter …

    Stricken und Programmieren: von 1 links/1 rechts zu 1010

    Autorin: Lena-Marie Hoppe Crafting meets Coding Wenn Stricken und Programmieren im selben Satz erwähnt werden, dann meist zur Verbildlichung von Gegensätzen: Tradition trifft auf Moderne, analog trifft auf digital, belächelnswertes DIY-Hobby trifft auf zukunftsorientierten Skill. Es mag widersprüchlich erscheinen, doch die Jahrhunderte alte Handarbeitstechnik und Programmiersprachen haben mehr gemein, als es auf den ersten Blick …

    Wie werde ich ein Citizen Scientist? – Der Leitfaden für Einsteiger

    Autor*innen: Mandy Tanneberger und Andreas Schlüter Lesezeit: 6 Minuten Sie interessieren sich für Citizen Science, wissen aber nicht wie Sie anfangen können? Keine Angst! Dieser Leitfaden soll Ihnen den Einstieg erleichtern. Das erwartet Sie in diesem Blogbeitrag Was ist Citizen Science überhaupt? Wer kann ein Citizen Scientist werden? Wie kann ich als Citizen Scientist aktiv …

    Mobility Compass FID move

    Der Mobility Compass: Auf dieses Tool haben wir gewartet!

    Die Teilnehmenden der Veranstaltung Recherche wissenschaftlicher Informationen durften bei einer Exkursion zur Technischen Informationsbibliothek (TIB) einen umfangreichen Einblick in den FID move erhaschen.

    Projektarbeit:  H5P für interaktive Lernressourcen 

    Autor:innen:  Katharina Deymann, Alisa Held, Katharina Kroupa, Yannick Pollmann, Friederike Roth, Luise Scheiding, Nathan Scheulen, Madeleine Schütz und Marieke Tödter In ihrer Projektarbeit haben sich neun Studierende des 6. Semesters im Studiengang Informationsmanagement berufsbegleitend damit befasst, wie bestehende Lernressourcen didaktisch sinnvoll mit H5P angereichert werden können. Insgesamt wurden der Projektgruppe digitale Lerninhalte aus sechs unterschiedlichen …

    Die Nutzung von interaktiven Videos in Bibliotheken

    Autorinnen: Tanja Hoogestraat und Heike Goebel Beim Surfen im Internet sind wir es gewohnt, eigenständig durch Klicken und Scrollen zu navigieren. Wir bestimmen selbst, welche Treffer bei einer Recherche relevant sind und welche Teile von Websites interessant erscheinen. Wenn jedoch ein Video aufgerufen wird, entwickeln wir uns häufig zu passiven Zuschauern. Bei interaktiven Videos ist …

    Digitale Leseräume als neuer Ort des Zusammenkommens

    Inhalt Vom digitalen Lesesaal zum virtuellen BegegnungsortEin digitaler Raum mit WonderWas kann Wonder?Mit WorkAdventure einen Schritt weiter gehenWas kostet WorkAdventure?WorkAdventure in der BibliothekFazitQuellen und Verweise Die digitale Transformation ist ein stetiger Wandlungsprozess, die in allen Lebensbereichen stattfindet. Im öffentlichen Leben, im Beruf und im privaten Umfeld schreitet die Digitalisierung voran und macht damit auch vor …

    Höhepunkt mit Risiko: Security- und Datenschutzprobleme bei smarten Sex-Toys

    Autor:innen: Larissa Schmidt und Jonas Reinhard Der Anteil an Smarten Sexspielzeugen nimmt immer weiter zu, allerdings stellen Sicherheitslücken und mangelnde Datensparsamkeit bei den Geräten ein Problem dar. Im Jahr 2018 stellte Werner Schober in seinem Vortrag auf dem Chaos Communication Congress mit dem Titel Internet of Dongs – A long way to a vibrant Future …

    Die Website ist die Bibliothek

    Autorinnen:  Svenja Diste und Julia Rasek Inhaltsverzeichnis Retro ist wieder in? Nicht bei Websites.  Schritt 1: Probleme der alten Website analysieren Schritt 2: Ziele und Zielgruppe Schritt 3: Struktur und Design Schritt 4: Inhalt Schritt 5: Auswertung und Ausblick Schlusswort Mehr zum Thema Quellen Retro ist wieder in? Nicht bei Websites. Welche Bibliothek kennt es nicht? …

    H5P in digitalen Lernplattformen

    Autorinnen: Lisa Sommer und Leonora Zullufi Im Gegensatz zum statischen Content wird bei interaktiven Inhalten der dynamische Content herangezogen. Das heißt, dass es nicht nur gewöhnliche Texte zum Lesen gibt oder Bilder nur betrachtet werden. Bei interaktiven Inhalten wird der Benutzer auch aktiv in das Geschehen eingebunden. Dadurch wird die Aufmerksamkeit erregt und gewonnen. Daher …

    WT.Social: Eine Alternative zu Facebook & Co.?

    Autorin: Maria H. Nguyen Thu Mit 2,9 Mrd. aktiven Nutzer*innen im Monat1 bestimmt Facebook die Informations- und Kommunikationswege. Kritiker werfen der Plattform seit längerem vor, die Privatsphäre von Benutzer*innen zu verletzen und nicht gegen Falschinformationen vorzugehen. Auf der Suche nach einer möglichen Alternative stolpert man über WT.Social, eine noch unbekannte Plattform von einem nicht unbekannten …

    Die Zukunft des OPACs

    Autorinnen: Anke Engelke und Anna-Lena Lächelt Inhalt Entstehung des OPACs Usability eines modernen OPACs Visionen für die Zukunft Themenverwandte Blogs Quellen Bildquellen Entstehung des OPACs Ursprünglich wurden Bibliotheksbestände in Zettelkatalogen verzeichnet. Ein Zettelkatalog bestand aus vielen Katalogkarten (oder Zetteln), wobei auf jedem Zettel genau eine der in der jeweiligen Bibliothek vorhandenen Publikationen verzeichnet wurde. Die …

    QpLuS-IM Projekt „Komm’Se digital lernen“ erfolgreich abgeschlossen

    Nach spannenden drei Jahren, die einige Überraschungen bereit hielten, haben wir unser Projekt QpLuS-IM nun beendet. Einzelheiten zu Ergebnissen und Erkenntnissen findet Ihr im Abschlussbericht des Projekts auf unserem QpLuS-IM Blog: Erfolgreicher Projektabschluss Auch eine News auf der HsH-Website fasst es gut zusammen: Erfolgreicher Projektabschluss des Q+ Projekts „Komm’Se digital lernen“ Herzlichen Dank an alle …

    Ins Stammbuch geschrieben: Kodiert mit der Auszeichnungssprache TEI

    Autorin: Janica Kuhr Wie kodiere ich einen Stammbucheintrag mit XML-TEI und welchen Nutzen hat die Anwendung dieser Mark-Up-Language bei der Erschließung des Eintrags für die Forschung? Mit diesen Fragen befasst sich dieser Beitrag. Inhalt Was ist ein Stammbuch? Was ist TEI? Kodierung des „Werther-Stammbuchs“ mit TEI Kodierung des Stammbucheintrags von Christian Albrecht von Kielmannsegg Auszeichnung …

    0 Kommentare

    Text und Data Mining in Bibliotheken?

    Autorin: Lene-Christine Brammer Bibliotheken haben den Auftrag, Medien und Informationen für Nutzerinnen und Nutzer aufzuarbeiten und bereitzustellen. Doch jedes Jahr werden mehrere Millionen Publikationen veröffentlicht. Die DNB allein verzeichnete den Zugang 2.352.693 neuer Einheiten im Jahre 2020[1]. Wer soll da den Überblick behalten? Text und Data Mining kann hier Abhilfe schaffen.  Was ist Text und …

    Beitragsbild

    Urheberrecht im Kontext von Fan Fictions und RPGs

    Autor: Simon Kugler Wie Fan Fictions entstanden und warum sie gegen das Urheberrecht verstoßen Wie Fan-Fiction-Autoren und RPG-Betreiber mit der geltenden Rechtslage umgehen Wie sich die Fan-Fiction-Kultur professionalisiert und was aus dieser Entwicklung erwächst Abschnitt 1 – Der ReichenbaChfall Altes Konzept – modernes Phänomen Das Weitererzählen, Verändern oder Umformen bestehender Erzählungen hat eine lange Historie …

    0 Kommentare
    Kombination von User Experience und SEO

    Was hat User Experience mit SEO zu tun?

    Autor*in: Lea Weiß Beschäftigt man sich mit der Erstellung von Webseiten, begegnen einem früher oder später auch die Begriffe User Experience (UX) und Search Engine Optimization (SEO). Wenn Du diese Begriffe noch für komplettes Neuland hältst, bist Du hier genau richtig. Beleuchten wollen wir dabei die Kombination von User Experience und SEO. Nach einer kurzen …

    Beitragsbild

    Crypto War 3.0 – Ist das nicht nur was für Nerds?

    Autor: Leopold Paris Das Thema im Rat der Europäischen Union Ende 2020 war „Verschlüsselung von online Kommunikation“. Der Rat der EU diskutiert, wie z. B. E-Mails, WhatsApp Nachrichten oder Snaps von einem internetfähigen Gerät zum anderen gelangen. Eine Geschichte über die Crypto Wars. „Da gibts doch nichts großes zu diskutieren“, würde jetzt manch einer sagen. …

    0 Kommentare
    Was ist Flask?

    Was ist Flask?

    Autor: Esben Christian Pedersen Inhalt Was ist Flask überhaupt? Installation Hello World Routing and Views Template Engine Jinja Fazit Was ist Flask überhaupt? Flask ist ein WSGI Micro-Framework für Webapplikationen. Ursprünglich wurde Flask als Aprilscherz von Armin Ronacher im Jahr 2010 entwickelt. Auf Grund steigender Beliebtheit unter den Usern, gründete Armin Ronacher die „The Pallets …

    0 Kommentare
    Beitragsbild Scrollytelling - Geschichte eines Unternehmens

    Scrollytelling: Geschichte eines Unternehmens

    Autorinnen: Maria Sael  & Jeanice Noraman  Link zur Animation Quellcode als zip-Download Inhalt Einleitung Konzept Aufbau Code HTML CSS JavaScript Anmerkung Quellen Einleitung Jedes Unternehmen hat eine Geschichte, diese wird häufig auf der Unternehmenswebsite dargestellt. Doch wie kann man sich als Unternehmen von anderen abheben und die (potenziellen) Kunden und User ansprechen? Eine Möglichkeit, um …

    eitragsbild Tutorial: Mini Game “Magic Garten” - Blumen pflanzen als interaktive Animation

    Tutorial: Mini Game “Magic Garten” – Blumen pflanzen als interaktive Animation

    Autorinnen: Maria Olberg  und Elisabeth Rutt  In diesem Tutorial zeigen wir, wie man eine interaktive Animation entwickeln kann. Wir stellen dazu unsere Animation vor und gehen auf das Konzept, Techniken und Besonderheiten der Animation sowie Ausschnitte des Quellcodes ein. Link zur Animation ZIP-Ordner zum Downloaden Inhaltsverzeichnis Das Konzept unserer Animation Aufbau der Animation Der Quellcode …

    Beitragsbild Die Bibliothek in der Cloud

    Die Bibliothek in der Cloud: Was bieten cloudbasierte Bibliothekssysteme?

    Autorin: Linda Groß Cloudbasierte Bibliothekssysteme gelten als die neue Generation von Bibliotheksverwaltungssystemen. Sie bieten eine innovative Möglichkeit, wie Bibliotheken ihre zahlreichen Daten verwalten und täglichen Geschäftsgänge möglichst einfach abwickeln können. Mittlerweile werden sie auch in Deutschland immer häufiger eingesetzt. So arbeiten die Berliner Universitätsbibliotheken bereits seit 2015 mit einer solchen Software.1 Auch in Nordrhein-Westfalen läuft …

    Der Computer für alle

    Autor: Nils Dille Computer waren früher ernsthafte Geräte für ernsthafte Arbeit und demnach auch nicht sehr einfach zu bedienen oder zugänglich.6 Der 1981 erschienen IBM 5150 startete bei einem umgerechneten Preis von ca. 4.400$ und kam dabei nicht mal mit einem Diskettenlaufwerk. Laden und Speichern von Programmen und Daten war so nur über Audiokassetten möglich. …

    0 Kommentare
    Beitragsbild Smart Libraries – Wie smart müssen Bibliotheken sein?

    Smart Libraries: Wie smart müssen Bibliotheken sein?

      Bibliotheken sind weit mehr als reine Aufbewahrungsorte für Medien aller Art. In diesem Beitrag zeigen wir, inwieweit sich Bibliotheken im Sinne von Smart Libraries weiterentwickelt haben und welchen Nutzen Kund*innen davon haben. Struktur des Beitrages: Was ist Smart? Smart City Wheel Smart Libraries- Wie sieht’s in der Praxis aus? Fazit Was ist Smart? Der …

    Beitragsbild forty in 49 - ein Spiel für das Gedächtnis und das räumliche Vorstellungsvermögen

    Forty in 49: Ein Spiel für Gedächtnis und räumliches Vorstellungsvermögen

    Autor: Jannis Fortmann Link zum SpielZip Datei zum Download Inhalt Von Anfang an war es mein Plan, ein simples und optisch ansprechendes kleines Spiel zu designen, bei dem Animationen sinnvoll zum Einsatz kommen. Nach ein paar verworfenen Ideen entschied ich mich für diese Variante, bei der die räumliche Wahrnehmung und das Gedächtnis des Spielers auf …

    Beitragsbild Design Thinking

    Design Thinking: Volle Kreativität voraus

    Oder: It’s not about the design, it’s about the thinking! Autorin: Katharina Kroupa  „Man kann über Design Thinking noch so viel Positives erzählen, die Arbeitsweise und ihre Wirkung erklären: Um sie wirklich zu verstehen, muss man sie selber hautnah miterlebt haben.“  Marcel Plaum, VP Terminal Development Fraport Na, macht dich das neugierig zu erfahren, was …

    Beitragsbild DOI

    DOI: Ein digitaler Objektidentifizierer

    Autorin: Sabine Volkmer In diesem Beitrag geht es hauptsächlich um die Frage: Was ist ein digitaler Objektidentifizierer und wozu ist er gut? Inhalt: DOI-Vergabe Aufbau eines digitalen Objektidentifizierers (DOI) Vom DOI zum Dokument weitere Informationen Quellenverzeichnis Wortsuchspiel Weitere Beiträge Offenbar muss heutzutage fast alles mit Hilfe einer Identifikationsnummer zugeordnet werden. Selbst der Mensch. Jeder kennt …

    Beitragsbild Innovation in Bibliotheken

    Innovation in Bibliotheken: Deichman Bibliothek Oslo

    Autorin: Merle Stegemeyer „Wir leben in einer postdigitalen Situation. Die Leute wollen sich wieder real begegnen, öffentliche Räume werden wieder wichtiger.“[4] – Reinert Mithassel, Leiter der Biblio Tøyen Reinert Mithassel, Leiter der Biblio Tøyen in Oslo, spricht damit wohl nicht nur die andauernde Corona Pandemie an, sondern äußert den Wunsch vieler Menschen ihrer Umgebung und …

    Beitragsbild Makerspaces – Eine Aufgabe für Öffentliche Bibliotheken?

    Makerspaces: Eine Aufgabe für Öffentliche Bibliotheken?

    Inhalt Maker und Makerspaces Ausstattung und Angebot Makerspaces als Aufgabe von Öffentlichen Bibliotheken Anmerkungen und Quellen „Öffentliche Bibliotheken waren in früheren Zeiten Ausleihstationen für Bücher und audiovisuelle Medien. Dieses Rollenverständnis hat sich in den vergangenen zwanzig Jahren erheblich verändert. Zum einen haben das Internet und der starke Ausbau der digital verfügbaren Medien das Spektrum der …

    Beitragsbild Tutorial: Memory-Spiel

    Tutorial: Ein Memory-Spiel

    Autorin: Linda Görzen  Memory-Spiel Konzept Ziel dieses Projektes war die Erstellung eines Spiels , das durch sämtliche Animationen bzw. Animationseffekte modern und dynamisch wirken sollte. Memory ist ein Spiel, das weltbekannt und nicht zu kompliziert zu programmieren ist. Im Internet gibt es sämtliche frei verfügbare Beispielcodes. Einer davon wurde in diesem Projekt verwendet. Der Spielvorgang …

    Beitragsbild Tutorial zur Animation: Ein Tag mit Bobby

    Tutorial: Ein Tag mit Bobby

    Autor*in: Julia Solohub  Animation anschauen Quellcode (Zip-Archiv zum Download) Dieser Beitrag ist ein Tutorial zu der Animation „Ein Tag mit Bobby“ bei dem auf die Details zum Code, Inhalt, Besonderheiten, das Konzept und Schwierigkeiten eingegangen wird. Die Bilder dienen zur Veranschaulichung und Nachvollziehbarkeit und sind anklickbar, sodass man diese in Vollbildmodus und besserer Auflösung betrachten …

    Beitragsbild Moderne Lernraumgestaltung in Universitätsbibliotheken

    Moderne Lernraumgestaltung in Universitätsbliotheken

    Autorin: Hjördis Helberg Warum sollten sich Bibliotheken jetzt mit dem Thema Lernraum beschäftigen? Die Nachfrage nach physisch vorhandenen Medien sinkt. Dies lässt sich anhand von Ausleihzahlen feststellen. Gerade in naturwissenschaftlichen und technischen Fachrichtungen werden zunehmend elektronische Ressourcen genutzt. Diese Entwicklung hat zur Folge, dass der Bestand in den Lesesälen dezimiert bzw. magaziniert wird und Freiflächen …

    Beitragsbild Weißraum und seine Wirkung

    Didaktische Typographie: Weißraum und seine Wirkung

    Autor*in: Leonie Thissen Ein Beitrag zur didaktischen Typographie Jede*r, der*die lesen kann, kennt den typographischen Weißraum. Und jede*r hat auch schon mal die Wirkung von zu viel oder zu wenig davon auf einer Seite oder in einem Text an sich erlebt. Was einem dabei wohl eher nicht bewusst wurde: dass diese Wirkung mit dem Weißraum …

    Darf ich dieses Bild aus dem Web nutzen?

    Autorin: Dana Thoß Wer kennt es nicht? Die sozialen Netzwerke leben von den Bildern der jeweiligen Beiträge. Das Internet umfasst Millionen, wenn nicht Milliarden von Bildern zu den verschiedensten Themen und Produkten. Viele dieser Bilder sind lizenziert, bspw. mit einer Creative Commons (CC) Lizenz. In diesem Artikel werden Sie erfahren, was es mit den Creative …

    h5p für CM

    Mehr Interaktivität im Kurs Content Management über h5p

    In den letzten Corona-Semestern konnten viele Kurse nur online angeboten werden. Dadurch sind auch im Kurs Content Management in den Studiengängen Informationsmanagement und Informationsmanagement berufsbegleitend einige Screencasts entstanden. In einem nächsten Schritt haben wir die Screencast-Videos mit Interaktionselementen wie Wiederholungsfragen, Links, Inhaltsübersichten, Checklisten oder kleinen Quizzes über h5p ergänzt: Im aktuellen Wintersemester 21/22 setzen wir …

    Nachhaltigkeit in Bibliotheken

    Libraries for Future – Nachhaltigkeit in Bibliotheken im Kontext der Agenda 2030

     Autorin: Ann-Kathrin Wallmann Nachhaltigkeit ist ein Begriff, der uns derzeit so gut wie überall begegnet – auch im Bibliothekswesen wird das Thema seit ein paar Jahren präsenter. Oft wird es jedoch als eher abstrakt wahrgenommen, was beim Versuch der konkreten Umsetzung zu Problemen führen kann. Durch die Konkretisierung in Form der Nachhaltigkeitsziele der Agenda 2030 …

    Beitragsbild Keywordrecherche

    Die Keywordrecherche: Der Grundstein des Online Marketings

    Autor*in: Linda Khorami Am Anfang steht die Keywordrecherche. Ob Blog, Onlineshop oder Unternehmenswebsite, die Onlinepräsenz spielt heutzutage eine immer größere Rolle und ist nicht mehr wegzudenken. [1] Du möchtest auch mit deiner Präsenz im Netz überzeugen und so viele Menschen wie möglich erreichen? Dann ist die Keywordrecherche genau das Richtige für dich! Finde heraus, worum es …

    Bibliotheken im digitalen Wandel: Von der Buchkarte zum digitalen Nutzerkonto

    Autorinnen: Anna Pläp und Tamara Schaufler Bibliotheken befinden sich im digitalen Wandel – in aktuellen Zeiten von Corona mehr denn je.  Dass viele Publikationen online verfügbar sind, wir unsere Medien am Verbuchungsautomaten selbst ausleihen können und diese über das Internet mit ein paar Klicks verlängern, ist für viele Bibliotheksnutzer:innen der ganz normale Alltag. So wird …

    0 Kommentare
    Beitragsbild

    Durch guten Content auf Platz 1 im Google-Ranking?

    Autor*in: Vivien Hirschberger Frage: Versteht Google meine Inhalte? Antwort: Nein, noch nicht, aber das lässt sich ändern! Ich zeige dir wie. Schritt für Schritt zum Ziel Was ist das Ziel? Warum sollte ich meine Inhalte für Google optimieren? Bilder, Texte und Videos aus SEO-Sicht Bilder optimieren Suchmaschinenoptimierte Texte Videos sind nicht gleich Videos Content Marketing …

    Interaktive Videos

    Was sind interaktive Videos?

    Autor: Serkan Sarica Was ein Video ist muss ich dir wohl nicht mehr erklären. Bewegte Bilder gibt es durch die Erfindung des Fernsehers bereits viele Jahrzehnte. Videos sind hingegen erst durch das Internet sehr populär geworden. YouTube hat dabei selbstverständlich eine riesige Rolle gespielt. Bewegte Bilder wurden zunächst live übertragen und durch Videos schließlich auch …

    Beitragsbild

    Tutorial: Prototype erstellen mit Figma – So funktioniert’s!

    Autor*in: Anna Selitski und Anna-Lisa Voigt Einen Prototype in dem Designertool Figma zu erstellen ist eine sehr schnelle und einfache Sache. Vielleicht kennst du auch die Bezeichnung Klickdummy für Prototype. Wenn du mal Screens für eine App oder eine Webseite erstellst, kannst du einfach mit einem Klickdummy die User Experience und die User Journey darstellen.  …

    Beitragsbild

    Business Intelligence – Was ist das eigentlich?

    Autor*in: Nick Jäger Dir sagt es vielleicht nichts, aber Business Intelligence kann dich retten! Das Scenario Dein bester Freund/deine beste Freundin und du führen ein Unternehmen. Alles läuft gut. Der Umsatz stimmt, eure Angestellten sind klasse und du kannst sogar 3 mal im Jahr nach Malle fliegen. Doch dann kommt der Tag, an dem alles …

    Beitragsbild

    Was sind Progressive Web Apps (PWAs)?

    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?

    Beitragsbild

    React & Angular im Vergleich – Was führt dich zum Erfolg?

    Autor*in: Melanie Hartkopf 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 …

    Tutorial: Visual Graphic Novel Animation

    Tutorial: Visual Graphic Novel Animation

    Autori*n: Julia Karaschewski Vollansicht: Visual Graphic Novel Animation auf Codepen.io Quellcodeansicht: Visual Graphic Novel Animation auf Codepen.io ZIP-Datei zum Download (direkt von Codepen.io) Das Konzept 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 …

    BestOf Bachelor: Webseitenübergreifende Nutzerverfolgung ohne Verwendung von Cookies in der EU

    BestOf Bachelor: Webseitenübergreifende Nutzerverfolgung ohne Verwendung von Cookies in der EU

    Das Ziel dieser Arbeit ist, verschiedene Trackingtechnologien unter Berücksichtigung gegebener Rahmenbedingungen im Rechtsraum der Europäischen Union in ihrer Funktionsweise zu vergleichen und die nach derzeitigem Stand realistische Nachfolgetechnologie zum Tracking via Cookies zu benennen – Fingerprinting.

    WebLab HsH: SEO

    SEO: Unterschied zwischen Onpage- und Offpage Optimierung

    Autor*in: Julia Solohub 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 …

    0 Kommentare
    Bachelorarbeit von Lukas Fischer: Ein Festival-Plugin für WordPress

    BestOf Bachelor: Ein WordPress-Plugin für den Vergleich von Veranstaltungen

    In der Bachelorarbeit von Lukas Fischer (2020) mit dem Titel „Konzeption und Anwendung eines WordPress-Plugins für den Vergleich von Veranstaltungen“ wird thematisiert, wie WordPress über ein selbstentwickeltes Plugin für den komfortablen Vergleich von Festivals eingesetzt werden kann. In seinem Abstract schreibt Lukas: „Plugins erweitern die Funktionalität von WordPress und helfen Webseitenbetreibern beim Hinzufügen neuer Elemente …

    Videopodcast zu Online-Lehre im Corona-Modus

    Neuer Videopodcast: Lernen und Lehren in Zeiten der Corona-Krise

    In unserem neuen Videopodcast zu Lernen und Lehren in Zeiten der Corona-Krise hat sich Gerrit Wucherpfennig vom QpLuS-IM-Projekt mit Studierenden des Studiengangs Informationsmanagement zu ihren bisherigen Erfahrungen in den letzten Wochen unterhalten. Wie erleben sie die Corona-Auswirkungen im Studium? Wie funktioniert die Lehre? Und wie kommen beide persönlich damit zurecht? Antworten findet ihr im folgenden …

    WebLab HsH: Data Mining und Warenkorbanalyse

    Data Mining bei der Warenkorbanalyse

    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 …

    WebLab HsH: Data Mining

    Aufgabentypen des Data Mining

    Autorin:  Linda Görzen Dieser Beitrag im Überblick: Einführung: Data Mining – Was ist das? Klassifikation Regressionsanalyse Assoziationsanalyse Ausreißererkennung Clusteranalyse Fazit Einführung: Data Mining – Was ist das? ”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 …

    WebLab HsH: Bachelorabiet von Matthias Olbrisch, 2019

    SneakPeak Bachelor: IT-Kompetenzen analysieren und klassifizieren

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

    WebLab HsH: Client-Server-Modell

    Videos rundum IM: Das Client-Server-Modell

    Das Client-Server-Modell Autor: Kirill Prokopov Inhalt: 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 …

    WebLab HsH: Scrum-Kochkurs

    SneakPeak Bachelor: Kochkurs nach Scrum-Prinzip

    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 …

    WebLab HsH: Bachelorarbeit von Sarah Büchting, 2019

    BestOf Bachelor: Webbasierte Programmierplattformen für Kinder im Vergleich

    In der Bachelorarbeit von Sarah Büchting (2019) mit dem Titel „Webbasierte Programmierplattformen für Kinder im Vergleich“ wird thematisiert, wie Coding zu Zwecken der sich im Umbruch befindenden MINT-Bildung eingesetzt werden kann und welche Kompetenzen durch das Erlernen von Programmierfähigkeiten gefördert werden. Darüber hinaus wird ein Bezug zur Informatik als Herkunftswissenschaft des Coding hergestellt und die …

    WebLab Hsh: PWA IM-Info

    Progressive Web Apps für IM: Informationsmanagement-Info

    Informationsmanagement-Info als PWA Autoren: Laili Ghods, Cemre Toppuz und Ogulcan Aktas PWA: Informationsmanagment – Info Quellcode Ziel: Unsere PWA soll einige allgemeine Informationen über unseren Studiengang vorstellen. Dabei haben wir uns die Texte von der offiziellen Webseite des Studiengangs genommen: https://im.f3.hs-hannover.de/studium/ Anforderungen Die Progressive Web App soll folgende Anforderungen (Use-Cases) erfüllen: Navigation: Anforderung: Navigation Beschreibung: Dem Nutzer soll …

    WebLab Team HsH

    WebLab und QpLuS-IM: Unser neues Team

    Seit Januar 2019 ist das WebLab Teil des QpLuS-IM-Projekts im Studiengang Informationsmanagement. Auch QpLuS-IM widmet sich dem Ausbau von Blended-Learning-Szenarien sowie mehr Selbststeuerungskompetenz durch digitales Lernen und führt so den WebLab-Ansatz wunderbar weiter, wie im Detail auf der QpLuS-IM-Projekt-Website zu lesen ist. Neues WebLab-Team Da sich Einige des ursprünglichen 2017er WebLab-Teams inzwischen leider (und auch …

    Das WebLab bei InfoInMotion2019

    InfoInMotion2019: Das WebLab stellt sich vor

    Am Freitag, 11. Oktober 2019 ist es soweit: Unsere Veranstaltung “InfoInMotion2019: Information in Transformation” findet im DesignCenter auf der Expo Plaza 2 statt. Auch das WebLab ist dabei und stellt einige seiner besten, studentischen Arbeiten vor. Mehr zu InfoInMotion2019 samt Online-Anmeldung und Programm finden Sie auf der Website des Studiengangs Informationsmanagement. Wir freuen uns auf ihren …

    Progressive Web Apps für IM: Interaktiver Stundenplan

    Interaktiver Stundenplan Autoren: Hozan Hassan, Frederik Pusch, Valentin Griese, Marcel Hemmer und Lukas Fischer PWA: Interaktiver Stundenplan Quellcode Idee/Zielsetzung: Die Progressive Web App (PWA) „Interaktiver Stundenplan“ zum Studiengang Informationsmanagement bietet eineÜbers icht über aller Kurse des BIM unterteilt in die jeweiligen Semester. Die Kurse sollen einfach per Drag and Drop in einen Stundenplan gezogen werden. …

    Progressive Web Apps für IM: Teilnehmerverzeichnis ‚Social Contact‘

    Social Contact Autoren: Matthias Galda, Catharina Ochsner, Anja Preuße, Sarah Gehrmann fertige PWA Quellcode Idee/Zielsetzung Zweck der Progressive Web Apps (PWA) soll es sein, die Kontaktdaten der Ansprechpartner aufzulisten, die an der Veranstaltung „InfoInMotion2019“ am 11. Oktober teilnehmen. Überlegungen Die Startseite enthält eine Lightbox. Darin soll der User Informationen über die Website und ihren Zweck …

    Bauhaus100 im WebLab

    WebLab-Projekt: Bauhaus100 Jubiläum 2019

    Im Rahmen des 100jährigen Bauhaus Jubiläums 2019 sind Anja Preusse und Sarah Gehrmann vom WebLab an der Konzeption und Realisation von multimedialen Angeboten für die Sonderausstellung Ausdruckstanz und Bauhausbühne im August Kestner Museum beteiligt. In Kooperation mit der Abteilung Design und Medien und dem August Kestner Museum hat das WebLab ein kleines interaktives Spiel als …

    Progressive Web Apps für IM: Geschichte des Studiengangs Informationsmanagement

    Geschichte des Studiengangs Informationsmanagement Autoren: Alina Balandis,  Aline Brun, Rebecca Poets und Leonie Weber PWA: Geschichte des Studiengangs Informationsmanagement Quellcode Idee/Zielsetzung Die Progressive Web App (PWA) soll Interessierten die Geschichte des Studiengangs Informationsmanagement an der Hochschule Hannover näher bringen. Dabei kann zwischen drei Menüpunkten ausgewählt werden. Neben einem virtuellen Rundgang wird ebenfalls durch einen Zeitstrahl …

    QpLuS-IM-Projekt startet durch: Noch mehr Selbststeuerungskompetenz durch digitales Lernen

    Im Rahmen des QpLuS-IM-Projekts werden die Studierenden des Studiengangs Informationsmanagement (regulär und berufsbegleitend) bei ihrer Kompetenzentwicklung durch selbstgesteuertes Lernen in digitalen Lernszenarien unterstützt. Studierende produzieren z.B. selbst digitale Lernformate und veröffentlichen Online-Inhalte zu ihren Kursergebnissen, die von den Studierenden nachfolgender Jahrgänge als Best Practice-Beispiele zum selbstgesteuerten Lernen genutzt werden. Mit der Bereitstellung von geeigneten Selbstlernmaterialien und durch …

    Biennale Map Venice App WebLab

    App „Biennale Map Venice“ jetzt für Android und iOS

    Studierende aus dem 6. Semester im Studiengang Informationsmanagement entwickeln zurzeit die App Biennale Map Venice im Rahmen eines Projekts weiter, damit sich Besucher auf der Biennale in Venedig besser zurecht finden und zum richtigen Zeitpunkt am richtigen Ort sind. Hauptentwickler der App ist Leon Rostek vom WebLab. Aline Brun hat als Korrespondentin vor Ort dafür …

    BestOf Bachelor: Gamification-Plugins für WordPress

    Christoph Breitsprecher hat eine interessante Bachelorarbeit mit dem Titel „Evaluation von Gamification-Plugins für WordPress“ im Studiengang Informationsmanagement verfasst. Dabei hat er detailliert untersucht, welche Möglichkeiten WordPress in Form von Plugins bietet, einfache Gamification-Mechanismen wie Punktesysteme oder Bestenlisten in WordPress zu integrieren. Auch Grundlagen zu Gamification erklärt Christoph anschaulich. Mehr finden Sie in der Pdf-Version seiner …

    Progressive Web Apps für IM: Fragebogen zur Auswahl des Studienschwerpunkts

    Fragebogen zur Auswahl des Studienschwerpunkts Autoren: Lukas Wojtke, Cedric Herrmann, Niklas Salge und Sharam Etemadi PWA-Fragebogen zur Auswahl des Studienschwerpunktes Grundidee Die ursprüngliche Idee war eine Art Umfrage mit anschließender Auswertung. Im Verlauf der weiteren Ausarbeitung des Projektes wandelte sich die Zielsetzung in einen Selbsttest, welcher nach Beendigung unverzüglich ausgewertet wird. Das Ziel des Fragebogens …

    MM-SYS-2: Der Architekturstil Bauhaus

    Autor: Arlind Ukaj Die fertige Arbeit finden sie hier. Konzept Als Grundkonzept dient ein One-Pager, die Seitenbesucher mit intuitiven Mitteln durch die Seite zu führen. Thematisch informiert die Seite über die wichtigsten Personen und Bauwerke des Bauhauses. Desgin Das Template der Seite ist eine komplette Eigenkreation und inspiriert sich anderen Bauhaus Webseiten sowie Anlehnung an …

    MM-SYS-2: Bauhaus-Ereignisse 1919-1933

    Autoren: Amelie Andresen & Artjom Arustamov Die fertige Arbeit finden sie hier. Konzept Die Seite zum „Bauhaus-Ereignisse 1919 – 1933“ kann in drei Teilbereiche aufgeteilt werden: Header mit integriertem Slider und Navigation Die Hauptseite mit dem vertikalem Zeitstrahl Footer mit den Direktoren One Pager Der Aufbau der Seite besteht aus nur einer HTML-Seite, die den …

    WebLab bei Q-Plus

    WebLab macht Q_pLuS

    Wir freuen uns sehr, dass ein gemeinsamer Projektantrag für Qualität in der Lehre erfolgreich war! Das WebLab wird ab 2019 das durch das MWK geförderte Q-Plus-IM-Projekt fachlich und technisch im Bereich der Webtechnologien und Multimediaentwicklung unterstützen. Weitere Infos und Neuigkeiten zu QpLuS-IM finden Sie auf unserer Projektwebsite.

    Wetter Szenarien

    Tutorial: Wetter Szenarien

    Tutorial: Wetter Szenarien Autoren: Fabian Krampe und Michel Kühne Das Konzept Das Konzept hinter dem Projekt sah vor, eine Animation zu schaffen, welche dem Nutzer alle möglichen Wetter Szenarien zeigt. Die Animation wird hierbei im Hintergrund eines einfachen Preloaders geladen. Der programmierte Button ermöglicht es außerdem, die Animation zu „verstecken“ oder diese wieder anzeigen zu …

    Preloader

    Tutorial: Einen Preloader erstellen

    Tutorial: Einen Preloader erstellen Autoren: Straube und Wisnia Konzept Preloader sind Animationen, die während dem Ladevorgang einer Website angezeigt werden. Sie informieren den Nutzer über Ladeprozesse und befriedigen sein Bedürfnis  zu wissen, was während der Interaktion mit einer Website im Hintergrund abläuft. Gleichzeitig überbrücken die Wartezeit. So sind sie zum einen unterhaltsam, zum andern verbessern …

    multisteplogin

    Tutorial: Multistep Login Formular

    Tutorial: Multistep Login Formular Autor: Ilja Melnik Einleitung Bei dieser Prüfungsleistung handelt es sich um eine konzeptionelle Erstellung eines Multistep Formulars mit funktionalen Animationen. Für die Umsetzung wurden ausschließlich Html-5, Css3 und Javascript (JQuery) verwendet. Die Grundidee ist ein Formular mit visuellem Feedback und einer inhaltlichen Strukturierung. Dies wird primär mit drei funktionalen Animationen umgesetzt: …

    Onepager

    Tutorial: Informativer OnePager für Austauschstudenten

    Tutorial: Informativer OnePager für Austauschstudenten Autor: Cagla Bacaksiz Im Rahmen des Kurses „Entwicklungen von Multimediasystemen II“ sollte eine funktionale Web Animation konzipiert und technisch umgesetzt werden. Die Grundidee meiner Web Animation bestand darin, einen übersichtlichen One-Pager zu programmieren, welcher Informationen für ausländische Studenten bzw. Studieninteressierten beinhaltet. Da ich selber in diesem Semester im Austausch mit …

    Videos rundum IM: Vormerkung Stabi Bremen

    Vormerkung Stabi Bremen Autoren: Tore Hoffmann und Jacob Radel Arbeitsschritte in der Produktion: Zur Ideenfindung zum Thema Vormerkung in einer Bibliothek wurde zunächst über Inhalte in einem Brainstorming nachgedacht. Die möglichen Tools wurden auf Ihre Animationsmöglichkeiten und allgemeine Tauglichkeit geprüft. Die Hintergrundmusik wurde aus Programm Powtoon verwendet. Um die Inhalte in das Video einfügen zu …

    Dynamische Notendarstellung

    Tutorial: Dynamische Notendarstellung

    Dynamische Notendarstellung Autor: Jana Avemarg Design Die Grundlage bildet eine auf HTML5 basierte Single-Page Website (1). Diese bietet den Vorteil, dass die Navigation ohne Verzögerung ausgeführt, da sich der Besucher immer der gleichen Seite befindet, ohne es zu merken. Für eine schönere Darstellung wurde eine öffentlich verfügbare Schriftart von google (2) und ein Farbschema von coolors.co …

    Funktion Campus Card

    Videos rundum IM: Die Funktionen der CampusCard

    Die Funktionen der CampusCard (für Studierende der HSH) Autoren: Sarah Büchting und Antje Pellowski Kurzbeschreibung In unserem Video beschreiben wir  die Funktionen der Campuscard. Wir stellen Martina, eine Studierende der Hochschule Hannover vor und erklären anhand dieses Beispiels die Funktionen der CampusCard. Die Informationen dazu entnahmen wir der Homepage der Hochschule (https://www.hs-hannover.de/it/services/stud/fhhcard). Konzept Unser Video …

    Einführung Bachelor Informationsmanagement

    Videos rundum IM: Einführung Bachelor Informationsmanagement

    Einführung Bachelor Informationsmanagement Autoren: Anthony Stevenson und Florian Lindmüller Idee Unsere Idee war ein Animiertes Video zum Thema Informationsmanagement an der Hochschule Hannover zu gestalten. Dabei sollten alle vermittelnden Kern-Kompetenzen transparent gemacht, sowie ein keiner Ausblick in eine mögliche berufliche Zukunft gegeben werden. Zielsetzung Die Zielsetzung beinhaltete darauf aufbauend ein fertiges Vorstellungsvideo, dass man vor …

    Stakeholder - Erklärung

    Videos rundum IM: Erklärvideo – Was sind Stakeholder?

    Erklärvideo – Was sind Stakeholder? Autoren: Rabea Langholz Idee/Zielsetzung Meine Idee und Zielsetzung war es einen studiengangsbezogenen Fachbegriff zu erklären. Ich habe mich deshalb für die Art eines Erklärvideos entschieden. Nachdem ich den Begriff „Stakeholder“ für mein Video ausgewählt hatte, begann ich mit der Recherche nach Informationen. Darauffolgend erstellte ich eine Mindmap, in der ich …

    Storytelling Bauhaus100 von Amy Hoang

    BestOf Bachelor: Interaktives Storytelling zum Bauhaus100 Jubiläum

    Amy Linh Hoang hat ihre sehr gute Bachelorarbeit im Studiengang Informationsmanagement mit dem Titel „Konzeption und Realisierung eines interaktiven Storytelling anlässlich des Bauhausjubiläums“ abgeschlossen und ein sehenswertes, interaktives Storytelling mittels JavaScript, CSS3 und HTML5 erstellt. Der Titel des Storytellings lautet „Oscar Schlemmers Weg zum Bauhaus„. Amys Bachelorarbeit ist als Kooperation der Abteilungen „Information und Kommunikation“ und „Design …

    Biennale App WebLab HsH

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

    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 …

    Tutorials zu Webentwicklung

    Tutorials zu Webentwicklung

    Als fortlaufendes WebLab-Projekt veröffentlichen wir hier Tutorials zum Thema Webentwicklung. Einige Tutorials werden vom WebLab-Team erstellt, andere entstehen im Rahmen von Lehrveranstaltungen durch Studierende des Studiengangs Informationsmanagement (auch berufsbegleitend). Wir freuen uns auf Ihre Vorschläge für neue Tutorials! Bisher veröffentlichte Tutorials finden Sie hier.

    Webentwicklung mit JavaScript und HTML5

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

    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 …

    Die Funktionen der CampusCard

    Videos rundum IM: Funktionen der CampusCard der HsH

    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 …

    Kompetenzfelder im Studiengang IM

    Videos rundum 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 …

    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 …

    Klausuren Countdown

    Tutorial: 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 …

    Bachelorarbeit von Alina Finger: Virtueller Rundgang für die Expo Plaza

    BestOf Bachelor: Virtueller Rundgang für die Expo Plaza

    Alina Finger hat in ihrer Bachelorarbeit im Studiengang Informationsmanagement (Hochschule Hannover) am Beispiel der Expo Plaza gezeigt, wie anschaulich ein virtueller Rundgang einen ersten Eindruck eines Ortes oder eines Gebäudes vermitteln kann. Insbesondere für die Erstorientierung an unbekannten Orten oder um sich einfach erst einmal umzuschauen sind virtuelle Rundgänge eine gute Idee. Alina hat bei ihrem virtuellen Rundgang …

    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

    Videos rundum IM: Was ist 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 …

    Radiales Menü mit JavaScript

    Tutorial: 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. 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. Technisches Konzept für ein radiales Menü Autor: Julian Hundertmark Als …

    Hamburger Menü

    Tutorial: Ein mobiles Hamburger Menü

    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. Konzept: Ein mobiles Hamburger Menü Autorinnen: Katharina Suhr, Anna Ratzke …

    Login und Registrierungsformular

    Tutorial: Registrierungs- und Loginformular mit jQuery

    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. Registrierungs- und Loginformular Autoren: Felix Struckmann, Yannik Wissner Codepen-URL: https://codepen.io/wappsify/pen/zdYjZV Ziel …

    Fernleihe in der Bibliothek

    Videos rundum IM: Was ist eigentlich die Fernleihe?

    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 …

    Was ist Informationsmanagement?

    Videos rundum IM: Was ist 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 …

    Tutorials

    Hier findet ihr Tutorials zu Webentwicklung mit HTML5, CSS3 und JavaScript sowie zu weiteren Themen, die im Studiengang Informationsmanagement oder auch sonst immer mal wieder interessant sein können. Nach und nach ergänzen wir hier neue Tutorials, die entweder von Studierenden im Rahmen von Lehrveranstaltungen oder vom WebLab-Team erstellt werden.

    WebLab-Portfolio: Rundum Informationsmanagement

    In einigen Lehrveranstaltungen haben wir uns mit der medialen Aufbereitung von Inhalten rundum den Studiengang Informationsmanagement befasst. Von Videos, was Informationsmanagement überhaupt ist oder den Kompetenzfeldern bis zu interaktiven Storytellings zum studentischen Leben oder Infografiken mit JavaScript findet ihr hier in unserer bisherigen Sammlung.

    BestOf WebLab

    BestOf studentischer Arbeiten

    In diesem Portfolio-Bereich findet Ihr studentische Arbeiten aus dem Studiengang Informationsmanagement und berufsbgleoitend, die besonders gut gelungen sind. Hier veröffentlichen wir sehr gute Ergebnisse aus Lehrveranstaltungen und herausragende Bachelorarbeiten. Bislang findet ihr hier Arbeiten aus dem Kompetenzfeld Web Information Management mit Schwerpunkt auf interaktive Medien und Webentwicklung. Wir hoffen, dass wir in Zukunft auch Arbeiten …

    Frohe Weihnachten 2017

    Wunderbare Weihnachten und guten Rutsch ins neue Jahr!

    Wir wünschen Ihnen entspannte und besinnliche Weihnachtsfeiertage, einen guten Endspurt und einen tollen Start ins neue Jahr 2018! Ihr WebLab-Team 🙂

    Dropdown Multiselect List mit Semantic UI

    Tutorial: Multiselect Dropdown Liste mit Semantic UI

    Eine Multiselect Dropdown Liste erstellt im Rahmen des Moduls „Medienintegration“ im Masterstudium Informations- und Wissensmanagement (Hochschule Hannover, Dozent: Prof. Dr.-Ing. M. Steinberg) Autor: Franziska Braun Tutorial Die Multiselect Dropdown-Listen werden in Online-Formularen (Bestellungen, Kontaktformulare) oder Online-Fragebögen verwendet. In diesem Beispiel können Lehrveranstaltungen ausgewählt werden. Die Anzahl ist auf maximal 3 Lehrveranstaltungen begrenzt. Eine HTML Dropdown-Listen allein ist …

    Funktionale Animation und Infografik

    Tutorial: Informationsmanager auf dem Arbeitsmarkt

    Eine Infografik als funktionale Animation erstellt im Rahmen des Moduls „Medienintegration“ im Masterstudium Informations- und Wissensmanagement (Hochschule Hannover, Dozent: Prof. Dr.-Ing. M. Steinberg) Autor: Frieda Josi  Tutorial: Einsatzzweck und Einordnung in Animationsart Diese Infografik mit dem Inhalt „Informationsmanager auf dem Arbeitsmarkt“ dient der effektiveren Informationsvermittlung für, beispielsweise, der Webseite des Studienganges Informationsmanagement der Hochschule Hannover. Mit …

    Stop-Motion: Post-Its und Gaming

    Im Rahmen des Kurses „Entwicklung von Multimediasystemen I“ (Studiengang Informationsmanagement, Fakultät 3, Hochschule Hannover) erstellten Philipp Höltermann und Christian Koch ein Stop-Motion-Video. Das Video greift Videospielklassiker und Gaming-Neuheiten mittels Post-Its auf. Erstellt wurde das Video nach klassischer Stop-Motion-Technik mit Adobe Photoshop und Premiere.

    Tutorial: Scroll Percent Display with liquid Animation

    Tutorial: Scroll Percent Display with liquid Animation

    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. Konzept und Quellcode mit Erläuterung von Scroll Percent Display with …

    Tutorial: Interaktive Führung durch den Studiengang Informationsmanagement

    Tutorial: Interaktive Führung durch den Studiengang Informationsmanagement

    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. Interaktive Führung durch den Studiengang Informationsmanagement Autor: Lena Meyer Der Studiengang …

    Ein Akkordeonmenü für die Fakultät III, Hochschule Hannover, Expo Plaza

    Tutorial: Ein Akkordeonmenü für die Fakultät III

    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. Ein Akkordeonmenü für die Fakultät …

    Tutorial: Ein responsives Menü mit jQuery für die HsH

    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. Ein responsives Menü mit jQuery …

    BestOf: Funktionale Animationen (Multimediasysteme II / Medienintergration SoSe 2017)

    Im Rahmen der Kurse Entwicklung von Multimediasystemen II und Medienintegration (Studiengang Informationsmanagement, Prof. Dr.-Ing. Steinberg) im Sommersemester 2017 entstanden einige funktionale Animationen durch die Studierenden. Anforderung an die Arbeiten war, keine rein dekorativen Animationen zu erstellen, sondern sich kleinen, abgeschlossenen, funktionalen Aspekten der Nutzerinteraktion zu widmen. Verwendete Techniken sind HTML5, CSS3 und JavaScript. Ein paar der …

    WebLab-HsH_Interaktives_Memory_Spiel

    WebLab-Projekt: Interaktives Memory-Spiel für IM-Studiengang

    Im Rahmen der Ideen-Expo wurde von der Hochschule ein Kartenspiel gedruckt, das an potentielle Studieninteressierte ausgehändigt werden soll. Damit dieses Kartenspiel jedoch nicht nur analog verfügbar ist, hat das WebLab der Hochschule Hannover eine digitale Version des Spiels mittels JavaScript entwickelt. Als erstes haben wir eine vorläufige Spieloberfläche geschaffen, auf der momentan im oberen Bereich …

    WebLab HsH

    Tutorial: WWW-Techniken 1 – Wie bekomme ich meine Website ins Internet?

    Bevor Sie eine Website online stellen können, müssen Sie ein paar Vorbereitungen treffen: Beantragen Sie einen eigenen Webspace beim Webhosting-Team der Hochschule Hannover. beachten Sie hierbei, dass der dort gewählte Benutzername der erste Teil Ihres Domainnamens wird. Fassen Sie sich also möglichst kurz. Der Webspace ist nötig, damit Ihre Internetseite später rundum die Uhr öffentlich über …

    BestOf studentische Arbeiten

    WebLab-Projekt: Portfolio zu studentischen Arbeiten

    In unserem Portfolio arbeiten wir fortlaufend daran, gute studentische Arbeiten aus verschiedenen Kursen im Studiengang Informationsmanagement hier aufzubereiten und zu veröffentlichen. Angefangen haben wir mit Inhalten aus den folgenden Kursen sowie sehr guten Bachelorarbeiten: Grundlegende Web-Techniken 1 Entwicklung von Multimediasystemen 1 und 2 Ausgewählten Fragen der Medieninformatik.

    Storytelling IM

    WebLab-Projekt: Online-Exponate für die Ideen Expo 2017

    Das WebLab hat ein Interaktives Storytelling zum studentischen Alltag und mehrere Videos aus der Kategorie Rundum IM als Exponate für die Ideen Expo 2017 aufbereitet und zur Verfügung gestellt. So konnten insbesondere Schüler*innen einen anschaulichen Einblick in den Bachelorstudiengang Informationsmanagement an der Hochschule Hannover gewinnen.

    Was ist Informationsmanagement?

    Videos rundum IM: Was ist Informationsmanagement?

    Was ist eigentlich Informationsmanagement? Diese Frage stellt sich mit Sicherheit jeder, der zum ersten Mal von dem Studiengang hört. Die Informationsmanagementstudentin Frieda Josi hat sich dieser Frage für die Prüfungsleistung des Moduls Wissensverarbeitung von Audio- und Bildinformationen angenommen und ein einminütiges Informationsvideo angefertigt, das sich mit der Definition, den Aufgaben und dem Einsatzgebiet von Informationsmanagement …

    Infografik zu Informationsmanagement an der Hochschule Hannover

    Interaktive Infografik: Was macht eigentlich ein Informationsmanager?

    Im Projekt „Infografiken“ (Sommersemester 2016) haben Joana Hollasch und Johannes Burchert eine interaktive Infografik mit HTML5, CSS3 und JavaScript zu den verschiedenen Bereichen erstellt, mit denen sich ein Informationsmanager im Studium und später im Berufsalltag beschäftigt. Die Infografik zeigt, wie vielseitig die Aufgabenbereiche eines Informationsmanagers sind. Neben Informationswissenschaften, Informatik und Webentwicklung sind z.B. auch Bereiche …

    BestOf: WWW-Techniken I Wise 2016/17

    Im Wintersemester 2016/17 fand für die Erstsemester des Studiengangs Informationsmanagement der Kurs WWW-Techniken I statt. Die Prüfungsleistung bestand darin, eine eigene Website mit HTML5 und CSS3 zu entwickeln und auf dem eigenen Hochschulwebspace zu veröffentlichen. Die Meisten haben im Rahmen des Kurses ihre erste Website überhaupt erstellt und waren absolute HTML-Newbies. Umso beeindruckender, dass so viele …

    (Photo by Nong Vang on Unsplash)

    Tutorial: Prototype erstellen mit Figma – So funktioniert’s!

    Beitragsbild

    Autor*in: Anna Selitski und Anna-Lisa Voigt


    User Experience Scala
    Von einer very bad zu einer exzellenten User Experience ©Olivier Le Moal – stock.adobe.com

    Einen Prototype in dem Designertool Figma zu erstellen ist eine sehr schnelle und einfache Sache. Vielleicht kennst du auch die Bezeichnung Klickdummy für Prototype. Wenn du mal Screens für eine App oder eine Webseite erstellst, kannst du einfach mit einem Klickdummy die User Experience und die User Journey darstellen.  Aber wie funktioniert das Erstellen von einem Prototype mit Figma? Und was sind Figma und die User Journey überhaupt? Das und weitere spannende Informationen zu diesem Thema zeigen wir dir in dem folgenden Beitrag!

    Dieser Beitrag im Überblick:

    Eine Einführung zu Figma

    Fangen wir erst einmal mit Figma an. Figma ist ein Web-basiertes Programm, welches zum Designen von Screens für eine App oder Webseite gedacht ist. Vielleicht kennst du auch das Tool Sketch. Dort kannst du auch leicht und unkompliziert Designs erstellen, jedoch spätestens wenn man zu zweit an einem Projekt arbeitet, kann man sich dort schnell in die Quere kommen. Figma hingegen ermöglicht dir das Designen von Screens mit vier oder mehr Händen! Du fragst dich wie das gehen soll? In Figma können mehrere Designer gleichzeitig an ihrem eigenen Gerät und an derselben Datei arbeiten, ohne sich dabei zu stören.

    Fünf Gründe für Figma[1]

    Fünf Gründe für Figma - Prototype erstellen
    Das sind die wichtigsten fünf Gründe für Figma. ©Song_about_summer – stock.adobe.com

    1. Das Interface von Figma:
      Wer mit Figma arbeitet merkt schnell, dass das Interface dieses Tools von Designern für Designer entwickelt wurde. Aber auch für Anfänger ist das Bedienen der Software, nach ein paar Stunden Einarbeitung, kein großes Problem mehr. Die zahlreichen Shortcuts sind unserer Meinung nach unbezahlbar! Shortcuts? Das sind unzählige Tastenkombinationen für verschiedene Werkzeuge. Somit bleiben dir Klicks und Zeit erspart!
    2. Schnell zum Ergebnis mit wenig Aufwand:
      Wie schon erwähnt ist Figma ein nutzerfreundliches Tool und du kannst den Umgang mit dem Programm schnell lernen. Aber kennst du das Problem, wenn du in einer großen Gruppe arbeitest und du immer alles hin und her schicken musst, um auf dem aktuellsten Stand zu bleiben? Und dann musst du auf das Dokument deines Gruppenmitglieds warten, um mit deiner Arbeit anfangen zu können. Tja, bei Figma kommt sich bei einer Gruppenarbeit keiner mehr in die Quere, denn jeder kann an seinem Gerät in der gemeinsamen Datei arbeiten! Wir finden das großartig, denn so kann jeder die Schritte des anderen verfolgen und dementsprechend seine Arbeit anpassen. Somit musst du nicht mehr auf die anderen warten, bis du mit deiner Aufgabe anfangen kannst.
    3. Verknüpfungen:
      Jetzt fragst du dich sicherlich was Figma nicht kann? Figma ist ein Tool für die interaktive Gestaltung von Screens, hat aber auch seine Schwächen. Diese umgeht Figma mit Verknüpfungen zu anderen Tools, wie Sketch oder Photoshop. So kannst du ganz leicht Funktionen von anderen Programmen über Figma verwenden.
    4. Für jeden und zu jeder Zeit verfügbar:
      Du verspürst mitten in der Nacht den Drang, an deinen Screens weiterzuarbeiten, aber dein Gerät liegt auf der Arbeit? Mit Figma kannst zu jederzeit und überall auf deine Dateien zugreifen, solange du einen Internetzugang und deine Zugangsdaten hast.
    5. Immer aktuell sein:
      Das lästige Problem mit der Aktualität der Dateien ist mit Figma Geschichte. Kein ständiges Fragen mehr, welche Version die aktuellste ist, denn es gibt nur noch die eine Version, die online ist! Auch das selbstständige Speichern von Figma erleichtert deine Arbeit und Ergebnisse können nicht mehr verloren gehen. Perfekt, oder?!

    Prototype, User Journey – Was genau ist das?

    Ein Klickdummy wird für ein Projekt erarbeitet
    Du kannst einen Prototype erstellen, um die Funktionen und den Sinn von Interaktionsmodulen deiner zukünftigen App zu zeigen.  ©artursfoto – stock.adobe.com

    Einen Prototype benötigst du dann, wenn du Funktionen und Sinn von bestimmten Buttons und Interaktionsmodulen zeigen möchtest. Du kannst einen Klickdummy auch für die Darstellung der User Journey, also der Weg, den der Nutzer in deiner App oder auf deiner Webseite beschreiten soll, zeigen[2].
    Sowas ist dann nützlich, wenn du zum Beispiel die Screens  deinem Auftraggeber vorstellen möchtest. Mit einem Klickdummy kann sich der Auftraggeber besser vorstellen, welche Funktionen ein Button auslöst, wenn der Nutzer darauf klickt. Außerdem ist so ein Prototype auch dann sinnvoll, wenn du deine Logik der User Experience überprüfen möchtest. Denn es kann schon mal vorkommen, dass man zum Beispiel vergisst, einen Zurück-Button einzubauen und der Nutzer nicht mehr den Weg nach Hause – also zur Home Seite – findet.

    Tutorial: Wie erstelle ich einen Prototype in Figma?

    Jetzt fragst du dich wie das gehen soll? Kein Problem, zu Beginn musst du dafür die Figma Datei öffnen. Wenn  du dort noch keine Screens angelegt hast, machst du das jetzt erst einmal.  Du wirst die Screens benötigen, welche du anschließend miteinander zu einem Prototype verbinden möchtest.

    Schritt 1:

    Hast du die Screenshots angelegt? Falls du mit ja antwortest, klickst du einfach oben rechts auf das Symbol Prototype. Du weißt nicht genau wo? Siehst du den orangen Pfeil im Screenshot? Er zeigt dir genau den Bereich, den du auswählen solltest. Der Prototype Bereich öffnet sich anschließend nach der Auswahl rechts in Figma (Schritt 1).

    Prototype erstellen
    Schritt 1: Klicke oben rechts auf Prototype (zum Vergrößern anklicken) ©Voigt; Selitski

    Schritt 2:

    Jetzt klickst du  auf das gewünschte Objekt, also die Stelle, wo der Nutzer hinklicken wird (Schritt 2).

    Prototype erstellen über Figma
    Schritt 2: Wähle das gewünschte Objekt aus (zum Vergrößern anklicken) ©Voigt; Selitski

    Schritt 3:

    Nun siehst du um das ausgewählte Objekt herum den Umriss eines blauen Vierecks. Klicke auf den Punkt, der sich auf der rechten Kante des Vierecks befindet und halte dabei deine Maustaste gedrückt. Ziehe nun deine Maus auf den nächsten Screen, der danach angezeigt werden soll. Jetzt kannst du einen blauen Pfeil sehen, der von dem ausgewählten Objekt auf den nächsten Screen zeigt (Schritt 3).

    Prototype erstellen
    Schritt 3: Der blaue Pfeil zeigt auf den nächsten Screen Kalender. Jetzt sind die Screens miteinander verbunden (zum Vergrößern anklicken) ©Voigt; Selitski

    In dem von uns dargestellten Beispiel, wählten wir die App Kalender von dem Screen Startscreen aus. Die Kalenderapp soll sich nun bei einem Klick oder Touch mit dem Finger öffnen, dies zeigt jetzt der blaue Pfeil, welcher auf den nächsten Screen Kalender zeigt.

    Auf diese Art und Weise kannst du nun weitere Screens mit den vorherigen verbinden und so die User Journey des Nutzers in deiner App oder Webseite darstellen. Genauso kannst du ganz schnell und einfach einen Prototype in Figma erstellen!

    Schritt 4:

    Pass dabei auf, dass du die richtigen Objekte mit den richtigen Screens zusammenführst. Sodass der Prototype die richtige, und von dir gewünschte, Reihenfolge anzeigt. Um die richtige Reihenfolge zu kontrollieren, kannst du dich an den blauen Pfeilen orientieren (Schritt 4).

    Prototype erstellen
    Schritt 4: Kontrolliere die Reihenfolge deines Prototypes anhand der blauen Pfeile (zum Vergrößern anklicken) ©Voigt; Selitski

    In unserem Beispiel zeigen wir dir, dass wir vom Startscreen anfangen und auf das App-Symbol des Kalenders drücken. Daraufhin öffnet sich der Kalender, jetzt wollen wir einen Kalendereintrag hinzufügen. Dafür drücken wir auf das runde Plus-Icon und der Kalendereintrag öffnet sich.

    Schritt 5:

    Wenn du alle Schritte erfolgreich erledigt hast und die Pfeile soweit stimmen, ist es an der Zeit, den Klickdummy zu starten. Dafür klickst du einfach oben links, bei dem ersten Screen, auf das blaue Viereck mit dem weißen Dreieck (Schritt 5).

    Prototype erstellen - Schritt 5
    Schritt 5:  Klick nun oben links auf das blaue Viereck (zum Vergrößern anklicken) ©Voigt; Selitski

    Daraufhin öffnet sich in einer neuen Datei der, von dir erstellte, Prototype. Jetzt kannst du auf die Objekte klicken, die du zuvor ausgewählt hast. Wenn daraufhin der nächste angezeigte Screen der Richtige ist, stimmt deine User Journey überein und der Prototype ist bereit für die Vorstellung bei deinem Auftraggeber!

    Prototype erstellen – Alle Schritte auf einem Blick

    1. Klicke auf Prototype oben rechts bei den Werkzeugtools.
    2. Wähle das gewünschte Objekt, welches du in dem Prototype anklicken möchtest.
    3. Klicke auf den Punkt innerhalb des blauen Vierecks und ziehe diesen zum gewünschten Screen.
    4. Wiederhole jetzt die gleichen Schritte (Schritt 2) für die nächsten Screens.
    5. Klicke oben rechts auf den Pfeil, um den Prototype zu starten.

    Etwas hat nicht geklappt, oder hast du vielleicht einen Schritt vergessen? Keine Panik! Im folgenden Video Prototype / Klickdummy über Figma erstellen zeigen wir dir, die einzelnen Schritte per Desktopaufnahme.

    Das Prototype-Testing mit Figma Mirror

    Du kannst den Klickdummy und die User Journey auch mit der App Figma Mirror testen. Dies bringt dir den Vorteil, dass du deine erstellten Screens auch auf deinem Smartphone sehen kannst. So kannst du das Look and Feel deiner Screens auf deinem Smartphone bekommen. Auch die Größe von deinen Objekten und Texten kannst du so überprüfen.

    Dafür brauchst du nur Figma Mirror aus dem Play Store oder dem App Store auf dein Smartphone/Tablet herunterladen. Anschließend meldest du dich mit deinen gewohnten Daten aus Figma an. Zu guter Letzt klickst du in deiner Arbeitsmappe auf den Startscreen deines Prototypes, dieser wird dir nun auf deinem Smartphone angezeigt. Jetzt kannst du auf deine ausgewählten Objekte tippen und so überprüfen, ob der darauffolgende Screen der Gewünschte ist und ob die User Journey mit der gezeigten Reihenfolge übereinstimmt.

    Ein Tipp von uns: Wenn du die User Journey von einer App darstellen möchtest, nimm am besten dafür dein Smartphone. Möchtest du  dir aber eine Webseite anschauen, welche noch nicht responsiv ist, verwende dafür lieber die App auf einem Tablet.

    Viel Erfolg!

    great user experience
    Mit einer exzellenten User Experience hast du auch zufriedene Nutzer ©blacksalmon – stock.adobe.com

    Wir hoffen, dass wir dir mit der Anleitung für die Erstellung eines Prototypes mit Figma helfen konnten und du damit deine User Journey darstellen kannst!


    Quellen

    Auf die [Hochzahl] klicken, um zum zugehörigen Absatz zurückzukehren.

    1 Vgl. Ornella (2018): Designen mit vier Händen: 5 Gründe warum du Figma brauchst. Online unter https://www.dieproduktmacher.com/blog/designen-mit-vier-haenden-5-gruende-warum-du-figma-brauchst [Abruf am 06.06.2020]

    2 Vgl. usability.de (o. J.): User Experience ganzheitlich verstehen und optimieren. Online unter https://www.usability.de/leistungen/methoden/user-journey-mapping.html [Abruf am 06.06.2020]


    Dieser Beitrag ist im Studiengang Informationsmanagement an der Hochschule Hannover im Rahmen des Kurses Content Management (Sommersemester 2020, Andre Kreutzmann) entstanden.

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

    Business Intelligence – Was ist das eigentlich?

    Beitragsbild

    Autor*in: Nick Jäger


    Dir sagt es vielleicht nichts, aber Business Intelligence kann dich retten!

    Das Scenario

    Dein bester Freund/deine beste Freundin und du führen ein Unternehmen. Alles läuft gut. Der Umsatz stimmt, eure Angestellten sind klasse und du kannst sogar 3 mal im Jahr nach Malle fliegen. Doch dann kommt der Tag, an dem alles kippt.
    Es trifft euch wie der Schlag!

    Wie ein Schlag in das Gesicht - Geschäftsführung ohne Business Intelligence
    Quelle: gifimage.net

    Die Einnahmen brechen zusammen, die Kunden sind unzufrieden und der Kaffee im Büro schmeckt nach Fuß. Was ist passiert?

    Nach einem Jahr bergauf, kam das Tal. Und das war tief. Euch war nicht bewusst, dass ein bisschen Nachdenken hilfreich sein könnte. Ihr habt den Überblick über euer Unternehmen verloren und alle eure Entscheidungen nach dem Erfolg eures Kick-offs waren Grütze.

    Doch das muss nicht sein!

    Auch wenn ihr nicht die intelligentesten seid, können es immerhin Eure Methoden sein. Business Intelligence (BI) ist das Stichwort. Doch was ist das und wie funktioniert das?

    Business Intelligence in 6 Sätzen

    Geschäftsanalytik – wie es auf deutsch heißt – ist eine technische und betriebswirtschaftliche Methode zur Entscheidungsfindung. Es ist die erweiterte Analyse des Unternehmens und seines Umfelds. Diese ist in den meisten Fällen von Tools gestützt. Das Ziel dabei ist „Wissensfindung“ oder auch „Knowledge Discovery“.[ 1 ] Denn bei diesen Analysen generierst du Wissen. Nicht nur fallspezifisch, sondern über dein ganzes Unternehmen und darüber hinaus.

    Warum genau ist Business Intelligence nun so wichtig?

    Um es kurz zu beantworten: BI-Tools können viel mehr gleichzeitig beachten, als du es jemals könntest.

    Die längere Antwort:
    Entscheidungen zu treffen ist keine leichte Aufgabe. Es ist schwierig. Aufgrund deines Bauchgefühls oder in Anbetracht weniger Faktoren diese zu fällen, ist gefährlich. Eine umfassende Analyse lohnt sich.

    Zunächst scheint der Aufwand enorm. Ein Business Intelligence-Tool zu finden, zu bezahlen, aufzusetzen und zu pflegen kostet Zeit und Geld. – Das, was ihr gerade überhaupt nicht habt. – Aber sobald es läuft, kann es euch in so gut wie allen Bereichen helfen.
    Es wird euch ermöglicht durch komplexe Zusammenhänge durchzusteigen. Und nachdem ihr diese verstanden habt, könnt ihr nicht nur reaktiv, sondern auch proaktiv handeln.[ 2 ]

    Nicht überzeugt? Dann schau mal bei BI-SURVEY.com vorbei – vorsicht Englisch! Dort wird dir der Nutzen auf dem Silbertablett präsentiert.

    Befragung zum Nutzen von Business intelligence-Tools in Unternehmen
    Befragung zum Nutzen von Business intelligence-Tools in Unternehmen | Quelle: BARC (Business Application Research Center)

    Die Grundlagen von Business Intelligence

    Vier Schritte trennen Dich und deinen Kumpel/deine Kumpeline vom erneuten Erfolg.

    Wie Du sehen kannst, hat BI viel mit Daten zu tun. Doch keine Angst, viel Arbeit kann dir abgenommen werden.

    Daten Sammeln und aufbewahren

    Grundlage für jede Analyse sind Daten. So ist es auch bei der Geschäftsanalytik. Je nach Ziel deiner Analyse brauchst du sowohl interne, als auch externe, Daten.
    Bevor Ihr also mit Analysen beginnt, heißt es sammeln, sammeln und noch mehr sammeln!

    Daten sammeln
    Quelle: gifimage.net

    Natürlich sammelt Ihr nur Daten, die euer Unternehmen oder euren Markt betreffen. Aber lasst euch nicht dazwischen funken! Denn Grundsatz ist: Je mehr Daten Ihr sammelt, desto mehr könnt Ihr am Ende auswerten.
    Wenn Ihr Daten(-quellen) habt, müssen diese natürlich auch bewahrt werden. Dafür eignen sich Datenbanken beziehungsweise ein Data Warehouse. Sobald ihr genügend Daten zur Verfügung habt, könnt Ihr mit dem nächsten Schritt beginnen.

    Business Intelligence-Tool wählen und Daten aufbereiten

    Je mehr ihr euch mit einem bestimmten Business Intelligence-Tool auseinander setzt, desto schneller könnt ihr euch in die Arbeit mit diesem stürzen. Falls ihr bei eurer Entscheidung ein bisschen Hilfe braucht schaut bei Gartner vorbei! Deren jährlicher Report „Gartner Magic Quadrant for Analytics and Business Intelligence Platforms“ bietet euch einen umfassenden Überblick über den Markt.

    Gartner Magic Quadrant für Analytics und Business Intelligence
    Gartner Magic Quadrant für Analytics und Business Intelligence 2020 | Quelle: Gartner (Februar 2020)

    Damit ihr die gesammelten Daten verwenden könnt, müsst ihr diese nun aufbereiten. Entweder ihr nutzt dazu das BI-Tool, für welches ihr euch entschieden habt oder ihr macht dies direkt an den Daten selbst. Letzteres kann jedoch schwierig sein. Insofern ihr also nicht darauf besteht an euren Daten direkt rumzupfuschen, lasst es!

    Geschäftsrelevante Daten darstellen

    Jetzt gehts ans eingemachte! Bevor ihr eure ersten qualifizierten Entscheidungen treffen könnt, müsst ihr die gesammelten und aufbereiteten Daten in einen Kontext bringen. Da kommt das Tool, aber auch euer Gehirnschmalz, ins Spiel. Auch wenn das Tool euch vieles abnimmt, müsst ihr überlegen, welche Verbindungen könnten für euch relevant sein und welche nicht. Das Tool stellt euch dann bspw. dar, wie stark die Verbindungen wirklich sind.
    Was hängt zusammen? Was beeinflusst was? Es gibt Unmengen an Möglichkeiten der Darstellung. Probiert euch aus!
    Indem ihr mit dem Tool arbeitet, gewinnt ihr an Verständnis für euer Unternehmen bzw. den Markt.

    Und dann habt ihr es! Nachdem ihr nun Monate euer Unternehmen, die Mitarbeiter und den Markt analysiert habt, habt ihr es raus.

    Euer Produkt ist Schrott!

    Ihr realisiert, dass euer Produkt Schrott ist
    Quelle: gifimage.net

    Es besser machen, als es im Moment ist!

    Nun heißt es: Alles besser machen. Das BI-Tool zaubert euch jetzt zwar keine Gelddruckmaschine ins Büro, aber es zeigt euch die Effektivität jeder Änderung im Detail.
    Ihr kauft besseren Kaffee? Die Mitarbeiter werden produktiver. Ihr klaut Ideen bei der Konkurrenz und verkauft diese als eure? Eure Umsätze gehen hoch und die der Konkurrenz runter. Ihr landet im Gefängnis wegen Betriebsspionage? Doof, aber weil ihr das BI-Tool habt, kann sogar der Praktikant euer Unternehmen weiterführen.
    Also was spricht jetzt noch gegen Business Intelligence in eurem Unternehmen?

    Fazit

    Natürlich ist das alles nicht so einfach, wie ich es jetzt dargestellt habe. Damit Business Intelligence wirklich gut funktioniert muss viel getan werden. Bis die oben aufgeführten Schritte alle durchgearbeitet sind, ist es ein weiter Weg.
    Es dauert Monate, wenn nicht Jahre, bis Auswertungen über die Aussagekraft von simplen Analysen bzw. einem Blick auf eine Excel-Tabelle hinausgehen.

    Doch es ist eine Investition in die Zukunft!

    Die Zukunft mit BI
    Quelle: makeameme.org

    Je länger ihr mit einem solchem Tool arbeitet, desto umfassender wird der Nutzen.
    Entscheidungen können, aufgrund von Daten, begründet werden. Der Überblick über alle Geschäftsbereiche wird zusammengeführt. Und ihr gewinnt immer mehr Nutzen aus den Daten, die in eurem Unternehmen über Jahre hinweg gesammelt wurden, aber nie genauer angesehen wurden.

    Denn:

    „There is significant hidden value locked away in corporate databases waiting to be discovered and exploited.“
    – Loshin (2003, S.1)[ 3 ]

    Quellen

    Auf die [Hochzahl] klicken, um zum zugehörigen Absatz zurückzukehren.

    [ 1 ] Klumbies, Hans (2019): Datengrundlagen für Entscheidungen schaffen. Online unter: https://www.mittelstandswiki.de/wissen/Geschäftsanalytik [Abruf am 21.07.2020]

    [ 2 ] TABLEAU SOFTWARE, LLC (o.J.): Was ist Business Intelligence (BI)? Online unter: https://www.tableau.com/de-de/learn/articles/what-is-business-intelligence [Abruf am 23.07.2020]

    [ 3 ] Loshin, David (2003) (Morgan Kaufmann Publishers), Business Intelligence: The Savvy Manager’s Guide, Getting Onboard with Emerging IT, Seite 1.


    Dieser Beitrag ist im Studiengang Informationsmanagement an der Hochschule Hannover im Rahmen des Kurses Content Management  (Sommersemester 2020, Andre Kreutzmann) entstanden.

    Die besten Beiträge stellen wir Euch hier in den nächsten Wochen nach und nach vor.

    Was sind Progressive Web Apps (PWAs)?

    Beitragsbild

    Autor*in: Pascal Wissner


    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.

    Ob Laptop, Tablet oder Smartphone - der Inhalt einer Webseite muss heutzutage responsiv dargestellt werden können! Progressive Web Apps erfüllen diesen Punkt.

    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:

    1. Rufe auf deinem Endgerät die Webseite www.twitter.com auf.
    2. Nachdem du Schritt 1 durchgeführt hast, kannst du oben rechts auf die drei Punkte klicken.
    3. Jetzt wählst du den Punkt: „Twitter installieren“ aus.
    4. Insofern alles korrekt geklappt hat, kannst du die PWA nun über eine Verknüpfung auf dem Desktop/Schreibtisch starten.

    Twitter - Eine erfolgreiche Progressive Web App

    Klicke oben rechts auf die drei Punkte und wähle „Twitter installieren“ aus:

    Twitter - Eine erfolgreiche Progressive Web AppInstallierte Twitter PWA auf macOS in Google Chrome.

    Twitter PWA auf einem Android Endgeräit installieren

    Wenn du dich gerade an einem Android Smartphone befindest, dann folge dieser Anleitung:

    1. Rufe auf deinem Android-Endgerät die Webseite www.twitter.com auf.
    2. Nachdem du Schritt 1 durchgeführt hast, kannst du oben rechts auf die drei Punkte klicken.
    3. Jetzt wählst du den Punkt: „Zum Startbildschirm hinzufügen“ aus.
    4. Installiere die Twitter PWA, indem du auf „Hinzufügen“ klickst.
    5. Insofern alles korrekt geklappt hat, kannst du die PWA nun über eine Verknüpfung auf dem Homescreen starten.

    Twitter

    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:

    1. Rufe auf deinem Apple-Endgerät die Webseite www.twitter.com auf.
    2. Nachdem du Schritt 1 durchgeführt hast, kannst du unten in der Mitte auf den „Teilen…“-Knopf klicken.
    3. Als nächstes wählst du den Punkt: „Zum Home-Bildschirm“ aus.
    4. Installiere die Twitter PWA, indem du auf „Hinzufügen“ klickst.
    5. Insofern alles korrekt geklappt hat, kannst du die PWA nun über eine Verknüpfung auf dem Homescreen starten.

    Twitter

    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:

    https://pwa.bar/ oder https://findpwa.com/

    Ob ich wohl dein Interesse wecken konnte und dich das Thema nun brennend interessiert? Dann schaue dir doch mal dieses übersichtliche Tutorial von Google an: https://codelabs.developers.google.com/codelabs/your-first-pwapp/#0

     

    Eigene Meinung und Ausblick von PWAs

    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]


    Dieser Beitrag ist im Studiengang Informationsmanagement an der Hochschule Hannover im Rahmen des Kurses Content Management (Sommersemester 2020, Andre Kreutzmann) entstanden.

    Die besten Beiträge stellen wir Euch hier in den nächsten Wochen nach und nach vor.

    Tutorial: Visual Graphic Novel Animation

    Tutorial: Visual Graphic Novel Animation

    Autori*n: Julia Karaschewski


    Vollansicht: Visual Graphic Novel Animation auf Codepen.io
    Quellcodeansicht: Visual Graphic Novel Animation auf Codepen.io
    ZIP-Datei zum Download (direkt von Codepen.io)

    Das Konzept

    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.

    Inhaltsverzeichnis des Beitrags

    Aufbau des Visual Graphic Novels

    Es gibt 4 Ebenen:

    • 1. Start-Bildschirm
    • 2. Szenen-Wahl
    • 3. Home-Scene
    • 3. Outdoor-Scene
    • 4. End-Bildschirm

    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:

      • HTML5
      • CSS3
      • JavaScript & JQuery

    Um JQuery zu verwenden, muss dies bei den Codepen-Einstellungen erst mit diesem Link https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.min.js importiert werden, wie auf der folgenden Abbildung:

    Eigene Abbildung: Bei Codepen JQuery importieren
    Eigene Abbildung: Bei Codepen JQuery importieren

    Besonderheiten

    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.

    Body

    body {
    background-size:cover;
    font-family: "Comic Sans MS", Helvetica, sans-serif;
    border: 1px dashed #ffffff;
    border-radius: 30%;
    box-shadow:0px 0px 350px; #000000;;
    background: radial-gradient(#28427B,#14213D, #0d001f);
    justify-content:center;
    background-position: center;

    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.

    Main-Content-Container

    .main-content {
    max-width: 700 px;
    margin: 0em auto 0;
    text-align: center;
    max-height:500px;
    overflow: hidden;

    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 -->
    $(".start-button").on("click", function() {
    $(".main-content").removeAttr("id", "gamestart");
    $(".stop-button").on("click", function() {
    $(".main-content").attr("id", "gamestop");

     

    Mehr zu den Buttons später.

    Illustration-Container

    .illustration {
    position: relative;
    align-self: flex-end;
    marfin: auto;
    height: 250px;
    width: 250px;

    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.

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

    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;

    Foreground-items Container

    <div class="foreground-items">
    <img src="https://image.flaticon.com/icons/svg/198/198916.svg" width="65px" style="margin-left:-10%;"/>
    <img src="https://image.flaticon.com/icons/svg/3145/3145435.svg" width="65px" style="padding-left:30%;"/>
    </div>

    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.

    .forground-items {
    transition: all 300ms cubuic-bezier(0.68, -0,55, 0.265, 1.55) 200ms;
    margin-top:100%;
    }

    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.

    .backgrouznd-items {
    transition: all 200ms cubic-bezier(0.68, -0.55, 0.265, 1.55) 100ms;
    top: 23px;
    }
    

    Option-Wrapper

    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.

    .option {
    transition: all 200ms ease;
    padding: 10px 10px 8px;
    width: 50%;
    border-radius: 50px;
    cursor: pointer;
    color: #ffffff;
    } /* gibt aktiver Option style */
    .active{
    background: #FFB200;
    pointer-events: none;
    color: '000000;
    }
    .option:hover: {
    text-decoration: none;
    }

    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.

    <span class="hint">
    <div class="button hint" style="">
    <a class="Start-button option wobble-veretical-on-hover hint">Star !</a>
    <a class="stop-button option wobble-vertical-on-hover">Stop playing !</a>
    </div>
    </span>

    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.

    .bubble {
    z-index:4;
    min-width: 0px;
    max-width: 210px;
    max-height: 50px;
    font-size: 15px;
    line-height: 1.2;
    display: flex;
    text-align: center;
    position: absolute;
    border-radius: 50px;
    margin-right:auto;
    margin-left: auto;
    left: 85%;
    righht:0;
    top:50%;
    padding:1px;

    Des Weiteren ist die Klasse ‚bubble‘ auch dafür da, um mit dem Stop-Button die Sprechblase an sich vollends auszublenden (siehe Abschnitt Buttons.

    Die Klasse anim-typewriter

    Diese Klasse ist in CSS definiert. Sie sorgt für den Effekt der auftauchenden Sprechblase, wo der Text nach und nach erscheint.

    .anim-typewriter{
    animation: typing 7s steps(8,end) intinite normal both;
    -webkit-animation-duration: 7s;
    }
    @keyframes typing{
    from{width: 0;}
    to{width: 20em;}

    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.

    .bubble.bubble1{
    background:rgba(255, 255, 255, 0.30);
    padding: 6px 6px 4px;
    }
    .bubble.bubble2{
    background:rgba(26, 22, 95, 0.55);
    padding: 6px 6px 4px;

    Bubbletoggle: Der unendliche Text

    Eigene Abbildung: Der unendliche Text der Sprechblase
    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
    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.

    .hint{
    -moz-border-radius: 200px/200px;
    -webkit-border-radius: 200px 200px;
    border-radius: 200px/ 200px;;
    border:1px solid #52c7aa;
    width: auto;
    height:auto;
    outline:none;
    -webkit-animation-name: hintPulse;
    -webkit-animation-duration: 2s;
    -webkit-animation-interation-count: infinite;
    }
    @-webkit-keyframe hintPulse {
    from { -webkit-box-shadow: 0 0 3px #0c2720; }
    50% { -webkit-box-shado: 0 0 21px #52c7aa; }
    to {-webkit-box-shadow: 0 0 12px #246E5B; }
    }

    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.

    .wobble-vertical-on-hover:hover, .wobble-vertical-on-hover:focus, .wobble-verical-on-hover:active {
    -webkit-animation-name: wobble-vertical-on-hover;
    animation-name: wobble-vertical-on-hover;
    -webkit-animation-duration: 1s;
    animation-duration: 1.5s;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: 1;
    -webkit-animation-interation-count: 1;
    animation-interation-count: infinite;
    } /* Bewegungen der Animation wobble, aufgeteilt nach Prozent */
    @keyframes wobble-vertical-on-hover {
    16.65% {-webkit-transform: translateY(8px);transform: translateY(8px);}
    33.3% {-webkit-transform: translateY(-6px);transform: translateY(-6px);}
    49.95% {-webkit-transform: translateY(4px);transform: translateY(4px);}
    66.6% {-webkit-transform: translateY(-2px);transform: translateY(-2px);}
    83.25% {-webkit-transform: translateY(1px);transform: translateY(1px);}
    100% {-webkit-transform: translateY(0);transform: translateY(0);}
    }

    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!


    Dieser Beitrag ist im Studiengang Informationsmanagement an der Hochschule Hannover im Rahmen des Kurses Entwicklung von Multimediasystemen (Sommersemester 2020, Amy Linh Hoang,  Prof. Dr.-Ing. Steinberg) entstanden. Verwendete Techniken sind HTML5, CSS3 und JavaScript.

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

    BestOf Bachelor: Webseitenübergreifende Nutzerverfolgung ohne Verwendung von Cookies in der EU

    BestOf Bachelor: Webseitenübergreifende Nutzerverfolgung ohne Verwendung von Cookies in der EU

    In seiner sehr gut gelungenen Bachelorarbei behandelt Valentin Griese das Thema „Realisierbarkeit der webseitenübergreifenden Nutzerverfolgung ohne die Verwendung von Cookies in der Europäischen Union„.

    Abstract

    Die Nutzerverfolgung im Internet durch die Verwendung von Browsercookies ist gängige Praxis, doch haben diverse datenschutzrechtliche Entwicklungen der letzten Jahre zugunsten der Verbraucher diese Form des Trackings in vielerlei Hinsicht eingeschränkt und auch die Usability von Websites maßgeblich beeinträchtigt. Um weiterhin eine Personalisierung von Werbung und anderen Inhalten unter Wahrung der Nutzbarkeit und Rechte der Nutzer zu gewährleisten, ist es unausweichlich, eine neue Methode zur Identifizierung von Besuchern zu etablieren. Das Ziel dieser Arbeit ist, verschiedene Trackingtechnologien unter Berücksichtigung gegebener Rahmenbedingungen im Rechtsraum der Europäischen Union in ihrer Funktionsweise zu vergleichen und die nach derzeitigem Stand realistische Nachfolgetechnologie zum Tracking via Cookies zu benennen – Fingerprinting. Dieses überzeugt in Bezug auf seine Langlebigkeit und rechtliche Vereinbarkeit, den Implementierungsaufwand sowie den Umfang der sammelbaren Daten. Darauf aufbauend ist eine statistische Untersuchung zur Verbreitung von Methoden aus dem Feld des Fingerprintings auf den meistgenutzten Internetseiten durchgeführt worden. Dabei ergibt sich, dass Informationen, die zur Erstellung eines Fingerprints genutzt werden können, von fast allen Websites abgefragt werden, jedoch durchschnittlich nur wenige verschiedene Arten von Fingerprints genutzt werden. Auf einigen Websites werden durch größere dritte Unternehmen Fingerprints erfasst, der Opt-in-Status hingegen hat in den meisten Fällen für die Praktizierung von Fingerprinting keine Relevanz. Da Fingerprinting auch für schädliche Zwecke, zum Beispiel das Verteilen von potenterer Schadsoftware, verwendet werden kann, ist die Reaktion von Browserentwicklern und -nutzern auf die Entwicklung von derzeitigen und zukünftigen Fingerprintingkonzepten ungewiss, und auch die rechtliche Lage der nächste Jahre hängt von angekündigten Verordnungen ab, die in ihrem Inhalt noch nicht bekannt sind.

    Die Bachelorarbeit von Valentin wurde vorbildlich über SerWisS veröffentlicht und ist als Volltext zu finden unter:

    https://doi.org/10.25968/opus-1717

    Bildquelle:  unsplash.com/dor_farber