Entwicklerblog zu Version 6.0 - 6.3.1

Liebe Nutzer und Freunde des Polizeiberichts,

nach einer sehr sehr intensiven Entwicklungsphase die sich über jetzt schon 5 Monate erstreckt wollen wir hier ausführlich über die neue Version 6 und Ihre Folge-Versionen berichten.



Hintergrund

In Version 5.11 hatten wir ein grundsätzliches Problem identifiziert, das die Ursache des Einfrierens unserer Anwendung sein könnte. Könnte, da wir in unseren tausenden Tests ( ohne Übertreibung), dieses Problem noch nie selbst feststellen konnten.

Lösung

Das Darstellen und Laden von Daten in allen Ansichten musste entkoppelt werden, da es wohl bei verschiedenen Herstellern sonst zum Hängenbleiben der Anwendung kommt. Dies benötigte umfangreichste Neu-Programmierung fast aller Teile der Anwendung. In tausenden Zeilen Quellcode.

Version 6.0 wurde mit diesen neuen Funktion und Änderungen veröffentlicht:

• Verhinderung das Anwendung nicht mehr reagiert (ANR).
(Entkoppelung Laden u. Darstellen v. Daten)
• Direktes herunterladen aller Berichte
-> Schubladenmenü links: "Inhalte vollständig laden"• Benutzerhandbuch vollständig überarbeitet und erweitert
+ Schnellzugriff per Schubladenmenü
• Verschieben von Anwendung auf SD-Karte (ohne Gewähr)
• Markieren und Kopieren aller Texte (zusätzlich zum Teilen)
• Fortschritsanzeige nun in der Kopfzeile und zusätzlich pro Bericht
• Logo beim Start anstatt leerem Bildschirm ("Splash screen")
• Animation beim Wechseln der Berichte (Tablets)
• Anwendung auf Englisch übersetzt. Weitere Sprachen folgen
• 98 Behördennamen wurde aktualisiert (Schreibweise)
• 4 veraltete Behörden gelöscht
• 9 neue Behörden importiert

Korrekturen:

• Sachsen-Anhalt: Fotos wieder verfügbar
• Spezialfall von "Anwendung reagiert nicht" behoben
• Parallele Ausführung nun abhängig von Ihrem Gerät (Anzahl Threads)
• App-Startzeit (kalt+warm) annähernd halbiert
• Hintergrundfarben des Intros optimiert
• Titelleiste kürzt Namen des Polizeiberichts nicht mehr ab (Huawei)
• Optimierung Suche

Schweiz:

• Kantone Aargau u. Schaffhausen: Laden von Berichten mit Sonderzeichen behoben


Folge 

Das Ergebnis von Version 6.0 war durchaus erfolgreich. Abstürze wurden um ca. 40 % und das "Einfrieren" um ca. 70% verbessert:





Google Play Bericht zu Version 6.0, Abstürze





Google Play Bericht zu Version 6.0, (ANR, App reagiert nicht)




Beim genauen Beobachten der automatischen Fehlerberichte von Version 6.0, traten 2 neue Probleme auf, die direkt in Version 6.1 gelöst wurden (Das System der Liste, Aufbau, Aktualisierung, etc. wurde durch ein System ersetzt, dass es damals bei Erstellung dieses Projekts so nicht gab)

Ebenso wurde ein extrem schwer zu identifizierendes Problem gefunden: Wurde die Listenlänge auf 300 Einträge beschränkt (Standardwert) dann ca. 20 Meldungen geladen und danach direkt mehr als 300, sprich das Listenlimit übertroffen, stürzte die Anwendung ab. Der Grund ist noch nicht klar und scheint ein internes Android-Problem zu sein, da das System der Beschränkung der Liste trivial ist und keine bekanntes Problem recherchiert werden konnte, dass dieses Phänomen beschreibt. Also musste diese Einstellung zu Gunsten der Stabilität entfernt werden. 
Ebenso wurden veraltete Methoden aus dem Dienststellenformular entfernt, dieses komplett umprogrammiert und eine fehlende Entkoppelung Laden und Darstellen von Daten behoben.

Anstatt wie bisher eine Bibliothek für das Intro zu verwenden haben wir dieses selbst programmiert. (Es gab ein Problem der Darstellung bei älteren Android-Versionen). Dort werden nun benötigte Berechtigungen abgefragt (Standort und Benachrichtigung (Android 13)). Dadurch konnte auch die Größe der Anwendung reduziert werden.

Eine weitere, sehr nützliche Einstellung ist das entfernen der Behördenkürzel. Bisher waren die Meldungen, wenn über DPA vertrieben, mit relativ langen und ab und zu verwirrenden Kürzeln versehen. Diese werden nun, seit Version 6.1, entfernt und erhöhen die Lesbarkeit:






Vor Version 6.1: Titel mit Kürzel






Version 6.1: Titel mit entferntem Kürzel




Die Option die Kürzel zu Entfernen ist optional und kann in unseren Einstellungen wieder deaktiviert werden.


Version 6.1

Korrekturen:

• System der Liste modernisiert
(Kein Neuaufbau mehr, dafür aus.- und einblenden neuer/gelesener Meldungen. Abstürze vermieden)
• Dienststellenformular technisch komplett überarbeitet u. Fehler behoben
• Einstellung "Listenlimit" musste entfernt werden. Dies führt in seltenen Fällen zu Abstürzen. Sobald es eine Lösung gibt, wird die Option wieder aktiviert
• Text im Schubladenmenü links wird nicht mehr abgeschnitten, wenn Textgröße des Telefons hoch eingestellt ist (Android 8+)
• Verbesserte Information wenn ein Server nicht antwortet (Überlastung, Wartung, etc.)
• Suchtext wird nun auch beim kompletten Anhalten der Anwendung wiederhergestellt
• Fortschrittsanzeige bleibt erhalten bei Wechsel der Ansicht
• Design der Dialoge vereinheitlicht
• Berliner Feuerwehr: Neues Meldungsformat implementiert

Neu:

• Einstellungen:
• "Behördenkürzel aus Titel entfernen" (standardmäßig aktiv)
• "Position der Liste beim Start wiederherstellen" (standardmäßig inaktiv)
(Dies ersetzt das alte, fehleranfällige und langsame System die Liste komplett zu speichern)
• Bayern: Anzeige der Verknüpfung zum O-Ton wenn vorhanden
• Neue Version des Intros. (Abfrage der Berechtigungen direkt beim Start)
• "Intro erneut anzeigen"-Schaltfläche in der Hilfe
• Durch Optimierung und Neuprogrammierung konnte die Anwendung um 3MB verkleinert werden (ca. 20%)



Lehren aus Version 6.1

Trotz extremster Anstrengungen und vieler weiterer Manntage gibt es immer noch Fehler und Abstürze auf eine geringen Anzahl von Geräten. Das System von Google Play meldet uns leider nur "Absturz" ohne weitere Informationen. So können wir natürlich nicht an der Verbesserung arbeiten, obwohl wir es natürlich versucht haben. 
Die Lösung: "Firebase Crashlytics". Dies ist ein System, dass im Falle eines Absturzes extra Informationen sendet: "Was wurde ausgeführt oder in welchem Teil der Anwendung gibt es ein Problem". Diese Information erhalten wir normalerweise bereits, nur eben nicht immer. 
Dieses System wurde nun implementiert und tatsächlich: Nicht nur erhalten wir mehr Informationen, sondern es scheint auch Abstürze zu geben, die das normale "Google Play"-System gar nicht an uns berichtet. Das ist natürlich fatal. Version 6.2 enthielt ebenso eine ganz neue Funktion: Automatische Übersetzungen

Thema Automatische Übersetzungen

Wir haben zu erst mit unserem "Lieblingsanbieter" deepl.com (Ein deutsche Firma aus Köln) experimentiert. Deren Übersetzungen sind von extrem hoher Qualität. Es können ganze Artikel übersetzt werden und der Kontext der Übersetzung ist immer korrekt und das Ergebnis beeindruckend. Weit besser als ein Übersetzung von Google.
Das System wurde implementiert und funktionierte reibungslos. Leider kamen wir nicht über einen Test hinaus. Der Grund sind die Kosten des Systems. Bei unserer relativ großen Nutzerzahl (Mehrer hundertausende Anwender) wäre das Kontingent sofort erschöpft, selbst wenn jeder Benutzer nur einmal einen Test durchführt. Deepl.com skaliert also nicht gut genug für unser kleines Budget. Die Endkosten auf deren Webseite waren etwas versteckt. Ein Schelm wer böses dabei denkt.

Wir haben recherchiert und ein freies Übersetzungsystem gefunden, dass wir jetzt anbieten können. Die Übersetzungen beinhalten leider einige Fehler und sind Wort-wörtliche Übersetzungen. Einige sind sehr gut, einige sind etwas amüsant. Wir ziehen jedoch dieses System vor, da wir hier die volle Kontrolle haben und nicht tausende von Euros im Monat zahlen müssen.

Die Ausgangssprache des Artikels wird automatisch erkannt. Es kann dann in den Einstellungen eine der folgenden Zielsprache ausgewählt werden:

 

🇸🇦 Arabic
🇦🇿 Azerbaijani
Catalan
🇨🇳 Chinese
🇨🇿 Czech
🇩🇰 Danish
🇳🇱 Dutch
🇬🇧 English
Esperanto
🇫🇮 Finnish
🇫🇷 French
🇩🇪 German
🇬🇷 Greek
🇮🇱 Hebrew
🇮🇳 Hindi
🇭🇺 Hungarian
🇮🇩 Indonesian
🇮🇪 Irish
🇮🇹 Italian
🇯🇵 Japanese
🇰🇷 Korean
🇮🇷 Persian
🇵🇱 Polish
🇵🇹 Portuguese
🇷🇺 Russian
🇸🇰 Slovak
🇪🇸 Spanish
🇸🇪 Swedish
🇹🇷 Turkish
🇺🇦 Ukrainian



 

Original Meldung auf deutsch


 

 

Fertige Übersetzung, zum Beispiel ukrainisch

 

 



Version 6.2

Neu:

• Übersetzung der Berichte, siehe Einstellungen (Testphase)
• "Crashlytics" implementiert zum besseren Identifizieren von Abstürzen
• Einstellungen Aktualisierung Design


Nachbearbeitungsphase von Version 6.2

Mit Version 6.2 hatten wir erstmals seit Jahren wieder eine öffentliche Testphase angeboten. Sie haben eventuell eine Benachrichtigung auf Ihrem Telefon erhalten. Die Lehren daraus:

Negativ:

 - Leider erhalten wir keine Fehlerdaten von Anwendern die an der Testphase teilnehmen. 

So macht es natürlich keinen Sinn, neue Funktionen anzubieten, wenn wir nicht sehen können ob es hier ungeplante Abstürze oder ähnliches gibt. Der Grund ist uns noch nicht bekannt.
Positiv:

 -  Nur beim Erstellen einer Testversion und beim Anbieten dieser per "Google Play", erstellt dieses System einen automatischen Bericht über extrem viele Details zu unserer Anwendung. Einen Bericht, den wir gerne einmal früher gesehen hätten. Zugegeben das System ist wohl neu, aber dennoch erhalten wir diesen Bericht nicht wenn wir eine neue Version veröffentlichen. Warum dies so ist, bleibt das Geheimnis vom "Google Play"-Team. 

Pre-Launch Bericht von Google Play

Hier ein Auszug für Interessierte aus dem von Google Play erstellten "Pre-Launch"-Bericht ( Elemente automatisch markiert von Google Play) :





Abstände zwischen Elementen zu klein um Sie einfach bedienen zu können





Farbwerte haben zu geringen Kontrast.


Diese Probleme waren uns natürlich bekannt, nur hat uns Google auch Hilfestellung in Form von speziellen Tools geliefert, um die Kontrast-Werte von Farben in Kombination mit Hintergründen korrekt zu berechnen. So, dass ein Lesen mühelos sicher gestellt ist. Dies wurde früher von uns geschätzt. Dann später als wir das dunkle Farb-Thema angeboten haben, kamen diese Farben aus den berechneten Vorgaben von Google selbst und wurden deshalb nicht mehr angefasst. Ein Irrtum, wenn Sie jetzt Vorher und Nachher vergleichen: 

Vorher





Vor 6.3: Das grün war zu hell auf weißem Grund




Vor 6.3, dunkles Thema: Zu dunkel für den gewählten Hintergrund


Nachher





Version 6.3: Dunkleres Akzent-Grün




Version 6.3, dunkles Thema, grelleres Grün und Textfarben angepasst






Aus diesen Erkenntnissen resultierte eine weitere Version:


Version 6.3
Neu:

• Alle Farben/Kontraste (hell/dunkel) für bessere Lesbarkeit neu berechnet
• Abstände zwischen Schaltflächen für bessere Bedienbarkeit vergrößert
• Die Google Play und AppGallery Version des Polizeiberichts sind nun identisch. Es wurde dafür ein neuer Eintrag (App) auf AppGallery erstellt. Dies spart uns viel Arbeitszeit die wir für wichtigere Dinge benötigen.



"Crashlytics"-Berichte helfen weiter

Wie immer veröffentlichen wir eine neue Version schrittweise, zum Beispiel an 5% der Benutzer. Dadurch können wir eingreifen sollte etwas unvorhergesehenes eintreten, trotz unserer ausführlichen internen Tests. Version 6.1 und 6.2 wurden also nur einem Teil der Benutzer angeboten. Bis wir dann mit dem Ergebnis zufrieden sind und ein vollständiges Verteilen gutheissen können. Dies war jeweils aber nicht der Fall, da wir interessante Informationen per "Crashlytics" erhielten. So auch wieder heute, Mittwoch den 1.3.2023. Eigentlich sollte Version 6.2 allen angeboten werden, Google Play meldet keine großen neuen Probleme aber "Firebase Crashlytics" zeigt uns plötzlich etwas anderes an:

Die neue Funktion dass der Text im Schubladen-Menü nicht mehr abgeschnitten wird, sorgt bei einigen Samsung-Geräten zu Abstürzen. Wir konnten das Problem identifizieren und beheben. Dies trat, wie so oft, nur bei Samsung-Geräten auf und dann, wenn ein Benutzer eine sehr große Schrift am Gerät eingestellt hatte. Hintergrund ist, dass die Option "Gelesene ausblenden" das letzte Wort "ausblenden" bei großer Geräte-Schrift abschnitt, wegen Platzmangels. Es stand dort also "Gelesene" und der Knopf an/aus. Dies führte wohl zu Verwirrung bei einigen Benutzern da es im Prinzip das Gegenteil bedeutet.

Die Lösung ist, den Text im Schubladen-Menü zu fixieren. (geändert in Version 6.1) Es gibt dort nun einmal keine Platz mehr zum skalieren. Nur mit Hilfe von "Crashlytics" erhielten wir Informationen, dass dies bei Samsung-Geräten noch nicht richtig funktioniert. Wir haben es untersucht, behoben und auf Samsung-Geräten erfolgreich getestet.

Das Ergebnis, Sie ahnen es: Erneut eine weitere Version:


Version 6.3.1

• Absturz bei Samsung-Geräten behoben, die eine sehr große Schriftgröße eingestellt hatten


Diese Version wird gerade Verteilt. Es gibt immer noch eine kleine Anzahl von Problemen, die aber so selten auftreten, viel Zeit zum recherchieren benötigen, dass dies nicht rechtfertigt, dass die breite Masse nicht Zugang zu Version 6.3.1 erhalten sollte. Darin werden wichtige Fehler behoben und Funktionen angeboten, die wir nicht weiter vorenthalten können. Selbstverständlich überwachen wir immer die aktuelle Situation von Abstürzen oder "einfrieren". 

Wir bedanken uns ausdrücklich für die Meldungen, Ihr mitmachen bei der offenen Beta-Testphase und Ihre Unterstützung bei der Verbesserung des Polizeiberichts. Wir hoffen Sie finden weiterhin Gefallen an unserem Projekt.



Viele Grüße,
alt tech software










Kommentare