--- 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