Tessa App - Version 2.0 steht vor der Tür

Eines von meinen verschiedenen laufenden Projekten ist die Tessa App. Eine App die als Companion-App für Reiter gedacht ist. Initial entwickelt für meine Frau, wurde das Feature-Set recht umfangreich und ich entschied mich sie für jedermann über den Play Store open_in_new verfügbar zu machen. Die App wird dort nun seit längerem mit Updates und kleineren Erweiterungen versehen.
Nun steht nach längerer Entwicklungsphase ein umfangreiches Update mit neuen Funktionen, einer modernisierten UI und verbesserter Performance vor der Tür. Die UI wird dabei auf Googles Material Design 3 open_in_new basieren, welches ich entsprechend in Flutter umgesetzt habe. Flutter 3 open_in_new unterstützt bereits diverse Material 3 Komponenten und die restlichen habe ich selber entsprechend angepasst. Im Bereich der Features wird es möglich sein mehrere Aktivitäten an einem Tag hinzuzufügen und der Bereich für Pferde-Daten wurde erweitert, sodass man diverse relevante Gesundheitsdaten hinterlegen kann. Im Bereich der Performance erfolgten massive Verbesserungen und ebenfalls umfangreiche Bugfixes. Auf die konkreten Details und weiteren Neuerungen werde ich im Rahmen der Release Notes eingehen.
Flutter Plugins & Packages - Eine neue News-Sammlungen

Flutter bietet eine große Menge an Plugins und Packages (via pub.dev open_in_new), die euch bei der Entwicklung eurer Apps helfen sollen. Ich selber nutze einige davon und habe auch schon selber welche geschrieben, weitere Informationen dazu im Projekte Bereich. Da die Auswahl aber sehr groß ist und man manchmal gar nicht genau weiß was man braucht, starte ich heute eine News-Sammlungen zu Plugins und Packages die ich viel nutze.
Die Begriffe Plugin und Package werde ich vermutlich beide benutzen, auch wenn ich versuche ein einheitliches Wording zu verwenden. Technisch ist der Unterschied bei diesen beiden übrigens wie folgt definiert. Ein Flutter Plugin interagiert auf die eine oder andere Weise mit nativem Code und stellt z.B. ein Interface für schon vorhandene native Bibliotheken zur Verfügung. Während ein Dart Package ausschließlich in Dart entwickelt wird. Hier könnte man als Beispiel Packages nennen, die neue Widgets einführen oder mathematische Formeln in Dart implementieren.
Amazon Prime Day gestartet

Der Prime Day ist da, wobei Day nicht ganz korrekt ist, da das Event zwei Tage lang aktiv ist. Heute und morgen gibt es in gewohnter Manier alles vom Fire TV, bis zum Paar Socken teils massiv reduziert. Auch wenn natürlich immer gilt das Preise vergleichen eine gute Idee ist, so konnte ich zumindest in den letzten Jahren immer mal wieder ein paar Sachen ergattern, mit deren Preisen ich durchaus zufrieden war. Ein Blick auf eure Wunschlisten und eine kleine Runde stöbern könnte vielleicht nicht schaden, um das eine oder andere gute Angebot mitzunehmen.
Ich persönlich werde immer mal wieder einen Blick riskieren. Konkret suchen tue ich dieses Jahr eigentlich nichts und entsprechend lasse ich mich einfach überraschen, ob vielleicht das eine oder andere Produkt dabei ist welches ich doch gebrauchen könnte.
Ich empfehle allen Prime Nutzern übrigens auch auf der Prime Gaming Webseite open_in_new vorbeizuschauen. Dort gibt es diverse teils hochkarätige Spiele gratis zum Download. Unter anderem mit dabei sind GRID Legends, Mass Effect - Legendary Edition und Need for Speed Heat. Für lau kann man hier wenig falsch machen würde ich sagen. Viele der Prime Gaming Angebote sind auch nur im Zeitraum des Prime Days verfügbar.
Device Marketing Names & Device Identifiers Updates

Es gibt wieder eine Runde Updates für meine Device Marketing Names & Device Identifiers Projekte. Am letzten Sonntag wurde Version 0.3.1 meines Device Identifiers Tools veröffentlicht, welches nun leicht optimierten Dart Code und Kotlin Code mit einem Hinweis zur Anpassung des Packages beinhaltet. Für alle die das Projekt nicht kennen, es sammelt automatisch Daten zu bekannten iOS und Android Geräten und erstellt daraus direkt im Code nutzbare Maps (Gerätemodell zu Gerätename).
Da man neben den Daten natürlich auch Libraries brauch die selbige im eigenen Projekt nutzbar machen, habe ich eine Dart / Flutter Library und eine Kotlin Library veröffentlicht. Beide wurden ebenfalls aktualisiert. Die neue Kotlin Version lautet 0.2.4 und in der Dart Welt sind wir bereits bei Version 0.4.1. Beide Updates beinhalten neue Datensätze, sowie aktualisierte Abhängigkeiten und minimale Code-Optimierungen.
Weitere Informationen findet ihr auf den jeweiligen Projektseiten und auf GitHub open_in_new, da alle genannten Projekten Open Source sind.
Android Studio Chipmunk - 2021.2.1

Ein weiterer Major Release für Android Studio wurde veröffentlicht. Version 2021.2.1, welche auch unter dem Namen Chipmunk bekannt ist, wurde vor wenigen Tagen veröffentlicht und ist vor allem ein Update welches die Stabilität und Performance verbessern soll.
An neuen Funktionen wurde der Compose Support verbessert. Hier ist es nun möglich Previews für Composables mit der animatedVisibility API zu nutzen und auch Library Modules können nun Previews nutzen.
Ebenfalls neu sind Verbesserungen am Profiler, wodurch ihr vor allem in Verbindung mit Android 12 eventuellen Jank enttarnen könnt. Dadurch soll es besser möglich sein eventuelle Performance Probleme aufzudecken und zu entfernen.
Auch wenn es ansonsten keine größeren Änderungen gab, so wurde unter der Haube wie gewohnt einiges verbessert und aktualisiert. Ein Update ist somit wie gewohnt zu empfehlen. Ich konnte bis dato keine Probleme feststellen und auch etwaige Plugins aus dem Android und Flutter Bereich waren bei mir durchweg kompatibel.
Android Studio - Unscharfe Interface Darstellung beheben

Vor wenigen Tagen musste ich einen neuen Windows Laptop als Entwicklungssystem einrichten und entsprechend installierte ich auch Android Studio. Alles lief soweit gut, bis zu dem Moment als ich den zweiten Monitor anschloss. Sobald ich Android Studio auf dem zweiten Monitor platzierte wirkte alles unscharf und ich dachte erst meine Augen spielen mir einen Streich. Nachdem mein Kollege das Problem aber bestätigte machte ich mich etwas schlau und fand die Lösung nach kurzer Recherche.
Android Studio passt die Skalierung des User Interface basierend auf den Daten des primären Monitors an. Hat selbiger eine geringere Auflösung als der zweite Monitor, wie in meinem Fall (Laptop-Monitor 1920x1080, zweiter Monitor 2560x1440), dann sieht die Anzeige auf dem Gerät mit der höheren Auflösung verwaschen aus.
Die Lösung ist relativ einfach, denn man muss lediglich innerhalb der Windows Monitoreinstellungen (Rechtsklick auf den Desktop / Anzeigeeinstellungen) den Hauptmonitor auf den Monitor legen welcher die höhere Auflösung hat. Auf diesem Weg wird Android Studio auf beiden Monitoren korrekt dargestellt.
Device Marketing Names - Kotlin Version 0.2.3

Weiter geht es mit den Release News. In den letzten Wochen gab es bereits einiges in diesem Bereich und sofern es nach mir geht werden die nächsten Monate diesen Trend fortsetzen. Heute geht es um eine neue Library, welche seit kurzem verfügbar ist. Device Marketing Names ist ein Name welcher schon häufiger hier im Blog fiel, aber dabei ging es immer um die Dart / Flutter Variante meiner Lookup Library für Gerätenamen.
Ab jetzt gibt es auch eine Kotlin Version, welche vor allem im Bereich der nativen Android Entwicklung genutzt werden kann. Die aktuellen Version 0.2.3 ermöglicht ein einfaches Mapping vom aktuellen Gerät oder eines bereits bekannten Models auf den verbreiteteren Gerätenamen. Selbiger kann z.B. in Logs oder User-Agents genutzt werden. Die Library bietet verschiedene Methoden, welche hoffentlich die meisten Use Cases abdecken.
Device Marketing Names - Version 0.4.0 Update

Weiter geht es mit den Updates. Heute geht es um die Version 0.4.0 meiner Dart / Flutter Library Device Marketing Names. Selbige nutzt mein erst vor kurzem erwähntes Device Identifiers Tool, um einen einfachen Lookup von Gerätenamen zu ermöglichen.
In Version 0.4.0 gab es einige grundlegende Änderungen, sowie Optimierungen. Allem voran gab es einen Breaking Change bei den zu nutzenden Methoden. Die alten wurden dabei Deprecated und werden in der nächsten größeren Version entfernt. Grund dafür ist, dass diverse neue Methoden hinzugefügt wurden und entsprechend die alten an das neue Namensschema angepasst werden mussten. Die neuen Methoden ermöglichen es nun die Library einfacherer für verschiedenen Use-Cases zu nutzen und gleichzeitig sollte alles leichter verständlich sein. Die Library gibt nun außerdem immer einen Wert zurück, welcher entweder der gefundene Name ist oder das Modell was zum Lookup als Eingabe geliefert wurde.
Durch Optimierungen im genutzten Datenset konnte die Größe der Library teils deutlich reduziert werden. Außerdem wurden alle Tests, die Beispielapp und diverse Interna an die Neuerungen angepasst und aktualisiert.
Für alle die meine Device Marketing Names Library nicht kennen, es handelt sich um ein Dart / Flutter Package, welches basierend auf dem aktuellen Gerätemodell oder einem vordefinierten Modell (iOS, Android, Browser) den jeweiligen Marketingnamen ausließt. Dafür wird ein umfangreiches und regelmäßig aktualisiertes Datenset genutzt. Alle Daten liegen lokal vor, ohne das eine extra Datenbankabhängigkeit benötigt wird.
Google I/O vom 11.-12. Mai

Auch dieses Jahr findet wieder die Google I/O statt. In ca. sieben Tagen, um genau zu sein vom 11. Mai bis 12. Mai, können wir uns über neue Informationen aus der Google Welt freuen. Das bedeutet neues rund um das Android Ecosystem, aber auch zu Flutter und diversen andere Google Produkten. Mich interessiert dieses Jahr vor allem ob man mit Material 3 weitergekommen ist. Denn wie ich hier schrieb, bin ich mit dieser Version der Designsprache eher mäßig glücklich.
Sofern ihr euch einen schnellen Überblick verschaffen wollt, besucht einfach die I/O Webseite. Dort findet ihr das Programm und könnt selbiges ohne großen Aufwand nach Themen und weiteren Kriterien filtern. Ich hoffe auf spannende neue Informationen und vielleicht eine neue stabile Flutter Version, mit kleinen feinen Neuerung. Interessiert euch die I/O auch und wenn ja was hofft ihr an neuen Informationen zu bekommen.
Device Identifiers - Version 0.3.0 Update

In der letzten Woche veröffentlichte ich eine neue Version meines Dart Tools Device Identifiers. In Version 0.3.0 wurde das Lookup Handling angepasst, sodass nun entweder der gefundene Name eines Geräts oder falls nicht gefunden das eingegebene Modell selbst genutzt wird. Dies macht die Nutzung einfacher und ermöglicht mir eine ganze Reihe an Einträgen aus der Lookup Datenbank zu entfernen. Dadurch konnte z.B. die Größe der Dart Version der Output Datei von 931 KB auf 587 KB reduziert werden. Ein durchaus markanter Unterschied. Abseits von diesen Anpassungen und Optimierungen wurden Fehler bei leerem Input behoben, das Escaping von Sonderzeichen verbessert und einige Detailverbesserungen vorgenommen.
Für alle die mein Tool Device Identifiers nicht kennen, es handelt sich um ein Dart Script, welches wöchentlich alle Android und iOS Gerätenamen einsammelt und in verschiedenen Programmiersprachen direkt nutzbaren Mapping-Code erstellt. Konkret wird eine Map erstellt die das jeweilige Gerätemodell, welches man auslesen kann, einem Namen zuordnet. Auf diese Weise kann man ohne extra Logik, Datenbanken oder andere Komplexität einen für den Nutzer verständlichen Gerätenamen auslesen und anzeigen. Genutzt werden die Output Daten von Device Identifiers aktuell in zwei meiner Libraries, wobei eine bereits hier erwähnt wurde (Device Marketing Names - Dart) und die Zweite in den nächsten Tagen Einzug erhält.