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.
Neue Stellenangebote
Praktikant – Digitales Lernen und Empowerment im Bereich Social Media (m/w/d) Allianz Kunde und Markt GmbH in Unterföhring (bei München) |
||
(Senior) Social Media Manager:in (m/w/d) – NRW TAS Emotional Marketing GmbH in Essen |
||
Social Media Assistant (m/w/d) Kanebo Cosmetics Deutschland GmbH in Hamburg |
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.
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.