Skip to content

#rTsd - This ia a work in progress Xamarin.Forms Android project which is intended to feature most of the new features that makes the upcoming Microsoft Surface Duo phone unique.

License

Notifications You must be signed in to change notification settings

coeamyd/xamarin-road-to-surface-duo

 
 

Repository files navigation

#rTsd Logo

Road to Surface Duo Xamarin App (#rTsd)

This is a work in progress Xamarin.Forms Android project which is intended to feature most of the new features that makes the upcoming Microsoft Surface Duo phone unique. It will use the awesome German Dr. Windows as data source for its articles.

tl;dr

This is neither an offical Dr. Windows app nor anything other than a highly motivated playground to dive deep into the Xamarin.Forms ecosystem with a dedicated usecase in mind.

It will target only Android devices and it's meant to include all other aspecs of Xamarin development such as a configurared continuous integration and analytics powerd by the Azure App Center.

This project is written and owned by a beginner and meant for beginners. It would be perfect if experts could mentor the project - but this is just a mind in the clouds.

Build status

Service Status
AppCenter Badge
Azure DevOps Build Status
Sonar Cloud Quality Gate Status

Structure

rTsd

Xamarin.Forms container that includes all shared functionality and features.

rTsd.Android

Android wrapper and platform-specifc implementations like custom rendereres, effects or assets.

Phases

  • Finding a usecase
  • Write down a motivation (e.g. Readme)
  • Write an email to dualscreendev@microsoft.com to get soon(tm) more information
  • Concept roughly an user interface
  • Get the project (template) up and running
  • Getting into important Xamarin / C# pattern
  • Write first MVP code
  • Improve feature and code quality
  • Write tests
  • Leverage CI with tests and test deployment

Publications

Prerequirements

Assumption

  • The Surface Duo will usw two navigation pages, master on the left screen and detail on the right, as the main indicator how to display an app on two screens

Other programms I used

  • 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
  • Git Bash for Git operations outside of Visual Studio
  • Adobe XD to protoyp the UI

Features

  • Good looking, hopefully (in my opinion)
  • Utilizes Surface Duo features
  • Utilizes App Center features
  • Ticker with latest tweets of @drwindows_de
  • Lists articles of Dr. Windows
  • Detail article view
  • Share functionality

UI concepts

I'm not a skilled user interface designer nor I have an eye for beauty, but the app should look mostly like the following concepts.

App screenshots

All shown screenshots are taken with version 20191217.

I used the free, but required an Adobe ID, application Adobe XD to create the protoyp views.

Decisions made

  • Using the Page.Navigation(...) feature instead of the new url-based Shell.GoToAsync(...)
  • Using the native asset management instead of the embedded images one. The not successful feature implementation can be found via: deadend/embedded-images

Keep in mind

This app is purely build for having fun! All features have room for improvements or could be done more elegant.

Contributing

Feel free to improve the quality of the code. It would be great to learn more from experienced C#, Xamarin and Azure developers. Please use the "default" workflow of contributing to this project.

  1. Open an issue and describing your idea or bug finding
  2. Fork repository
  3. Fix bug / add enhancement in well named feature branch with issue number (e.g. user.name/2-added-app-icon)
  4. Add the issue number to your commit message (e.g. #2 Added new app icon)
  5. Create pull request (PR) from your feature branch to this master branch
  6. Please keep in touch with your PR to answer upcoming questions
  7. If your PR got merged, check if you are listed in the "Authors" section of the readme

Authors

Just me, Tobi.

Links

License

This project is licensed under the MIT License - see the LICENSE file for details. Dependencies or assets maybe licensed differently.

About

#rTsd - This ia a work in progress Xamarin.Forms Android project which is intended to feature most of the new features that makes the upcoming Microsoft Surface Duo phone unique.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C# 98.0%
  • HTML 2.0%