From f2ec8808ab87bd383865f0a8cfee74eabba49275 Mon Sep 17 00:00:00 2001 From: Me on Windows Date: Mon, 26 Jul 2021 18:42:03 +0000 Subject: [PATCH] Add presentation of the project --- presentation.md | 59 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 presentation.md diff --git a/presentation.md b/presentation.md new file mode 100644 index 0000000..faece88 --- /dev/null +++ b/presentation.md @@ -0,0 +1,59 @@ +--- +type: slide +--- + +# QuickPlay +## A simple app to quickly use remote players + +--- + +# Features + +Easy to learn +Central management +(Theoretically) extensible / modular +Usable on Android 4.4+ (Tested on Marshmallow) +(Android only) + +--- + +# Architecture + +```graphviz +digraph "Arch" { +layout=fdp +RP -> Player [style="dotted", dir="both"]; +RP[label="Remote player"] +XML -> AppConfig -> PlayerConfig -> {Player Playables HTTP}; +UI -> LayoutStrategies; +Person -> UI -> Playables -> Metadata +Metadata -> LayoutStrategies +HTTP[label="HTTP + INI"] +Person, RP, UI, XML, HTTP [shape=box] +} +``` + +--- + +# Issues + +Understanding Android ecosystem is hard + - unintuitive naming + - complex hierarchy of support libraries + - I didn't find comphrehensive overview + - many APIs are replaced + +Quite a lot of boilerplate code (esp. UI) + +Visual Studio not refreshing Resource files. + +No sensible MPD client library. + +--- + +# Lessons learned + +- Basic Android architecture knowledge +- Network and asynchronous coding +- Library patching +