© prettyboy80/Shutterstock.com
UI-Design im Fokus

Es geht doch auch ganz leicht


Im mobilen Bereich kann man Android nicht ignorieren. Viele Entwickler sind in der Windows-Welt zu Hause und fragen sich, wie leicht oder schwer der Einstieg in die Entwicklung von Apps für Android-Geräte ist. Wir probieren es – in diesem Teil mit Fokus auf das UI-Design.

In der letzten Ausgabe des Mobile Technology Magazins haben wir uns mit den Grundlagen der App-Programmierung für Android-Systeme beschäftigt. Das Ziel – eine erste „Hello World“-App – haben wir nach Installation und Konfiguration der Entwicklungsumgebung geschafft. In dieser Ausgabe wollen wir den Weg fortsetzen und uns primär mit dem UI-Design, also der Gestaltung des Aufbaus der Pages beschäftigen (Kasten: „Android für Windows-Entwickler – Ein Einstieg in drei Teilen“). Dabei wollen wir erneut die Position eines Entwicklers einnehmen, der in der Windows-Welt zu Hause ist und bewusst nach Parallelen und Unterschieden zwischen beiden Systemen suchen. Für Windows-Systeme erfolgt die Gestaltung des UI auf der Basis von XAML (Desktop, Windows-8-Apps, Windows Phone). XAML ist ein XML-Dialekt. Hier findet sich eine erste Gemeinsamkeit: Für den strukturierten und hierarchischen Aufbau des UI verwendet auch Android XML. Doch bevor wir uns mit den technischen Aspekten beschäftigen, sind einige grundsätzliche Vorbemerkungen zur Konzeption und zum Entwurf App im Allgemeinen und des UI im Speziellen angezeigt. Als Beispiel wählen wir die Umsetzung eines bekannten und einfachen Spiels (Kasten: „Beispiel mit Spaß und Potenzial“).

Android für Windows-Entwickler – Ein Einstieg in drei Teilen

In dieser Artikelserie präsentieren wir einen kompakten Einstieg in die Entwicklung von Apps für mobile Endgeräte mit Android-System.

Teil 1: Einführung in die Plattform, Erstellen einer ersten App, Test

Teil 2: UI-Design, Layoutbasis ist eine Beschreibung in XML, grundsätzliche Hinweise zu Konzeption und Entwurf

Teil 3: Auch eine App hat eine Fachschicht: Umsetzung der funktionalen Anforderungen in Java, Hinweise zu App-spezifischen Besonderheiten (Sensoren, Internetzugriff, Datenaustausch)

Beispiel mit Spaß und Potenzial

Der Entwicklungszyklus wird anhand eines Beispiels verdeutlicht. Gewählt wurde dazu das bekannte Spiel „Schiffe versenken“. Dieses hat schon vor der Computerära zu interessanten virtuellen „Gefechten“ geführt. Die nachfolgende kurze Beschreibung des Spiels basiert auf [1]. Es wurde bereits Ende des 19. Jahrhunderts gespielt und hat sich in seiner Grundstruktur nicht geändert. Es werden mindestens zwei Spieler benötigt. In diesem Fall hat jeder Spieler zwei 10 x 10 Felder: das eigene und das gegnerische Kampfgebiet. An den Seiten werden Buchstaben (A bis J) und an den oberen Rändern Zahlen (1 bis 10) notiert. In das eigene Feld trägt man – ohne Kenntnis des Mitspielers – seine Flotte ein. Schiffe werden durch zusammenhängende Kästchen symbolisiert. Über die Anzahl und Größe der Schiffe und über die Art der Platzierung sollten vor Beginn Einigkeit herrschen. Grundsätzlich gelten folgende Regeln:

  • Die Schiffe dürfen nicht aneinander stoßen.

  • Die Schiffe dürfen nicht über Eck gebaut sein oder Ausbuchtungen besitzen.

  • Die Schiffe dürfen auch am Rand liegen.

  • Die Schiffe dürfen nicht diagonal aufgestellt werden.

  • Jeder verfügt über insgesamt zehn Schiffe (in Klammern die Größe): ein Schlachtschiff (5), zwei Kreuzer (je 4), drei Zerstörer (je 3) und vier U-Boote (je 2). Durch die Wahl von kleineren Schiffen erhöht sich die Möglichkeit von Fehlschüssen und das Spiel dauert länger. Nach der Auslosung, wer zuerst schießen darf, nennt dieser die Koordinaten, z. B. B7. Der Gegner antwortet darauf mit folgenden Optionen „Wasser“, „Treffer“ oder „versenkt“. Wenn alle Felder des Schiffs getroffen sind, ist das Schiff versenkt. Der Schießende notiert dies in seiner zweiten Matrix. Der Beschossene muss die Treffer ebenfalls markieren. Er weiß damit, wann ein Schiff versenkt wurde. Es wird entweder abwechselnd geschossen oder immer so lange, bis ein Schuss ins Wasser geht. Dieses ist im Vorfeld festzulegen.

Dieses Spiel wurde u. a. deshalb ausgewählt, weil es bezüglich der App-Entwicklung folgende Vorteile und Erweiterungsoptionen bietet:

  • einfaches und allseits bekanntes Spielprinzip

  • Mehrspielermodus über Internet oder Einzelspielermodus gegen Computer

  • Unterstützung anderer Plattformen denkbar (iOS, Windows 8, Windows Phone)

App-Lebenszyklus aus Entwicklerperspektive

Auch wenn eine App lediglich über einen begrenzten Umfang an Funktionalität verfügt, ist eine umfassende Planung notwendig. Der Lebenszyklus einer Anwendung beginnt mit der Idee/dem Auftrag. Es folgen die Konzeption und das Design, die Produktion (Implementierung), die Installation – für Apps also üblicherweise die Bereitstellung über den Store der Plattform. Weitere Aufgaben sind ggf. die Organisation des Supports, das Bereitstellen von Updates zur Fehlerbereinigung und fortwährenden Anpassungen an erweiterte Bedürfnisse. Schaut man sich die Einsatzbedingungen einer App gegenüber einer klassischen Desktopanwendung an, so stellt man folgende entscheidende Unterschiede fest:

  • Apps werden für eine spezielle Aufgabe erstellt und haben einen begrenzten Funktionsumfang.

  • Die Gestaltung des UI ist stark reduziert. Die Bedien­elemente ergeben sich direkt aus dem Content und sind nur im minimal notwendigen Umfang vorhanden.

  • Eine intuitive Bedienung ist zwingend. Nach dem Starten muss die Funktionsweise klar sein.

  • Der Vertriebs- und Installationsweg ist meist eindeutig und führt i.d.R. nur über den Store.

  • Apps bieten technisch betrachtet nur eine sehr eingeschränkte Möglichkeit zum Zugriff auf die System­umgebung. Berechtigungen hierfür muss der User erst erteilen.

  • Konfigurationsmöglichkeiten der App durch den Anwender sind während des Installationsprozesses meist nicht vorgesehen.

  • Apps werden meist für einen anonymen Markt produziert. Natürlich existieren auch Aufträge von Unternehmen, jedoch sind die (potenziellen) Nutzer auch dann oft anonym.

  • Die Updatezyklen sind im Regelfall sehr kurz. Verbesserungen, Fehlerkorrekturen und Funktionserweiterungen münden meist in einer neuen Version, die direkt über den Store ausgeliefert wird. Die User akzeptieren häufige Updates besser als bei klassischer Software.

  • Es existieren grundsätzliche Richtlinien zur Gestaltung des UI und der Einhaltung bestimmter technischer und funktionaler Bestimmungen. Für die Aufnahme in den Store wird die Einhaltung bestimmter Mindestanforderungen geprüft. Nur dann hat die App eine Chance. Für Android finden sich die aktuellen Richtlinien unter [2].

  • Das Marketing für Apps basiert größtenteils auf Mund-zu-Mund-Kommunikation bzw. auf Empfehlungen über soziale Kanäle.

  • Die Lizenzgebühren für eine App sind meist sehr gering bzw. die App wird kostenfrei angeboten. Die Finanzierung erfolgt über die Bereitstellung von kostenpflichtigen Content bzw. durch die Schaltung von Werbung innerhalb der App.

  • Für viele Verwendungen existieren mehrere Apps, d. h. der Anwender hat oft eine gute Auswahl.

  • Die Benutzer sind nicht bereit, lange Lade-, Such- oder Rechenvorgänge zu akzeptieren. Man erwartet eine sofortige Reaktion der App auf eine Benutzeraktion.

  • Das Nutzungsumfeld (Smartphone, Tablet) unterscheidet sich wesentlich von einer Nutzung von Software auf dem Notebook oder Desktop-PC.

  • Anwender nutzen unterschiedliche Systeme (Android, iOS, Windows 8) und erwarten dennoch, dass die App auf allen Systemen verfügbar ist und sich das UI überall gleich anfühlt.

  • Über den Store können und geben die Nutzer direktes und kurzes Feedback. Der Erfolg einer App kann damit unmittelbar gepuscht oder zunichte gemacht werden.

  • Bei Nichtgefallen ist die App in wenigen Sekunden deinstalliert. Die...

Neugierig geworden? Wir haben diese Angebote für dich:

Angebote für Gewinner-Teams

Wir bieten Lizenz-Lösungen für Teams jeder Größe: Finden Sie heraus, welche Lösung am besten zu Ihnen passt.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang