Technologie

BASIC App [7%]: Wie der Lifecycle einer Software die Entwicklung unserer App bestimmt

geschrieben von Dennis Hüggenberg

Du betreibst einen eigenen Blog mit WordPress, hast Erfahrung mit HTML5, CSS und JavaScript und wolltest eigentlich schon immer eine eigene App für deinen Blog entwickeln? Dann bist du hier genau richtig. Begleite mich auf der Reise vorbei an spannenden Technologien sowie nützlichen Werkzeugen, die für die Entwicklung und Steuerung eines erfolgreichen Projektes benötigt werden bis hin zur BASIC thinking-App. Aktuell stehen wir bei ca. 7 Prozent der Entwicklung. // von Dennis Hüggenberg

Was wird dich in dieser Kolumne erwarten: Einfach ausgedrückt geht es darum, dass BASIC thinking eine eigene, mobile App bekommen wird, die du dir am Ende des Projektes auf dein Smartphone laden kannst. Das, was sich dahinter verbirgt, ist aber ein langer Prozess, den wir gerne mit dir gemeinsam beschreiten wollen. Es soll ein offener Prozess werden, indem du dein Feedback aktiv mit einbringen und an der Optimierung der App mitarbeiten kannst, wie Tobias im ersten Teil der BASIC App-Serie schon beschrieben hat.

Bevor man die erste Zeile Code schreibt, muss man sich zuerst die Frage stellen: Auf welcher mobilen Plattform soll die App laufen? In Deutschland ist Android mit einem aktuellen Marktanteil von 75,1 Prozent der unangefochtene Platzhirsch. Apples iOS reiht sich mit 13,2 Prozent dahinter ein. Bei der Zielgruppe unserer App, also den BASIC thinking-Lesern, ist das Verhältnis aber genau anders herum. Diese Erkenntnis hat natürlich große Auswirkungen auf die Reihenfolge der Implementierung einer App für das Online-Magazin. Wir möchten mit der Entwicklung einer App für das Apple-Universum beginnen und dann mit möglichst geringem zusätzlichem Aufwand auch eine App für Android-Geräte anbieten.

Die Wahl der richtigen Plattform

Doch wie soll das funktionieren? Die einfachste Variante ist es eine Web-App zu entwickeln. Dann würde man lediglich beim Starten der App eine URL aufrufen, die dann eine mobile Website anzeigt. Der große Vorteil: In diesem Fall würde die App auf allen Geräten gleich aussehen. Das große Problem: Native Funktionen eines mobilen Betriebssystems, wie z.B. das Empfangen von Push-Notifications oder die Verwendung der Kamera, könnten nicht genutzt werden, da von einer Website nicht auf das Smartphone zugegriffen werden kann.

Dann doch lieber eine native App für jedes Betriebssystem entwickeln? So könnte man auf alle Funktionen des Smartphones zurückgreifen. Der Aufwand wäre aber erheblich. Klares Fazit: Das muss einfacher gehen. Aber wie? Der Schlüssel versteckt sich hinter den hybriden Apps. Bei dieser Art von Apps wird das Grundgerüst, etwa das Design, sowie die wichtigsten Funktionen in HTML5, CSS und JavaScript programmiert. Nur die Funktionen, bei denen auf Funktionalitäten eines Smartphones zugegriffen wird, müssen für jedes System separat programmiert werden.

Für die Entwicklung der BASIC thinking-App habe ich mich für die hybride Variante entschieden. Dabei wird das Framework Ionic zum Einsatz kommen. Was das genau ist, werde ich dir in den weiteren Episoden dieser Serie näher erläutern, dieser E-Mail-Newsletter hält dich darüber auf dem Laufenden.

Der Lifecycle der BASIC thinking-App

Das Entwickeln von Apps reiht sich in die Welt der Softwareentwicklung ein. Ich möchte dir anhand meiner vereinfachten Darstellung des Lifecycles eines Softwareproduktes die wichtigsten Phasen der Entwicklung aufzeigen.

dhue-lifecycle-basic-app-infografik

Der Lifecycle einer App

1. Schritt: Definieren

Zu erst beginnt man, die Anforderungen an eine App zu definieren. Man skizziert die unterschiedlichen Anwendungsfälle, die mit der App später durchführbar sein sollen. Es wird festgelegt, in welcher Umgebung die App laufen bzw. funktionieren soll.

Richtig. Mit unserem App-Projekt befinden wir uns exakt in dieser Phase. Wir haben oben schon beschrieben mit welcher Technologie wir entwickeln möchten. Als Grundfunktionen haben wir das Lesen und Teilen von Beiträgen definiert.

Je nach Verlauf denken wir auch über weitere Funktionen wie das Kommentieren und Push-Notifications in der ersten Phase nach.

So kannst du uns unterstützen: Sag uns, welche Funktionen dir in einer News-App am wichtigsten sind. 

2. Schritt: Designen

In der Designphase wird das sogenannte Visual Design der App erstellt. Das Farb-Konzept, die Schriftarten und -farben, die Klick-Folgen sowie das erste Template werden definiert und in einem Prototyp entwickelt.

3. Schritt: Analysieren

Beim Analysieren geht es darum, die in den ersten beiden Phasen definierten Anforderungen hinsichtlich Funktion und Design mit Blick auf die Machbarkeit und die zu erwartenden Aufwände zu bewerten und die Laufzeit des Projektes zu bestimmen. Während der Analysephase kann auch heraus kommen, dass die Anforderungen nicht mit dem Budget oder mit dem gesteckten Zeitplan übereinstimmen. In diesem Fall geht man einen Schritt zurück und ändert die Anforderungen bzw. das Design.

Für dich als späterer Benutzer der App wird es hier spannend: Du bekommst zum ersten Mal einen klickbaren Prototypen von mir an die Hand, den du testen kannst. Natürlich enthält der Prototyp nur Demo-Inhalte und das Teilen von Inhalten wird nur begrenzt möglich sein, dennoch wirst du hier einen sehr guten Überblick über das bekommen, was du später als fertige App aus dem App Store herunterladen kannst.

4. Schritt: Entwickeln

Zum Zeitpunkt der Entwicklung wird die App entsprechend den Anforderungen und dem Design entwickelt.

Für dich als Leser von BASIC thinking heißt es hier: Abwarten. Ich verspreche aber, dich in der Zwischenzeit mit spannenden Beiträgen rund um das Thema der App-Entwicklung zu versorgen.

5. Schritt: Testen

In der Testphase wird das Software-Produkt auf seine Funktionen sowie auf das Design hin ausführlich getestet. Hier kommen Werkzeuge wie Testpläne oder gar richtige Testtools zum Einsatz. Alle in der Testphase identifizierten Fehler werden behoben. Mein Tipp an alle Entwickler und Projektleiter: In den meisten Fällen werden während der Testphase weitere Wünsche seitens des Kunden geäußert. Dieser gilt es erst einmal im Backlog zu speichern und erst dann umzusetzen, wenn die Software den Anforderungen entspricht und noch ausreichend Zeit im Projekt zur Verfügung steht.

Wie du sicherlich schon festgestellt hast, wird die App in dieser Zeit den Lifecycle einige Male durchlaufen. Das Ausrollen verstehe ich dann in dieser Phase als die Auslieferung einer neuen Version für dich als BETA-Tester.

Die Closed-BETA startet: Sei einer der Ersten, die sich die App auf ihr Smartphone laden können und hilf mit, die Qualität der App zu verbessern und bringe deinen eigenen Ideen ein. Dieser E-Mail-Verteiler hilft, versprochen!

6. Schritt: Ausrollen

Der letzte große Schritt in einem Softwareprojekt: Der Rollout der Software an den Kunden und an die Benutzer. Für mich immer der spannendste Teil im Projekt. Hier zeigt sich, ob man seine Zielgruppe verstanden hat und ein Produkt auf den Markt gebracht hat, das einen wirklichen Mehrwert bietet.

Für dich als Leser bedeutet es: Du kannst die BASIC thinking-App aus dem Store herunterladen.

Das Äußere des Zirkels

Im Gegensatz zum Inneren des Zirkels, der das Tun und Handeln an der Software bestimmt, stellt der äußere Teil das Steuerungs- und Überwachungsorgan dar. Wie man erkennt, ist dieser Teil nicht in einzelne Bereiche oder Phasen aufgeteilt. Das bedeutet nichts anderes, als dass zu jedem Zeitpunkt der Fortschritt gemessen und eine Korrektur am Vorgehen vorgenommen werden kann. Für die Entwicklung der BASIC thinking-App werden wir uns daher Software zum Planen und Steuern von Softwareprojekten etwas näher ansehen.

So viel zur Theorie und ein paar grundlegenden Worten zum Vorgehen in einem Softwareprojekt. In der nächsten Episode zeige ich dir, wie du mit Hilfe von Social-Project-Management dein Softwareprojekt meisterst.

 ⇒ Alle Teile der BASIC App-Serie gibt es hier.
⇒ In den E-Mail-Verteiler für die BETA-Tester kannst du dich hier eintragen.

Über den Autor

Dennis Hüggenberg

Dennis Hüggenberg ist Projektleiter und Hobby-Entwickler. Kleine, raffinierte, mit schicken Oberflächen versehenen Applikationen faszinieren ihn. Freunde & Familie bilden das Zentrum seines Offline-Daseins.

11 Kommentare

  • Wie immer als Windows Phone-Besitzer wird man bei deutschen Anbietern nicht mal erwähnt.
    Trotzdem meine Frage, ob man auch daran denkt eine Universal App für Windows 10 und Windows 10 Mobile zu machen?

    • Hallo Thomas,

      ich kann das sehr gut nachvollziehen. Ich selbst habe den Versuch gestartet und habe 18 Monate ein Windows Phone besessen. Mit dem hybriden Ansatz ist es selbstverständlich auch möglich, eine App für andere mobile Plattformen zu erstellen und auf der bestehenden Entwicklung aufzusetzen. Windows Mobile steht bei uns natürlich auch auf der Agenda.

      Spannende Frage an die Community: Wem geht es denn ähnlich wie Thomas und wünscht sich ebenfalls eine App für das Microsoft-Universum? Antworten gerne in die Kommentare.

      Danke & viele Grüße
      Dennis

      • Ich schließe mich an als Tipp: googelt mal nach Projekt Westminster (Eine web app füprs Windows Universum samt der push natifocation, cortana und co). damit solltet ihr sehr schnell eine App bauen könnt. Inside (flipboard in England) hat das hinter sich gebracht. –> ihr könnt einen beitrag darüber verfassen.

        Tipp2: Projekt Astoria ohne aufwand (Stand heute bei vielen apps ohne google Anbindung) eine app aus android in das windows Universum. neuer beitrag 🙂

        Tipp3: Projekt Islandwood ohne aufwand aus IOS-Apps Windows Apps machen.

        Ihr könnt euch Erfahrungsberichte durchlesen und ggf. ein Beitrag machen. es gibt schon ziemlich viele und in einigen foren gibt’s ziemlich viele Beispiele von apps die gehen.

        Alle haben push, Cortana sind universal apps und können von Stand gestern 130 Millionen Geräten genutzt werden. –> neuer Beitrag.

        Da ihr in letzter zeit auch öfter im Entrepreneurship Umfeld schreibt, wären es passende Beiträge.

  • Eure Entwicklung klingt zwar schon recht „Lean“, allerdings kommt es mir nicht so vor als würdet ihr nutzerzentriert Entwickeln. Die User Test, die ihr geplant habt, decken noch lange nicht alle kritischen Aspekte der UX oder Usability ab. Somit lauft ihr weiterhin Gefahr ein Produkt zu entwickeln, was „keiner“ möchte, oder schlecht zu nutzen ist. Auch wenn ihr die Entwicklung 1A durchzieht, sind letztendlich und ausschließlich die Nutzer für den Erfolg oder Misserfolg verantwortlich. Erst wenn man es schafft die Bedürfnisse der Nutzer exakt zu adressieren, hat man den größten Risikofaktor minimiert. Dennoch Viel Erfolg! Und ich empfehle Lean UX 😉

    • Hallo Jules,

      vielen Dank für dein Feedback. Du hast vollkommen Recht: Das Projekt kann noch so gut geplant sein. Wenn die App nicht zum Benutzer oder zur Zielgruppe passt, dann hat man einfach keinen guten Job gemacht. Keine Frage.

      Daher wird es zwei Phasen geben, in denen jeder Benutzer aktiv in die Entwicklung eingreifen und seinen ganz persönlichen Eindruck mit in das Projekt geben kann:

      1. Nach dem Erstellen des Visual Designs werden wir einen klickbaren Prototypen veröffentlichen, der dir schon einmal zeigt wohin die Reise geht. Dieser soll dann schon sehr nah an der finalen App dran sein.

      2. Die Closed-BETA-Phase: Auch hier kann man noch auf Feedback reagieren und Dinge umstellen.

      Ich freue mich über jedes Feedback und wünsche dir noch viel Spaß bei der Serie.

      Viele Grüße
      Dennis

  • Was genau soll denn der Mehrwert der App zur Seite sein? Hab ich das überlesen, oder kommt das in einem der nächsten Teile noch?

    Das Problem ist ja, dass Apps, welche hauptsächlich nur den selben Inhalt wie eine Webseite bieten im App Store von Apple in den meisten Fällen abgelehnt werden.

    Ansonsten interessante Serie, bin gespannt auf weitere Teile. 😉

    • Hallo Lars,

      es stimmt. Nur den Content der Website anbieten wäre auch den Aufwand nicht wert 😉

      Es geht darum die Interaktion mit dem Leser zu optimieren und die App als persönlichen Kanal zum Leser hin zu verstehen. Was das genau bedeutet und welche Funktionen sich genau dahiner verstecken, dass wirst du in den kommenden Teilen der Serie lesen 🙂

      Viele Grüße
      Dennis

  • Wie immer als Firefox OS-Besitzer wird man bei deutschen Anbietern nicht mal erwähnt.

    (Danke für die Vorlage!)

    Mir erschließt sich auch noch nicht so ganz der Sinn der App. Warum eigentlich Ionic und nicht z. B. PhoneGap? (Gibt ja so einige Frameworks: http://www.sitepoint.com/top-7-hybrid-mobile-app-frameworks/)

    Und für das Web werden jetzt mit HTML 5+ auch APIs für Hardware-Funktionen standardisiert (Mozilla, die Macher von Firefox OS, sind da ganz gut hinterher ;-)). So bspw. eine Notifications API https://developer.mozilla.org/en-US/docs/Web/API/Notifications_API – Bluetooth wird noch eine Weile dauern …

    Ich frage mich von daher, welche Hardware-Zugriffe erforderlich sind, damit es unbedingt eine Hybride App werden muss …

    Gruß,

    André

  • Wenn es nicht nur darum geht einfach mal eine App zu entwickeln (nach dem Motto: Der Weg ist das Ziel), sondern auch erfolgreich damit zu sein, sollte man etwas Zeit und Energie in die Idee investieren, bevor man mit der App-Entwicklung beginnt.

    Ich empfehle Interviews mit 10 bis 30 Menschen aus der Zielgruppe, um abschätzen zu können, ob die Idee wirklich so vielversprechend ist wie erhofft. Meistens lernt man unheimlich viel bei diesen Interviews!

    Mehr zu dieser Methode gibt es hier: http://crafting-apps.de/blog/zwei-methoden-um-herauszufinden-ob-deine-app-idee-gut-ist/

  • Schöne Kolumne. Danke dafür. 🙂

    Zum Punkt „Wahl der richtigen Plattform“

    „Native Funktionen eines mobilen Betriebssystems, wie z.B. das Empfangen von Push-Notifications oder die Verwendung der Kamera, könnten nicht genutzt werden, […].“

    Mittlerweile gibt es ja die Progressive Web Apps. Mit denen sieht das schon etwas anders aus. Es ist durchaus möglich, auf die Kamera sowie auf Push Nachrichten zuzugreifen bzw. diese verschicken/empfangen zu können. Auch wenn man hier angeben muss, dass Push Nachrichten nur unter Android vollumfänglich funktionieren.