DuoBahn for Surface Duo will be an Kotlin Compose-based Android app for foldable devices that uses the federal German Autobahn API as a data source.
Due to that fact that Microsoft sunsetted its Surface Duo product line, this repository is not longer usable or testable and that's why it is archived. I really hope Microsoft will bring back such device in the future.
Service | Status |
---|---|
GitHub |
The open data / open api project bund.dev contains a lot of information of Auotbahnen (highways) is one of the things I think should be promoted as "hey guys, we have a lot of free (tax-paid) data sets - let's use them our way!".
I'm not an Android user, I do not really like this operating system but it has some quite interesting devices in its ecosystem. One of them is the Microsoft Surface Duo. A dual screen device which could be the first mainstream foldable device for developers.
The Microsoft DX team around all the diffrent SDKs for the Duo's unique features is very responsive and helpful - and of course beginner friendly. Their weekly stream on Twitch is sometimes really motivating to spend my rare spare time into learning and building something new. That's why I choose this specific target device. In my day job I write a lot of B2B enterprise iOS / iPadOS applications - all of the devices just have one screen since decades. Let's by experimental and play with something new - two screens to be precises.
One of the reasons why I started this project is to get into at first into Kotlin and in second into the new UI describing concept of Compose. My former beloved Xamarin.Forms tech stack could be a fallback, but the main goal ist to write it in Kotlin compose and maybe have a Compose Multiplatform app to run on Android, desktop systems and on the web.
The offical API (Swagger, openapi.yaml) does not support a "fetch 'em all" approach. To fetch all available and required information for the app, a lot of id
based requests have to be made. These approach is not fisable for a mobile app to be as user interaction responsible as possible. Besids this fact, in a world in which this app gets thousands of users I would guess some rate limit or resource caps would be applied by the API.
You can find the concept of the aggreagor script at script_concept.md.
- An environment that supports peridocally script executions
- Public web store to save the generated, monolyhic JSON file
- Android Studio (Artic Fox or higher)
- Surface Duo emulator, Android emulator or actual an device
resources/
contains for example used api definitionsscripts/
contains all required scripts to aggregate datadocs/
contains all documention and readme based fileapp/
contains all Android app related files
- Dr. Windows DuoBahn, das Entwicklertagebuch, Teil 1: Auf geht's zum neuen Bastelprojekt
- Dr. Windows DuoBahn, das Entwicklertagebuch, Teil 2: Ab ans Reißbrett!
- Dr. Windows DuoBahn, das Entwicklertagebuch, Teil 3: Ihr Rohdaten'lein kommet
This project has absolutely neither time line until it is production ready nor that it's the perfect example writing scripts, Kotlin apps or using the feature of a Surface Duo device. It's a playground for me to learn new skills and play around with new concepts like dual screen devices.
- Microsoft OneNote as information storage around the idea of the app
- Microsoft Teams to clarify open question with the Dr. Windows team
- Visual Studio Code for all, except source code editing, writings like mark down files
- Figma for any graphical asset
Master of Desaster
Awesome helping hands
- Dr. Windows community
- Open Data Autobahn API
- Surface Duo SDK Technet Community for helping beginners, too.
- Figma file with rough ui ideas
- Autobahn routes on maps provided by NordNordWest and Lencer
This project is licensed under the MIT License - see the LICENSE file for details. Dependencies or assets maybe licensed differently.