MApps: Optimierung des eStudy Moduls Literatur für iPhone

Aus THM-Wiki
Wechseln zu: Navigation, Suche


Das Literaturmodul von eStudy ist im derzeitigen Zustand kaum für mobile Endgeräte geeignet. Dies betrifft sowohl die Benutzeroberfläche, hier besonders die bevorzugte Eingabemethode, als auch der angebotene Funktionsumfang, von dem Teile weniger auf mobilen Endgeräten benötigt werden dürften.


Dokumentation
Arbeitstitel MApps: Optimierung des eStudy Moduls Literatur für iPhone
Kurs Mobile Applications
Semester SS 10
Teilnehmer Paul-Christian Volkmer


Literaturwolke

Das oben dargestellte Element der Benutzeroberfläche ist die sogenannte „Literaturwolke“. Sie eignet sich gut um eine mehrdimensionale Darstellung von Begrifflichkeiten anzuzeigen (vergleiche hierzu die „Kurswolke“ in eStudy). In der hier verwendeten Tagcloud wird die Schriftgröße anhand der eingestellten Literatur, die einem bestimmten Begriff zugeordnet ist, variiert. Je größer die Schrift, je mehr Literatur wurde diesem Begriff zugeordnet. Durch einen Klick auf ein Element wird eine eventuell vorhandene Unterkategorien und direkt zugeordnete Literatur dargestellt. Die Unterscheidung, ob eine Unterkategorie oder direkt zugeordnete Literatur angezeigt werden soll, wird dadurch unterschieden, ob direkt auf den Text, oder auf dem, beim Überfahren des Textes mit dem Mauszeiger sichtbar werdendes Häkchen, angeklickt wurde.

So übersichtlich diese Form der Darstellung und Benutzung auf einem Desktoprechner sein mag, so scheitert die Benutzung auf einem mobilen Endgerät schon alleine daran, dass es hier keinen Mauszeiger gibt. Eingaben werden hier direkt auf dem Bildschirm durchgeführt (Touchdisplay). Zudem ist die Größe des Displays bei zahlreichen Geräten auf eine Größe und Auflösung beschränkt, die nicht annähernd an das herankommt, was auf Desktopgeräten Verwendung findet.

Bezogen auf die oben vorgestellte Tagcloud, bzw. „Literaturwolke“ ergeben sich hier vielfältige Probleme: Kein Mauszeiger/ Hovereffekt wie auf einem Desktopsystem mit Maus – Keine Differenzierung zwischen der Auswahl Unterkategorie/Literatur Beschränkte Größe des Displays – Nicht genug Platz für die Tagcloud Elemente der Tagcloud könnten zu klein werden um sie treffsicher betätigen zu können. Eine Mindestgröße würde hier allerdings weiteren Platz auf dem Display in Anspruch nehmen. An dieser Stelle sollten alternative Bedienelemente verwendet werden, die bei der Benutzung einfacher zu handhaben sind. Hier könnte eine einfache Listenansicht, sortiert nach Häufigkeit, die Bedienung einfacher gestalten. Ebenso ist eine Eingabe eines Suchwortes denkbar, welche passende Literaturempfehlungen ausgibt.

Einstellen von Literatur

Benutzeroberfläche dient im oberen Teil dem Einstellung von Literatur. Im unteren Teil kann Literatur aus einem anderen Kurs angezeigt werden.

Die generelle Frage an dieser Stelle ist die Frage nach dem Sinn einer solchen Benutzeroberfläche und Funktionalität auf einem kleinen mobilen Endgerät. Sollte ein Benutzer hier die Möglichkeit haben, auch Literatur über ein mobiles Endgerät einstellen zu können? Dazu gehört die Eingabe eines Suchbegriffs oder einer ISBN, was zunächst kein Problem darstellt, jedoch ist die Eingabe eines beschreibenden Textes zu dieser Literatur etwas aufwändig und sollte bei einer mobile Anwendung nicht umgesetzt werden.

Literaturliste

In dieser Ansicht ist ein Ausschnitt aus der Literaturliste zu einem Kurs oder Begriff dargestellt. Gerade auf mobilen Endgeräten ist es jedoch nicht sinnvoll, sofort alle Informationen darzustellen, sonder sich auf das nötigste zu beschränken. Dies könnte zum Beispiel in Listenform mit folgenden Informationen geschehen:

  • Titel
  • Autor
  • Erscheinungsjahr
  • Kurs/Kategorie

Durch einen „Touch“ auf das entsprechende Listenelement wird dann eine, an die Bildschirmgröße angepasste Version dieser Ansicht angezeigt. Durch einen „Zurück“ Button ist der Anwender jederzeit in der Lage, wieder zur Listenansicht zurück zu kehren.

Umsetzung eines mobilen Moduls

Das Literaturmodul ist ein innovativer Teil von eStudy, der bereits in der Desktopversion häufig genutzt wurde. Die Umsetzung in einer Art, welche auch für mobile Endgeräte geeignet ist, muss hier andere Wege gehen, als sie für den Desktop bestritten wurden.

Anforderungen an den Prototypen

Anknüpfend an weiter oben genannte Punkte ist gerade in desem Modul die Reduktion von Informationen erstrebenswert. Hierzu sind folgende Eigenschaften vorgesehen:

  • Anzeigen einer Literaturliste für den aktuellen Kurs/ aktuelle eCom.
  • Filterung nach Links, bzw. Büchern.
  • Textuelle Eingabe entfernt.
  • Präsentation der eingestellten Literatur als Grafik

Der Schwerpunkt liegt hier auf dem Erkennen der Literatur, welche in einem Kurs empfohlen wird. Zu diesem Zweck sind die grundlegenden Information, wie z.B. Buchcover (Wiedererkennungswert), Autor und Einsteller direkt zugänglich, weiterführende Informationen werden dahinter bzw. untergeordnet angezeigt.

Prototyp mit jQTouch

Bei der Erstellung eines Prototypen wurde als Vorgabe die Verwendung des JavaScript-Fameworks jQTouch auferlegt. Zunächst wurde begonnen, die gewünschten Daten so zu strukturieren, dass sie mit Hilfe von jQTouch derart dargestellt werden können, dass dies auf einem mobilen Endgerät angezeigt werden können. Hier hat sich eine Listenansicht als die Geeignetste herausgestellt.

Das Modul bildet die Literatur eines Kurses in 2 Ebenen ab:

  • Literaturliste
  • Buchcover / Detailinformationen

Hat ein Anwender eine Literatur aus der Literaturliste gewählt, gelangt er zunächst, sollte es sich um ein Buch handeln, zum Buchcover und kann zu diesem Titel weitere Informationen angezeigt bekommen. Handelt es sich um einen Link auf eine externe Webseite, wird hierzu sofort die Detailseite angezeigt. Beiden Ansichten ist gemein, dass sowohl ein Buch, als auch ein Link die Möglichkeit bietet, direkt zur referenzierten Seite im Internet zu gelangen. Im Falle von Büchern ist dies die Webseite des Buchanbieters, für Links ist dies die Webseite, auf die dieser Link verweist.

Nachdem grundlegende Fragen der GUI-Gestaltung geklärt waren, wurde damit begonnen, ein Datenmodell mit Zugriffsmöglichkeiten auf die benötigten Daten zu implementieren. Ziel war es hier den statischen Prototypen derart anzupassen, dass er in der Lage war dynamisch Inhalte, also Buch- oder Linkinformationen zur Laufzeit nachzuladen. Hierzu wurden einige Funktionalitäten von jQTouch erweitert (vgl. hierzu eStudy2Go.js). Das Modul ist durch diese Änderungen in der Lage eine dynamisch erstellte Liste der Kursliteratur zu laden und bei Auswahl einer Literatur die entsprechenden weiteren Informationen ebenfalls dynamisch nachzuladen.

Da jedoch die restliche Anwendung nahezu vollständig ein statischer Prototyp ist, ist dies mit einigen Einschränkungen verbunden: So ist es derzeit nicht möglich sich am Portal anzumelden. Ein Benutzer wird daher übergangsweise immer die Literatur eines festgelegten Kurses zu sehen bekommen. Ein Kurswechsel ist derzeit auch noch nciht möglich.

Ein Prototyp der Anwendung kann hier angesehen werden.

Diskussion: Data-Storage

Das Modul wird auf Daten der Tabellen user, courses, books, booklinks und booklits zugreifen. Um eine lokale Benutzung zu ermöglichen, müssen diese Daten lokal verfügbar gemacht werden. Die user-Tabelle enthält die generellen Daten eines Benutzers, bspw. den Vor- und Nachnamen, die Benutzergruppe oder die Benutzerkennung. Die restlichen Tabellen books, links und booklits enthalten Informationen über die entsprechende Literatur und die Tabelle courses enthält Informationen, die einen Lurs betreffen.

Die Literaturansicht erfolgt Kursbezogen, daher muss die Kurs-ID, welche in der Tabelle booklits enthalten ist in den Kursnamen umgesetzt werden, welcher in der Tabelle courses zu finden ist. Equivalent verhält es sich zum Benutzernamen, der eine Literatur empfohlen hat. Der reale Name ist in der Tabelle user zu finden.

Die 3 Tabellen, welche sich ausschließlich auf die Literatur beziehen, sind in der Form aufgebaut, dass die Tabelle booklits generelle Information zu einer Literatur enthält. Dort ist der Typ der Literatur festgelegt, anhand der auch auf die Tabellen books und booklinks verwiesen wird. Diese beiden Tabellen enthalten die Kursbezogenen Informationen zu einem Literaturvorschlag, da ein solcher in mehreren Kursen angeboten werden kann.

Die Information, in welchem Kurs sich ein Anwender gerade befindet, wird in der Session gespeichert. Dies ist eine generelle Vorgehensweise bei eStudy, als auch bei eStudy2Go. Wird ein Kurswechsel vollzogen, so ist immer eine Verbindung zu einem Server erforderlich.

Aus diesem Grund wäre es möglich, alle kursbezogenen Literaturinformationen bei einem Kurswechsel vom Server abzufragen und lokal zu speichern. Dies gelingt jedoch nicht mit den Buchcovern, die nur als Link auf die Anbieterseite vorliegen. Sollten diese Grafiken auch noch beim Kurswechsel geladen und gespeichert werden, so würde der Kurswechsel, gerade bei einer EDGE-Verbindung und einer großen Anzahl an Literatur, wesentlich länger dauer und eine Benutzung nahezu unmöglich machen. Ein Zwischenspeichern jedes Buchcovers würde auf der anderen Seite den Speicher auch sehr belasten.

Zusatzaufgabe

Im Kurs "Mobile Applications" wurde eine Bonusaufgabe gestellt um Zusatzpunkte im Umfang von bis zu 15% zu erhalten. Um diese Bonusaufgabe zu erfüllen, wurde eine App entwickelt, welche die aktuelle Uhrzeit im neologen Format anzeigt. Um diese Zusatzaufgabe zu erfüllen, wurde diese Apps für iOS (iPhone), sowie für Android entwickelt. Die Apps sind jedoch nicht offiziell in den entsprechenden Stores verfügbar, da die Kosten für die Anmeldung in diesen nicht unerheblich sind.

Die beiden Apps können, sollte der Wunsch bestehen, auch im Kurs vorgestellt werden. Beide Apps im Vergleich zeigen anhand des Codes die Unterschiede und Gemeinsamkeiten der beiden Plattformen iOS und Android.

Die iPhone-Version wurde komplett in Objective-C geschrieben, ohne Verwendung von Cross-Compilern. Die Android-Version in Java.

--Paul-christian.volkmer:mni 10:03, 31. Jul. 2010 (CEST)