Anzeige

Am Puls von Microsoft

Anzeige

Auf zu unseren neuen Surface Duo App „DuoBahn“: Teil 1

DrWindows

Redaktion
Auf zu unseren neuen Surface Duo App „DuoBahn“: Teil 1
DuoBahn App


Vor wenigen Wochen hat die Bundesregierung etliche offene Datenquellen ins Internet gestellt, die meisten davon findet man unter bund.dev, kurz für „Bundesstelle für Open Data“, zentral zusammengefasst. In meinem neuen kleinen Xamarin.Forms App Projekt „DuoBahn“ ziele ich im Speziellen auf die Webschnittstelle für alle Daten rund um deutsche Autobahnen ab.

Was ist bund.dev?​


Unter dem Titel „Wir dokumentieren Deutschland“ wurden hier auf Bundesebene etliche freie, öffentlich zugängliche Webschnittstellen zusammengefasst.

Das Portal beschreibt sich wie folgt selbst:

Im API-Portal des Bundes finden Sie Dokumentationen zu Programmierschnittstellen von Verwaltungsleistungen und Informationsportalen des Bundes. Die Zahl online verfügbarer Schnittstellen wird im Rahmen des „Gesetzes zur Änderung des E-Government-Gesetzes und zur Einführung des Gesetzes für die Nutzung von Daten des öffentlichen Sektors“ (2. Open-Data-Gesetz) bis 2024 stark anwachsen.

Darüber hinaus stehen auf der GitHub Seite von bund.dev etliche OpenApi Spezifikationen zum Herunterladen bereit. Wer auf dem neuesten Stand bleiben möchte, kann dem Portal auch auf Twitter (@bund_dev) folgen. Eine Antwort auf einen Tweet habe ich jedoch bis dato leider noch nicht erhalten.

Zurück zur App: Um was geht es genau?​


Um ehrlich zu sein: keine Ahnung. Spaß beiseite, die App steht noch komplett am Anfang. Jede Idee ist willkommen. Bisher ist angedacht, Informationen zu vom Benutzer ausgewählten Autobahnen anzuzeigen. Natürlich bin ich hier an die zur Verfügung stehenden Daten der API gebunden.

Es stehen folgende Informationen zur Verfügung:

  • Verkehrsmeldungen
  • E-Auto Lader
  • Sperrungen
  • Baustellen
  • Webcams
  • Rastplätze

Man merkt bereits, dass diese App wohl mit einem sehr starken Fokus auf Karten gestaltet werden sollte.

Leider wird es wohl nicht möglich sein, ohne externe Helfer alle Daten aller Autobahnen anzuziehen. Es scheint, als bin ich hier bei ersten Tests in Ratelimits gelaufen. Dies empfinde ich jedoch auch von der Customer Story her nicht wirklich als Blocker, da man sich meistens nur für bestimmte Autobahnen interessiert. Darum ist eine Auswahlmöglichkeit der gewünschten Autobahnen vom Benutzer in der App einzuplanen.

Erste grafische Ideen​


Auch wenn ich kein Gestalter bin, habe ich gern etwas vor meinen Augen, wo die Reise grob hingehen soll.

Aus diesem Grund habe ich mir auf Basis des offiziellen Surface Duo Design Kits als auch des Kits zu Material Design in Figma einen frühen Entwurf der Oberfläche für die DuoBahn App ausgedacht.

DuoBahn App

Ob ein Teil dieser Konzeptidee sich schlussendlich in der fertig entwickelten App wiederfindet, ist ungewiss, dennoch gibt es mir eine Art Führung, an der ich mich während meiner freizeitlichen Entwicklungssession entlang hangeln kann.

Wieder kein MAUI​


Nach dem Verzicht auf eine Migration unserer Dr. Windows #rTsd war eigentlich mein Plan, die nun anstehende nächste Freizeitbeschäftigung im neuen .NET MAUI Kontext zu entwickeln. Durch etliche Verzögerungen als auch das verspätete Release von Visual Studio for Mac 2022 – im dem entsprechenden Jahr – hat sich dieser Plan nun geändert. Außerdem ist mir persönlich zum jetzigen Zeitpunkt MAUI noch zu fluent in der Gestalt von Breaking Changes. Ungünstig ist auch, dass man als Einsteiger keine wirkliche Dokumentation findet, da es mittlerweile etliche Vorschauversionen gibt und manche Dinge sich bereits stark unterscheiden.

Allgemein ist dies zu verkraften, da ich nach jetzigem Planungsstand nur das Microsoft Surface Duo bespielen möchte und somit die „Write Once, Run Everywhere“ Funktionalität von MAUI nicht wirklich benötige.

Warum kein Flutter oder ReactNative?​


Ich habe mich schlussendlich weder für Googles Flutter noch für ReactNative von Facebook entschieden, da hier nicht nur, wie bei Flutter, die Unterstützung für Foldable Devices dem Zeitplan hinterher hängt, sondern ich einfach auch in Bezug auf ReactNative diesen Tech Stack nicht mein Eigen nenne und auch keinerlei Ambitionen habe, diesen auszuprobieren, geschweige denn zu unterstützen.

Wie geht es weiter?​


Die Tage werden kürzer, die Nächte länger, da wird der Nerd zum Tasten-Bänger. Das Projekt steht noch ganz am Anfang. Es gibt noch Etliches an Versuchsarbeit zu leisten, um hier „offiziell“ mit der eigentlichen Entwicklung anzufangen.

Dies hat jedoch den Vorteil, dass wir sehr gerne über etwaige Funktionen der App diskutieren können.

Welche Features würdet ihr gerne sehen? Würdet ihr die App eher mit zwei Bildschirmen nebeneinander oder übereinander benutzen wollen?

Welche bisher getroffenen Entscheidungen wie zum Beispiel Xamarin.Forms hättet ihr anders getroffen?

Ich freue mich auf eure Kommentare!


Hinweis: Der Artikel wird möglicherweise nicht vollständig angezeigt, eingebettete Medien sind in dieser Vorschau beispielsweise nicht zu sehen.

Artikel im Blog lesen
 
Anzeige
Hallo Tobias

Einige Vorschläge hätte ich schon, weiß jedoch nicht, ob sie technisch umsetzbar /optisch akzeptabel sind.
Zuerst mehrere Erklärungen zum unten angefügten Screenshot:
Die Anwendung wirkt seriöser und wichtiger, wenn die Ansprache von “Du“ auf “Sie“ geändert wird. Es kommt natürlich darauf an, welcher Benutzerkreis eher angesprochen werden soll.
Meiner Meinung nach, (mein erster Eindruck) es sind zu viele verschiedene Formen vorhanden. Wenn möglich sollte eventuell nur eine Kantenrundung (von Schaltflächen) verwendet werden. (Ist mir im Bild auf die Schnelle auch nicht richtig gelungen…sorry). Aber wenn etwas schwach gerundet ist, das nächste etwas mehr, und als drittes (Radiobuttons?) stark abgerundet, sieht es ein wenig unruhig aus.
Bei den Autobahnschaltflächen (Label?) könnte vielleicht die Umrandung nach der Auswahl dunkler dargestellt werden.

Unter “Welche Informationen….“ die Auswahl ebenfalls hervorheben, falls Buttons verwendet werden (im Bild mit blauem Hintergrund).

Das eingefügte “i“ im Bild für Tankstellen
Eventuell ToolTip mit beliebigem Text (Bitte wählen Sie zuerst eine Tankstelle aus), danach bekommt der Anwender weitere Informationen (Auflade Möglichkeit vorhanden, oder nicht, Öffnungszeiten (wenn kein 24h Betrieb) usw.), wenn nochmal “i“ gewählt wird.

Das eingefügte “i“ in Baustellen
ToolTip: Bitte wählen Sie eine Baustelle aus.
Mögliche weitere Informationen: Beginn und Ende der Bauarbeiten, Empfehlungen zur Umleitung usw.

Für diese Dinge könnte die momentane leere Fläche (freier Platz für mehr Ideen) verwendet werden


Unter Rastplätze (nicht Restplätze) könnte dann erweitert werden.
Eventuell
Freizeitanlagen / Ausstellungen / Veranstaltungen / Kinderfreundliche Plätze in der Nähe und vieles mehr.


Duo Bahn Bearbeitung.png




Ist es, oder wird es möglich sein, die Karte über beide Bildschirme zu ziehen und wieder zurück?
Wegen des Namens: Ich las zuerst den Titeltext und verknüpfte das Wort “Bahn“ mit Eisenbahn, bevor ich das Symbol beachtete. Wahrscheinlich sehen andere zuerst das Symbol, ich weiß es nicht?

Leider kann ich zu Deinen weiteren Fragen nichts Brauchbares beitragen, weil ich bei Windows-Phone stehengeblieben bin und jetzt nur Desktopanwendungen (WinForms und XAML) für mich interessant sind.

Aber ich finde Deine Arbeit und Deinen Ehrgeiz super (y)(y)(y)
 
Oh sehr interessant. Vielen Dank für die Info der APIs!!! Die Seite kannte ich noch nicht! Da ich selber sehr viel mit Xamarin Arbeite kann ich dir gerne noch Refit für die APIs empfehlen! Bisher keine bessere Library gesehen für Rest APIs.
Für die UI kann ich dir da noch Sharpnados UI Elemente empfehlen. Vielleicht hast du ja was davon. Und gerne können wir auch generell über das Projekt sprechen.

Falls du dieses BottomSheet gebrauchen kannst sag mir bescheid. Ich denke ich werde vorschlagen es zum Xamarin.Community.Toolkit hinzuzufügen habs aber noch nicht gemacht. Du kannst aber gerne den SourceCode haben. (Es ist MVVM kompatibel)

GifMaker_20210830174731591.gif
 
Zuletzt bearbeitet:
Wow, danke für euer Feedback!
wenn ihr wollt können wir uns gern via DM, Twitter (Tobonaut) oder email (tobias@drwindows.de) austauschen!

ich bin zwar software engineer aber von Xamarin.Forms und hübscher UI nur Amateu-Ahnung. :)
 
Anzeige
Oben