Watch More

Context

Watch More is een speler, geen dienst: geen ingebouwde IPTV-service, geen providers, geen aanbevelingen. Gebruikers spelen de bronnen af waar ze al toegang toe hebben, volledig lokaal — inloggegevens verlaten het apparaat niet.

Beperking

Twee platformen (iOS en Android), twee talen (Swift en Kotlin), en de eis dat ze zich identiek gedragen — zonder gedeelde broncode, want de platformen delen geen runtime.

Besluiten

  • Gedrag geborgd door 114 uitvoerbare conformance-vectoren in plaats van gedeelde code: elke gedragswijziging vereist bijgewerkte testvectoren én beide implementaties die slagen op dezelfde pull request.
  • De volledige Swift-kern is op Windows ontwikkeld en getest, zonder Xcode — met een Swift 6-toolchain. Dat is waarom de kern uitsluitend op Foundation bouwt, zonder externe dependencies.
  • Streaming M3U- en XMLTV/EPG-parsers, benchmarked op een 100.000-regels catalogus.
  • Privacy als ontwerpprincipe: geen account, credentials in Keychain, alleen geredigeerde logregels toegestaan, en een offline demomodus voor App Review.

Wat het kost om te draaien

Geen hosting nodig — de app draait volledig op het apparaat van de gebruiker. Distributie via TestFlight (iOS) en een Play Store-staging (Android), zonder gehoste CI: één lokaal gate-script (check-parity.sh) valideert Swift-tests, conformance-vectoren, schema en strings voor elke release.

Wat ik zou aanpassen

De eerste conformance-vectoren waren te grofmazig; met de kennis van nu zou ik ze vanaf het begin op functieniveau schrijven in plaats van op scenario-niveau, wat regressies eerder zichtbaar had gemaakt.

Vergelijkbaar vraagstuk?

Vrijblijvend kennismaken over cross-platform productontwikkeling.

Plan een kennismaking