EXARING AG:
Entwicklung von Android- und iOS-Apps für den Streaming Service waipu.tv

Dass lineares Fernsehen und Innovation ganz und gar keine Gegensätze sind, zeigt die EXARING AG, die mit Unterstützung der inovex GmbH den Streaming-Dienst waipu.tv entwickelt hat.

Die Logos der Exaring AG und von waipu.tv

Märchen beginnen mit „Es war einmal“, Success Stories mit einer Vision. In diesem Fall mit der Vision der EXARING AG, einen Glasfaserring mit sehr großer digitaler Bandbreite für eine innovative TV-Plattform zu nutzen.

Ein Team von erfahrenen Führungskräften aus dem TV-Business hatte die Idee, auf dieser exklusiven Breitband-Infrastruktur die führende IP-TV-Marke zu errichten, die digitales Fernsehen zu einem immer digitaleren Zuschauer bringt und gleichzeitig den TV-Werbemarkt transformiert.

Denn digitales, personalisiertes Fernsehen bietet natürlich die Möglichkeit, viel präziser, unaufdringlicher und interaktiver zu werben als das klassische TV-Broadcasting. Dabei sollen die Smartphones der Anwender:innen als smarte Fernbedienungen eine große Rolle spielen, denn mit keinem anderen digitalen Gerät wird so persönlich umgegangen wie mit diesen mobilen Devices.

inovex hatte die Möglichkeit, die Entwicklung von waipu.tv von Anfang an zu begleiten, und war dabei maßgeblich an der Konzeption und Umsetzung des Backends, der mobilen Anwendungen für Android und iOS sowie der Organisation der Entwicklerteams selbst beteiligt.

Dank der Qualität unserer Software – übrigens ausschließlich 'made in Germany' – und unserer Glasfaserinfrastruktur ist die Qualität und Zuverlässigkeit auch in diesen Tagen vollständig unkompromittiert.

Christoph Bellmer

waipu.tv-Chef

Next Generation TV

Seit der Verbreitung von einfach zugänglichen Video-on-Demand-Angeboten gilt lineares Fernsehen häufig als unattraktiv – als altmodisch und nicht innovativ stigmatisiert, steht es der modernen Form des Medienkonsums gegenüber. Dass lineares Fernsehen und Innovation aber ganz und gar keine Gegensätze sind, zeigt die EXARING AG, die mit Unterstützung der inovex GmbH den Streaming-Dienst waipu.tv entwickelt hat. Dieser verbindet lineares Fernsehen mit komfortablen Features der „neuen Welt“ wie Cloud-Aufzeichnungen und Time-Shift.

Während Video-on-Demand-Portale schon einen festen Platz in vielen Haushalten erobert haben, wollen sich viele Nutzer:innen nicht vom klassischen Fernsehen trennen. Dafür sprechen nicht nur die vielen Zuschauer:innen, die immer noch per Kabel, Satellit oder DVB-T dem linearen Programm folgen, sondern auch die Beliebtheit einiger Anbieter, die Fernseh-Live-Streams im Internet Browser und als App anbieten.

waipu.tv aber geht einen Schritt weiter und bietet nicht nur Live Streams des aktuellen Fernsehprogramms, sondern passt diese den modernen Sehgewohnheiten an. So ist waipu.tv zunächst als App für das iPhone sowie Android-Smartphones verfügbar, kann aber per Chromecast und Fire TV auf jeden Fernseher mit HDMI-Anschluss übertragen werden.

Dann dient das Smartphone einerseits als Fernbedienung für das übertragene Programm, während andererseits auf dem Smartphone selbst ein weiterer Kanal dargestellt oder der EPG (Electronic Program Guide) sowie die TV-Tipps durchgeblättert werden können. Außerdem lassen sich per App aktuell laufende Sendungen pausieren und später wieder fortsetzen sowie Sendungen per EPG zur Aufnahme vormerken. Um den Speicher des Smartphones zu schonen, erfolgt das Aufzeichnen dieser Sendungen in der Cloud, sodass Nutzer:innen sie zeit- und ortsunabhängig wieder abrufen können.

Mit Eigenentwicklungen zur konsistenten User Experience

Benutzer:innen erwarten von einem modernen Streaming-Angebot längst nicht mehr nur die mobile Verfügbarkeit, sondern eine konsistente, hochperformante Anwendung. So stand schon früh in der Entwicklung fest, dass waipu.tv nativ für iOS und Android implementiert werden sollte.

Da waipu.tv mehrere einzigartige Features bietet, mussten viele Views und Aktionen speziell für die Anwendung komplett neu geschrieben werden. Schon die Hauptansicht, das Streaming-Fenster, beinhaltet mehrere neuartige Bedienkonzepte: Um Nutzer:innen zu ermöglichen, naht- und unterbrechungslos durch Sender zu zappen, wurden diese in einer Art Endlosschleife aneinandergereiht. Auch das „Waipen“ – das Wischen des laufenden Videos nach oben, um es am Fernseher anzuzeigen – findet sich so in keiner anderen Anwendung der Konkurrenz und stellt ein Markenzeichen von waipu.tv dar. Um die Unterbrechung, die für den Wechsel vom kleinen zum großen Bildschirm nötig ist, so kurz wie möglich zu halten, läuft der Video-Stream beim Ausführen der Geste in Echtzeit weiter.

Darstellung der Streaming App
Von links nach rechts: der EPG, die Streaming-Ansicht, 14-Tage-Empfehlungen.

Auch die EPG-Ansicht, welche die vertikal gestapelten Sender entlang einer horizontalen Zeitachse zeigt, ist zu weiten Teilen eine Neuentwicklung für waipu.tv. Sie erlaubt das bequeme Durchsuchen aller Sender mit einer Programmvorschau von einer Woche und passt sich dynamisch an die verfügbare Bildschirmgröße an: Je nachdem, ob man die App auf dem 4-ZollDisplay des iPhone SE betrachtet oder auf dem 5,5-Zoll-Screen des iPhone 7 Plus, sind unterschiedlich viele Sender auf einen Blick vergleichbar.

Ein weiteres dynamisches Layout kommt in der 14-Tage-Vorschau der TV-Tipps zum Einsatz: Abhängig von der Bildschirmgröße werden die angezeigten Sendungen unterschiedlich groß im Raster dargestellt.

Wegen der Komplexität des Android-Ecosystems erfolgten erste Alpha-Tests auf dem iPhone, seit der Veröffentlichung sind aber beide Anwendungen featureidentisch. Möglich ist dies, da sowohl Chromecast als auch Fire TV als Streaming Receiver mit iPhones und Android kompatibel sind.

Ein Custom Player für flexibles Streaming auf dem Chromecast

Damit die Videodarstellung auf dem Chromecast den Ansprüchen der Nutzer:innen – und denen der Rechteinhaber – genügt, greift waipu.tv auf einen Cast-Receiver zurück, dessen BitDash-Player von Bitmovin lizenziert wird. Um diesen auf dem Chromecast zu nutzen, wird er gemeinsam mit dem benötigten HTML und JavaScript zu einer Chromecast-App gebündelt, auf die das Gerät mittels einer ID zugreifen kann. Zu Beginn einer Übertragung erhält der Chromecast also die App-ID sowie den Link zum aktuellen Video-Stream, startet den Player der App und zeigt in diesem das angeforderte Video. Die Verwendung eines solchen Custom Players räumt den Entwickler:innen nicht nur mehr Freiheiten bei der Gestaltung von VideoOverlays ein, sondern gewährleistet auch die sichere Übertragung von DRM-geschützten Inhalten.

Continuous Delivery für Android und iOS

Die Zusammenarbeit interner und externer Entwickler:innen an einem so langfristigen und komplexen Projekt wie waipu.tv wird durch Automatisierung ungemein erleichtert. So wird die App nach jedem Code Commit automatisch kompiliert und an interne Tester:innen verteilt. Diese Build Pipeline beschleunigt nicht nur den Entwicklungsprozess, sondern hilft auch dabei, das Risiko menschlicher Fehler zu minimieren.

Die Versionsverwaltung erfolgt über GitLab, das als Frontend für die Produkt-Repositories dient. Mittels des GitLab-CI-Moduls werden aktuelle Versionsstände automatisch kompiliert, durch Unit-Tests geprüft und zunächst mittels der Plattform HockeyApp an die interne Testgruppe bestehend aus Product Ownern und anderen Kolleg:innen, später per Testflight (iOS) und Google Play Beta (Android) an eine geschlossene externe Testgruppe distribuiert.

Um die einfache Verfügbarkeit und Konsistenz der Android-Build-Umgebung zu gewährleisten, wird diese als Docker-Image angeboten.

Während Build Pipelines für die Android-Entwicklung gang und gäbe sind, gibt es wegen seiner geschlossenen Natur noch keine Musterlösung für automatisierte Builds und Deployments von iOS-Apps. Im Falle von waipu. tv wurde auf eine Kombination von GitLab CI und fastlane zurückgegriffen, die bis auf die Veröffentlichung der Produktivversion im App Store ebenfalls alle Build- und Distributionsschritte automatisiert.

Fazit

Als „Next Generation“-Fernbedienung stellen die Apps den zentralen Berührungspunkt der Nutzer:innen mit dem Angebot von waipu.tv dar – und tragen so maßgeblich zum Gesamteindruck bei. Durch den Einsatz etablierter moderner Bibliotheken einerseits und innovativer Eigenentwicklungen andererseits gewähren EXARING und inovex, dass dieser Eindruck positiv ausfällt – ganz wie die Zusammenarbeit beider Unternehmen.

Technologie-Stack

iOS
  • Swift 3.0
  • FairPlay SDK für DRM-Streams
  • ProcedureKit
  • ObjectMapper
  • DeepLinkKit
  • Video-Stream-Format: HLS
Android
  • Java
  • Kotlin
  • Dagger2
  • RxJava
  • ExoPlayer
  • Retrofit
  • OKHttp
  • GreenDao
  • Video-Stream-Format: MPEG-Dash
Chromecast
  • BitDash Player
  • HTML5
Build Pipeline
  • GitLab
  • GitLab CI
  • GitLab Runner

Wie können wir Sie unterstützen?

Dominik Helleberg

Head of Mobile Development and Smart Devices