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.
OnUpgrade - Version 1.1.2 Maintenance Update

Wie vor einigen Tagen angekündigt bin ich derzeit dabei diverse Updates und neue Veröffentlichungen von Apps und Libraries vorzubereiten. Dieser Prozess hat in den letzten Tagen einige Fortschritte gemacht, sodass es in den nächsten Tagen einige News zu diesem Thema geben wird.
Den Anfang macht heute ein kleines Maintenance Update meiner Library OnUpgrade. Hier gibt es lediglich Updates der intern genutzten Abhängigkeiten, kleinere Optimierungen und einige Anpassungen und Verbesserungen bei der Dokumentation. Für mich persönlich ist es allerdings trotzdem wichtig derartige Updates durchzuführen. Denn aktuell Abhängigkeiten und eine aktive Pflege der eigenen Projekte ist meiner Meinung nach ein Qualitätsmerkmal.
Für alle die meine meine Library OnUpgrade nicht kennen, es handelt sich bei selbiger um eine Dart / Flutter Library, welche euch erlaubt bei der Installation von Updates eurer App Aktionen ausführen. Beispiele sind hier die Anzeige der Release Notes oder eine Migrationen von Daten. Falls ihr mehr erfahren wollt, folgt einfach den Related Links.
Der Blog, aktuelle und neue Projekte

In der letzten Zeit gab es etwas weniger Beiträge hier im Blog und das liegt neben einer kleinen Osterpause an diverse Projekten die ich aktuell voranbringen will. Da viele davon auch für die Öffentlichkeit bestimmt sind, möchte ich euch heute ein kleines Update geben.
Im Bereich der laufenden Projekte plane ich kleinere Verbesserungen und einen neuen Release meiner RestTender Lösung für Kommentare und die Suche hier im Blog. Vor allem Optimierungen und ein besseres Handling von Edge-Cases sind geplant, sodass keine offensichtlichen Änderungen für den Nutzer sichtbar sein dürften. Zum jetzigen Zeitpunkt ist dieses Projekt weiterhin für die interne Nutzung gedacht, je nach Interesse von euch plane ich aber auch hier eine Veröffentlichung als Open Source Projekt.
Weiter geht es mit meiner Android App Tessa - Reit-Assistent, welche in den kommenden Wochen mit neuen Features ausgestattet werden soll. Das Update für diese Closed Source App landet dann im Google Play Store, wo sie kostenlos heruntergeladen werden kann. Als neues Feature wird es unter anderem eine dedizierte Seite für Gesundheitsdaten geben. Welche neuen Funktionen es von der Roadmap noch in den aktuellen Release schaffen ist aktuell noch nicht ganz klar, es könnte allerdings noch weitere hilfreiche Neuerungen geben.
Mein Flutter Package Device Marketing Names und das dazugehörige Device Identifiers Projekt werden zeitnah mit Updates ausgestattet. Abseits der Aktualisierung der Datenbanken plane ich Optimierungen, um die Menge an Daten zu verkleinern und damit einhergehend auch Anpassungen am Handling selbst. Zusätzlich wird es, sofern alles klappt, neben dem Dart / Flutter Package bald auch eine Android Library geben, welches die Daten in der Java bzw. Kotlin Welt nutzbar macht. Diese Library wird als Open Source Projekt bei GitHub landen und via JitPack open_in_new als Dependency nutzbar sein. Alle Projekte in diesem Bereich sind öffentlich auf GitHub verfügbar.
Mein Flutter Package OnUpgrade wird einen Wartungs-Release erhalten und potentiell kleinere Optimierungen. Neue Funktionen sind aktuell nicht geplant, sofern es allerdings neuen Input bzw. Ideen zur Verbesserung des Packages gibt, werde ich hier wieder aktiver.
Einfache Check- / Todo-Listen mit Mason, Markdown und Git

In den letzten Monaten hatte ich immer wieder das Problem verstreute Check- / Todo-Listen in Textdateien zu nutzen. Diese findet man natürlich nicht wieder und reine Textdateien sind auch nicht gerade dafür bekannt übersichtlich zu sein. Wenn man später einen bereits abgearbeiteten Flow erneut durchführen möchte und sich an einer bestehenden Liste orientieren will, ist dies natürlich keine gute Ausgangsposition.
Aus diesem Grund habe ich mich nach simplen Tools umgesehen, die für meine Zwecke passend sind. Meine Anforderungen waren eine rein textuelle Eingabe ohne extra Tools und eine gute Integration in meine vorhandenen Abläufe, sowie die Speicherung auf dem lokalen Gerät, wie auch online. Ich brauche keine automatische Synchronisation mit meinem Handy, ich brauche keine Live-Synchronisation auf anderen Computern und ich möchte mich nicht mit weiteren Tools und Accounts auseinandersetzen müssen. Im Prinzip benötige ich sortierte, übersichtliche Textdateien, die ich direkt während meiner Arbeit mit den vorhandenen Tools nutzen kann, welche zusätzlich online gesichert werden.
Material Design 3 - Ist neu immer besser?

Material Design ist ein Thema welches ich schon häufig im Blog erwähnt habe, denn Googles Design Konzept für Web, Desktop und vor allem Mobile ist eines der wenigen die ich konkret nachvollziehen kann. Dies ist vor allem der Fall, weil man reale Dinge wie Papier bei diesem Konzept im digitalen Kontext nachbildet.
Nun wird aktuell Material Design 3 ein Thema, die neuste Version des Design Konzepts. Hier geht man neue Wege und arbeitet statt mit Schatten, welcher unterschiedliche Ebenen suggerierte, mit Farben. Selbige werden automatisch generiert oder manuell gesetzt und sollen durch Abstufungen der eigentlichen Hauptfarbe eine einheitliche Designsprache liefern. Außerdem bildet dies die Basis für das Dynamic Theming, welches auch unter dem Namen Material You open_in_new bekannt ist. Hier kann der Nutzer eine Farbe wählen, welche dann die eigentliche Hauptfarbe der App ersetzt und die App nach den wünschen des Nutzer anpasst.
Server-Crash und Neuinstallation - Lynis

Nach meinen Server Problemen im letzten Jahr, habe ich versucht mein Setup zu optimieren. Dazu gehören diverse Anpassungen bei Abläufen wie Backups und der Statuserfassung, mehr Automatisierung z.B. bei der Einrichtung von Diensten und vor allem mehr Backups.
Im Bereich Software habe ich Lynis als zusätzliche Hilfe installiert. Ein Tool welches unter anderem diverse Einstellungen, die installierte Software und die Sicherheit überprüft. Am Ende erhält man dann eine Zusammenfassung mit Vorschlägen zur Verbesserung der Systemintegrität. Die Hinweise die man bekommt sollte man nicht blindlings anwenden, sondern sich informieren und bei Bedarf nutzen. Es sollte nicht das Ziel sein eine Wertung von 100 zu erhalten, denn die Hinweise sind zwar mitunter alle durchdacht, passen aber eben nicht zu jedem Setup.
AMD Software - Mehr FPS mit FSR und RSR

Gute Grafik ist wichtig, aber am Ende zählt die Performance. Denn was bringt ein Spiel welches gut aussieht, aber nicht flüssig läuft. In diesem Bereich versuchen die Grafikkartenhersteller neben der reinen Hardware, auch mit dem einen oder anderen Software-Trick mehr Frames zu erzielen.
AMD ist hier seit einiger Zeit mit FSR (FidelityFX Super Resolution) unterwegs. Diese Upscaling-Funktion muss vom jeweiligen Spieleentwickler implementiert werden, damit das Ganze funktioniert. Im Folgenden kann das Spiel selbst mit einer niedrigeren Auflösung gespielt werden, als die eigentliche native Auflösung. Intern erfolgt dann eine Hochskalierung der Grafik, sodass das Spiel aussieht wie mit nativer Auflösung. Hierbei werden initial massiv weniger Pixel berechnet und das eigentliche Upscaling verbraucht wiederum weniger Leistung, sodass die FPS (Frames per Second) steigen. Da es sich um eine näherungsmäßige Berechnung handelt ist die Qualität mitunter etwas schlechter, wofür man aber wie erwähnt die teils massiv bessere Performance bekommt (2x bis 3x mehr FPS). Außerdem wurde FSR 2.0 angekündigt, wodurch die Qualität weiter verbessert werden soll und natürlich trotzdem der FPS Vorteil bleibt.
Mermaid - Nützliche VS Code Plugins

Vor einigen Tagen berichtete ich über meinen Wechsel auf Mermaid, im Kontext der Erstellung von Graphen und Diagrammen. Damit man mit textbasierten Tools dieser Art aber ordentlich arbeiten kann, brauch man natürlich ein bisschen Tooling, ähnlich wie auch schon im Bereich DOT / GraphViz.
Damit die Arbeit hier leichter fällt habe ich mir aus der durchaus großen Auswahl an Visual Studio Code Plugins zwei ausgewählt und nutze diese nun erfolgreich. Das Erste ist dabei Mermaid Markdown Syntax Highlighting, welches wie der Name schon sagt Syntax Highlighting für Mermaid Diagramme bereitstellt. Dies funktioniert einwandfrei, lediglich bestimmte Klammerungen, die für einige besonders geformte Knoten genutzt werden, werden nicht gesondert hervorgehoben. Dies ist aber absolut im Rahmen und stellt meiner Meinung nach kein Problem dar, vor allem da die meisten vermutlich ohnehin auf abgerundete Ecken bei ihren Diagrammen verzichten.
Weiter geht es mit Markdown Preview Mermaid Support. Dieses Plugin integriert Mermaid Diagramme direkt in die vorhandene Markdown Preview von VS Code. Das Ganze funktioniert extrem einfach, man bekommt direkt Informationen falls man etwas falsch macht und auch die Performanz ist sehr gut. Man kann seine Markdown Dateien quasi wie immer bearbeiten, bekommt nun aber auch Diagramme direkt angezeigt.