FileSize - Entwicklung wird eingestellt

In den letzten Wochen habe ich viel in mein altes Projekt FileSize geschaut. Angefangen hat alles mit notwendigen Changes, um weiter mit den Google Play Richtlinien kompatibel zu sein. Weiter ging es mit diversen Bugs die behoben wurden oder sogar ein neues Feature baute ich ein.
Dann kam die Überraschung der verpflichtenden Nutzung des Storage Access Framework open_in_new ab Android 10. Hier steckte ich ebenfalls viel Arbeit hinein. Ich bin in diesem letzten Bereich zu ca. 80 Prozent fertig, allerdings gibt es diverse Probleme, welche ich nicht wirklich zufriedenstellend lösen kann. Zum Ersten ist das SAF leider sehr langsam, sodass ein Scan nach großen Dateien statt wenigen Sekunden, mehrere Minuten dauern kann. Ebenfalls störend ist das initiale Einrichten, welches mittels mehreren Schritten durch den Nutzer geschehen muss. Ich kann dort leider nicht helfen und diverse Otto-Normal-Nutzer werden hier Probleme haben.
Als Programmierer habe ich außerdem das Problem, dass die Basis des Projekts schon älter ist und es entsprechend ohnehin ein paar Ecken und Kanten gibt, füge ich nun aber an diversen Stellen einen Pre- und Post-Android-10 Switch ein, steigert sich die Chance das Dinge kaputt gehen ungemein. Zu guter Letzt bietet z.B. die Files App open_in_new unter Android nun auch einen Bereich zum Aufräumen des Geräts. Neben großen Dateien findet man hier doppelte Dateien, Junk und Daten von nicht verwendeten Apps.
Ich habe mich schlussendlich, trotz der diversen Stunden der letzten Wochen, dazu entschieden FileSize nicht mehr weiterzuentwickeln. Die Nutzerzahlen sanken in den letzten Monaten stark und das zu Recht und die besagte Android 10 Integration ist aktuell nicht wirklich zufriedenstellend machbar. Somit macht es Sinn das Projekt einzustellen, vor allem da ich es nicht in der Qualität entwickeln kann, welche ich mir als Mindestvoraussetzung gesetzt habe. Apps mit ähnlicher Funktionalität gibt es mittlerweile und ich habe dadurch mehr Zeit mich auf meine aktuellen Flutter und Android Projekte zu fokussieren.
Ich werde FileSize im Laufe des Tages aus dem PlayStore entfernen und hoffe bald wieder eine Release würdige App zu haben, denn gar nichts im Store zu haben ist irgendwie etwas schade, vor allem wenn man diverse Projekte zu 90-95 Prozent fertig hat.
FileSize Update und das Storage Access Framework

Vor ca. 14 Tagen schrieb ich ihm Rahmen meiner I’m a Coder Reihe über ein geplantes, kleines Update meiner App FileSize. Selbiges sollte eigentlich bereits letzte Woche erscheinen, aber aus kleineren Anpassungen, Fehlerbehebungen und einem neuen Feature, wurde ein größerer Umbau.
Grund dafür ist Androids Storage Access Framework open_in_new, welches zwar seit Android 4.4 (API Level 19) vorhanden ist, aber nun mit Android 10 Pflicht für den Zugriff auf Ordner und Dateien wird. Da diese Funktionalität der Kern meiner App ist und das Storage Access Framework durchaus neu und ungewohnt für mich ist, dauert die Entwicklung etwas länger.
Denn das Storage Access Framework sorgt nicht nur für Änderungen an internen Abläufen, sondern benötigt auch Anpassungen an der UI und an generellen Abläufen. Außerdem wechsle ich nur für Android Versionen größer gleich 10 auf das Storage Access Framework. Denn neben besseren Sicherheitsstrukturen, ist es leider in der Handhabung, sowohl für den Entwickler, wie auch für den Nutzer und im Bereich der Performance, signifikant problematischer als die normale Java File API. Konkret bedeutet dies mehr Abfragen und Dialoge für den Nutzer und langsamere Scans bei der täglichen Nutzung.
Generell begrüße ich Änderungen, die die Sicherheit verbessern, das Storage Access Framework wirkt allerdings, trotz des fortgeschrittenen Alters, etwas unhandlich und unfertig. Vielleicht liegt dies an meiner mangelnden Erfahrung mit selbigem, ich konnte allerdings diverse Berichte von Entwicklern lesen, denen es zumindest ähnlich geht. Ich hoffe trotzdem die neue Funktionalität im Major Release 4.0 von FileSize bald veröffentlichen zu können.
Kotlin für Android lernen - Kotlin Bootcamp

Der geneigte Java Entwickler wird vermutlich im letzten Jahr nicht nur einmal über Kotlin gestolpert sein. Nicht ohne Grund wird Kotlin aktuell als der quasi Nachfolger von Java gehandelt, denn die moderne neue Sprache bietet diverse Verbesserungen, hält aber größtenteils die Kompatibilität zu Java und den dazugehörigen Libraries.
Im Android-Bereich ist Kotlin bereits die Nummer 1 Empfehlung, wenn es um die App-Entwicklung geht. Speziell für diesen Bereich und um die Sprache allgemein zu lernen, gibt es diverse gute Ressourcen und relativ neu ein komplettes Online-Bootcamp. Dieses beinhaltet diverse Kurse mit aufeinander aufbauenden Inhalten, die euch die Sprache und die Konzepte näher bringen und vor allem die Vorteile im Android-Bereich aufzeigen sollen.
Ich persönlich bin aktuell zeitlich einfach komplett ausgelastet, wodurch es mir schwer fällt außer Dart + Flutter noch etwas Neues zu lernen, plane aber für die nächste ruhigere Zeit den besagten Codelabs einen Besuch abzustatten. Denn ich denke als Android-Entwickler wird Kotlin langsam aber sicher Pflicht und auch in meinen anderen - eigentlich Java vorbehaltenen - Entwicklungsgebieten dürfte Kotlin von Vorteil sein.
Android Studio 3.5

Android Studio ist die IDE meiner Wahl zur Entwicklung von Android und Flutter Apps. Entsprechend viel bin ich im genannten Programm unterwegs und freue mich über Updates, egal ob man Funktionen oder generelle Verbesserungen bekommt. Android Studio 3.5 ist jetzt ca. einen Monat verfügbar und fokussiert sich eher auf Verbesserungen, Performance und die Stabilität.
Im Rahmen von Project Marble legte man den Schwerpunkt auf die grundlegenden Funktionen, Flows und Strukturen und wollte selbige so stabil und performant wie möglich machen. Für mich persönlich fühlt sich die neue Version dabei sehr gut und schnell an. Konkret wurden interne Abläufe geschaffen, um die Performance und eventuelle Fehler innerhalb der IDE besser finden zu können. Anschließend wurden basierend auf den Daten über 600 Bugs, 50 Memory Leaks und 20 Freezes behoben. Meiner Meinung nach - aus der Perspektive eines Softwareentwicklers - eine wirklich beachtliche Zahl.
Google Play Pass angekündigt

Abos für Filme, Serien und PC-Spiele kennen wir und erst vor kurzem brachte Apple selbige auch auf die mobilen Geräte (Apple Arcade) und nun zieht Google nach. Der Google Play Pass, welcher vorerst nur in den USA verfügbar ist, wird über 350 Apps und Spiele auf euer Smartphone bringen. Keine Werbung, keine In-App-Käufe und das Ganze für 4,99 Dollar pro Monat. Zum Einstieg kann man 10 Tage lang testen und für einen begrenzten Zeitraum gibt es das Zwölf-Monats-Abonnement sogar für 1,99 Dollar pro Monat.
In der Content Auswahl befinden sich große und bekannte Apps und Spiele (z.B. AccuWeather, Terraria und Monument Valley), aber auch unbekannte Perlen (z.B. Mini Metro und Old Man’s Journey), sodass es auch einiges zu entdecken geben soll. Was konkret dabei ist könnt ihr den Related Links entnehmen, auch wenn wir in Deutschland ohnehin noch etwas warten müssen. Ein konkretes Datum für weitere Länder ist derzeit noch nicht bekannt.
Ich persönlich spiele sehr wenige Handy-Spiele, außer ich bin im Urlaub und habe etwas Ruhe. Dort Spiele ich dann auch gerne etwas länger und in diesem Kontext bevorzuge ich dann auch komplexere und umfangreichere Spiele, die für längere Sessions ausgelegt sind. Ich werde den Play Pass im Auge behalten, aber vermutlich nicht zuschlagen, da es sich Preis- / Leistungsmäßig für mich einfach nicht lohnt. Was denkt ihr zum Thema Abonnements im mobilen Bereich?
Droidcon 2019 - Videos der Sessions sind online

Die Droidcon 2019 fand dieses Jahr leider ohne mich statt, weswegen ich mich umso mehr freue das nun die Videos der Sessions online sind. Somit kann man nun auch als nicht Teilnehmer alles relevante zu neuen Techniken, Lessons Learned und Android generell erfahren. Ich kann als Android-Entwickler nur sagen, dass meine bisherigen Droidcon-Besuche immer lehrreich und interessant waren und ich mich dementsprechend freue bald ein paar der Sessions nachholen zu können. Den nötigen Link findet ihr direkt in den Related Links.
Flutter - Quartalsumfrage zum Framework-Zustand

Falls ihr im Flutter Universum unterwegs seid wäre es mal wieder möglich sich etwas einzubringen. Aktuell gibt es wieder den Quartalsmäßig erscheinenden Fragenbogen zu Flutter und wie ihr den aktuellen Stand des Frameworks findet. Hier könnt ihr auf Bereiche hinweisen die euch nicht gefallen oder loben was besonders zufriedenstellend ist.
Der Fragebogen ist auf Englisch verfügbar und dauert einige Minuten, allerdings wird zumindest meinem Gefühl nach das Feedback ernstgenommen und auch gehört. Entsprechend kann ich jedem der mit Flutter arbeitet nur empfehlen diese Minuten zu opfern und zu helfen das gesamte Flutter Ökosystem zu verbessern. Den Fragebogen findet ihr in den Related Links.
Android Q - Abschied von den Süßigkeiten

Während ich aktuell die neue Android Studio Version 3.5 teste, zu welcher bald eine weitere News folgt, wurde gestern der finale Name der nächsten Android Version bekanntgegeben. Es wird Android 10 heißen - keine Süßigkeiten, kein spezieller Name - einfach nur Android 10. Grund dafür ist vor allem die bessere Erkennbarkeit und einfacherer Einordnung durch Nutzer. So soll durch die Nummerierung schneller klar sein welche Version neuer und welche älter ist.
Zusätzlich wurden die Brand Farben und das Logo angepasst. Es gibt nun klarere Farben und der Roboter ist jetzt immer mit dabei. Dadurch soll eine bessere Lesbarkeit und Wiedererkennbarkeit gegeben sein. Zum Branding gibt es ein kleines Youtube Video im unteren Teil der News.
Allgemein finde ich es etwas schade, dass das Rätselraten rund um die Android-Namensvergabe ein Ende hat, auf der anderen Seite kann ich die Entscheidung aber auch nachvollziehen. Generell ist das Ganze wenn man ehrlich ist ja auch nicht die Welt und für die Nutzer ändert sich nichts, entsprechend kann ich die Änderung gut akzeptieren und freue mich auf ein hoffentlich bald erscheinendes Android 10 für mein OnePlus 5T.
Mobile Developer's Guide to the Galaxy - Neue Version erscheint

Solltet ihr euch für die Entwicklung von Apps oder generell Software für mobile Plattformen interessieren, könnte der Herbst vielleicht etwas Interessantes für euch bereithalten. Denn der Mobile DevGuide soll, sofern alles wie geplant läuft, im Herbst in einer neuen Version erscheinen (via Twitter open_in_new) und euch einen rundum Einblick zum Thema Mobile Development geben. Vor allem falls ihr neu in diesem Bereich seid oder falls ihr mal etwas neues ausprobieren wollt, dürfte dieser große Überblick vielleicht hilfreich für euch sein. Das Ganze wird wieder kostenlos zur Verfügung stehen und vermutlich sowohl online, wie auch als Print-Version erscheinen.
Ich freue mich auch dieses Jahr wieder bei der Entstehung des Guides zu helfen und kann euch nur empfehlen einen Blick hinein zu werfen, sobald die neue Version erscheint. In der Zwischenzeit könnt ihr die letzte Ausgabe in den Related Links finden, ebenso wie weitere Informationen zum Projekt, den Autoren und Möglichkeiten selbst involviert zu werden. Falls ihr Fragen habt meldet euch einfach direkt in den Kommentaren.
Humble Book Bundle: Coding & App Development

Als App-Entwickler komme ich nicht drum herum das Humble Book Bundle: Coding & App Development by Packt zu erwähnen. Noch ca. sechs Tage lang ist das Bundle aktiv, welches euch bis zu 25 Bücher und Videos bringt. Gewohnt günstig könnt ihr mit den ersten fünf starten, denn diese gibt es bereits ab einem Dollar. Weiter geht es mit acht Dollar oder direkt mit 15, wobei die letzte Stufe ganze zwölf weitere Bücher und Videos hinzufügt.
Ihr erhaltet unter anderem Learn Flutter and Dart to Build iOS and Android Apps, Learn Qt 5, Mastering iOS 12 Programming, Android 9 Development Cookbook, React and React Native und Hands-On Web Development with Vue.js.
Mit diesen Inhalten erhaltet ihr Einblick in quasi alle aktuellen Techniken zur Entwicklung von Apps und Software im Allgemeinen. Neben Webtechniken, gibt es Android, iOS und Cross-Platform Inhalte. Aufgrund der Menge der unterschiedlichen Informationen überlege ich aktuell auch zuzuschlagen, obwohl mir etwas die Zeit fehlt für weitere neue Sprachen, Konzepte oder Frameworks.
