Apps für Android programmieren leicht gemacht!

3 Dinge, die man während der Entwicklung vermeiden sollte

Der Software Entwicklungszyklus kann mit großen und vor allem unangenehmen Überraschungen für den Unachtsamen verbunden sein.

Es gibt viele Dinge, die den Entwicklungsprozess verlangsamen können, ganz stoppen oder in unerwünschte Richtungen führen.
Dinge wie zum Beispiel Programmfehler, falsch durchdachte Projektkonzepte oder unnötige Funktionen. All diese Dinge können in Verzögerungen im Entwicklungszyklus führen, die Qualität der App beeinträchtigen, zu einem Flop der App führen oder aber den Start der App verzögern.

In diesem Artikel werde ich einige dieser Gefahren durchgehen und versuche Ideen zu bieten, um die ungewollten Probleme zu vermeiden.

 

Programmfehler:

Programmfehler oder auch Bugs können überall zwischen einfachen Störungen in der Benutzeroberfläche, bis hin zu schwerwiegenden Programmfehlern reichen, die die App lahm legen. Auch wenn kleinere Störungen in der Benutzeroberfläche nicht schlimm erscheinen mögen, so könnte ein falsch angezeigter Button ein paar Nutzer verschrecken. Egal ob klein oder groß. Programmfehler sind eine der am häufigsten auftretenden Probleme in der Entwicklung einer App.

Das Problem ist, wenn man nicht eine sorgfältige und gut geplante Vorgehensweise zum identifizieren und beheben der Probleme hat, könnte die Behebung eines Programmfehlers in vielen Weiteren enden. Man wird sich genau dann schwer tun alle Fehler zu beheben, wenn sich bei einem gelösten Fehler 5 neue Bugs auftun. Dies kann den Entwicklungsprozess zum Stillstand bringen. Im schlimmsten Fall führt dieses Problem zur Aufgabe der Entwicklung und das bevor die App überhaupt veröffentlicht wurde.

Es gibt keine App, die jemals völlig fehlerfrei sein wird! Es gilt jedoch, das Beste daraus zu machen und so viele Fehler wie möglich zu eliminieren. Viel schlimmer als Bugs, die während des Entwicklungszyklus auftreten, sind jene, die erst bekannt werden, wenn die App bereits online ist. Auch wenn wir nicht alle Nutzerfehler, Umweltbedingungen oder Systeme testen könne, so können wir versuchen das meiste abzudecken und nach der Veröffentlichung auf unsere Nutzer zu hören.

  • Häufige Tests helfen enorm gegen das Entstehen von Fehlern. Klar es hält die Programmierung etwas auf, aber nichts ist schlimmer, als hunderte Zeilen Code zu debuggen und nicht zu wissen, wo der Fehler liegt. In 10 neuen Zeilen Code, die getestet werden, kann man viel besser einen Fehler finden.
  • Testszenarien durchspielen kann auf auftretende Eventualitäten in der „freien Welt“ rüsten. Klar, wie bereits angesprochen kann man nicht auf alle Nutzerfehler vorbereitet sein, aber ihr als Entwickler solltet versuchen eure App auch mal so zu benutzen, wie sie eigentlich nicht zu benutzen ist. Drückt während des Ladevorgangs die Home- oder Zurücktaste. Beendet die App, an einer unerwarteten Stelle oder gebt in eure Zahlenfelder mal Text ein.
  • UTF-8 ist ein Zeichensatz, der zwar Umlaute unterstützt, aber häufig nicht der Standard ist. Solltet ihr vor allen Dingen Daten aus dem Internet beziehen oder Textdateien speichern, so versucht diesen Zeichensatz zu verwenden. UTF-8 sollte auf allen Geräten vorhanden sein.
  • Keep it simple, stupid„, heißt es in der Philosophie von Arch Linux. Hinter dem – zu Deutsch übersetzten Satz „Halte es einfach, Dummkopf“ – steckt ein sehr wichtiger Tipp. Je einfacher eine Funktion/Methode/Aufgabe, desto einfacher ist es darin einen Fehler zu finden und desto weniger Fehler schleichen sich ein. Solltet ihr doch einmal vor einer schweren Aufgabe stehen versucht diese Aufgabe in Teilmethoden zu unterteilen. Funktioniert es am Ende, kann man die Teilmethoden getrost wieder zusammensetzen.

 

Die richtige Projektplanung:

Eine gute und vor allen Dingen richtige Projekplanung ist das A und O in der Entwicklung einer Android App.
Hier müssen wir jedoch zwischen drei Arten von Planung unterscheiden. Der Projektplanung und der Detailplanung. Was ich damit meine werde ich im folgenden Abschnitt noch weiter erläutern.

Wir sollten uns vielleicht zu Beginn einer groben Idee überlegen, auf welche Zielgruppe unsere Idee abzielt. Je nach Zielgruppe können wir uns überlegen, welche Möglichkeiten und Funktionen unsere App bieten sollte. Dies bezeichne ich mal als 1. Art der Planung.

Haben wir unsere Grundidee mit einigen Möglichkeiten und Funktionen erweitert, ist es an der Zeit den zweiten Schritt zu tätigen.
Wir sollten uns nun überlegen welche Bereiche unsere App haben sollte und was in diesen Bereichen getätigt werden kann.

Der dritte Schritt -und damit die zweite Art der Planung- besteht aus dem Planen der einzelnen Bereiche unter der Berücksichtigung, dass unsere weiteren Bereiche darauf abgestimmt sein sollten.
Ich rate persönlich dazu direkt nach der Planung eines Bereiches diesen auch zu programmieren oder bei größeren Teams den Auftrag zur Programmierung zu verteilen. Diese Vorgehensweise spart Entwicklerteams Zeit und damit Geld, Privatpersonen spart es Zeit und unter Umständen Nerven. Es kann nämlich von Bereich zu Bereich vorkommen, dass wir neue Funktionen finden/verwerfen.
Korrekturen auf einer bereits fortgeschritteneren App durchzuführen ist nicht immer ganz einfach.

Die dritte Art der Planung würde ich persönlich als die Designplanung ansehen.
Nachdem unsere App steht können wir anfangen ein bestimtes Design zu entwicklen/implementieren. Dies ist besonders dann sinnvoll, wenn unser Design die Entwicklung der Funktionsweise im Weg steht und diese verzögert.

 

Unnötige Funktionen vermeiden:

Klar ist, dass zusätzliche Funktionen zu einer Differenzierung unserer App führt. Wir heben uns von der Masse der Apps ab.

Ein sehr hoher Funktionsumfang muss sich aber auch in unserem Design niederschlagen. Was bringt es uns, wenn unsere App 100 Dinge mehr kann aber keine genutzt werden kann. Mit vielen neuen Funktionen kommen immer neue Knöpfe, Texte, Menüs, Bereiche, etc. hinzu. Hier könnten wir den Nutzer vielleicht verwirren und von der Nutzung verschrecken.

Apple bietet hier ein recht gutes Beispiel.
Apple Produkte können mehr, als man eigentlich meinen mag, denn die sind gut und vor allem übersichtlich in das Design eingepasst.

Überlegt euch vor der Implementierung und Planung einer neuen Funktion, ob diese einen wirklichen Mehrwert bietet, genutzt wird und ob sich das mehr und mehr „versaute“ Design rentiert.

Ein weiteres Beispiel wäre die Telgram App.
Hier herscht eine harte Konkurrenz -man denke an Whatsapp-. Eine Differnzierung wird durch Werbe- und Medienchats und Kanäle erreicht. Doch ist diese Differenzierung auch sinnvoll? Ich habe noch keine dieser eben angesprochnen Möglichkeiten genutzt.
Als Sinnvoll erachte ich hingegen die Sticker.

Marvin

Ich bin 23 Jahre jung und studiere zurzeit Wirtschaftsinformatik an der Georg-August-Universität in Göttingen. Ich bin ein Mensch, der sich neben der Programmierung noch für tausend andere Dinge interessiert, die mal mehr und mal weniger verrückt sind. Vor allem aber bin ich Feuer und Flamme mit der Programmierung von eigenen kleinen Apps und Programmen, die mein Leben bereichern.

Kommentar hinzufügen

*Pflichtfeld