Developing Android and iOS Apps for the waipu.tv streaming service

Linear TV and innovation are by no means polar opposites. This is demonstrated by EXARING AG which, with the support of inovex GmbH, developed the waipu.tv streaming service.

Die Logos der Exaring AG und von waipu.tv

Fairytales begin with “Once upon a time”; success stories begin with a vision. In this case, the vision belonged to EXARING AG and involved using a fibre-optic ring with a very large digital bandwidth to host an innovative TV platform.

A team of experienced leaders from the TV industry came up with the idea of using this exclusive broadband infrastructure to set up Germany’s leading IPTV brand. The aim was to bring digital TV to an increasingly digital audience, while simultaneously transforming the TV advertising market.

Digital, personalised TV naturally allows advertisers to advertise more precisely, less intrusively and more interactively than traditional broadcast television. The plan involves users’ smartphones playing a large role as smart remote controls – after all, there is no other digital device with which users interact as often and as intimately.

inovex was able to get in on the ground at the development of waipu.tv and was significantly involved in the design and implementation of the backend and the mobile applications for Android and iOS, as well as in assembling the development teams.

Thanks to the quality of our software – exclusively 'made in Germany' by the way – and our fibre infrastructure the quality and reliability is completely uncompromised even in these days.

Christoph Bellmer

Head of waipu.tv

Next generation TV

Now that video-on-demand has become widely popular and easily accessible, linear TV is often perceived as unattractive and is frequently stigmatised as old-fashioned and uncreative when compared to modern media consumption methods. Linear TV and innovation are not, however, by any means polar opposites. This is shown by EXARING AG which, with the support of inovex GmbH, developed the waipu.tv streaming service. This service combines linear TV with convenient ?next generation? features, such as recording in the cloud and time shifting.

Although video-on-demand portals have now firmly established themselves in many households, many users don’t want to stop watching traditional TV. This is borne out not only by the many viewers who still watch linear TV via cable, satellite or DVB-T, but also by the popularity of multiple providers who offer live streaming TV online and as apps.

waipu.tv, however, goes one step further. Not only does it provide live streams of current TV programmes, it also adapts them to modern viewing habits. waipu.tv is, therefore, primarily available as an app for both iPhone and Android smartphones, but it can also be transmitted to any television with an HDMI connection by means of Chromecast or Fire TV.

The smartphone then serves two purposes: firstly, it acts as a remote control for the programme being transmitted, and secondly, it can be used to view a different channel on its own screen, to browse the EPG (Electronic Program Guide), or to read the TV tips. The app can also be used to pause live TV programmes and continue them later, as well as to select programmes from the EPG for recording. In order to save smartphone space, recording takes place in the cloud, enabling users to watch their recorded programmes anywhere and at any time.

Proprietary developments create a consistent user experience

Today’s users expect much more from modern streaming offerings than just mobile availability. Instead, they expect a consistent, high-performance application. It therefore became clear early on in the development process that waipu.tv needed to be implemented natively for iOS and Android.

As waipu.tv offers several unique features, many views and actions needed to be completely rewritten specifically for the app. Even the main view, the streaming window, contains multiple innovative operating concepts. To allow users to scroll seamlessly and uninterrupted through channels, these are listed in a kind of endless loop. Even “waiping” – swiping the video currently being streamed upwards in order to display it on the TV – is a feature not found in any of the competing apps and a hallmark of waipu.tv. In order to minimise the interruption in transmission that occurs when switching from the small screen to the big one, the video stream continues to run in real time while the gesture is being performed.

screenshot of the waipu.tv Streaming App
From left to right: the EPG, the streaming view, 14-day recommendations.

The EPG view, which shows the channels stacked vertically along a horizontal time axis, is, to a large extent, another waipu.tv innovation. It facilitates easy searching of all channels for the week ahead and adjusts dynamically to the available screen size. Depending on whether the app is being used on the 4-inch iPhone SE or on the 5.5-inch screen of the iPhone 7 Plus, varying numbers of channels can be viewed at a glance.

An additional dynamic layout is used in the TV tips 14-day preview, where the programme grid is dynamically sized to fit different screen dimensions.

Due to the complexity of the Android ecosystem, the initial alpha testing was done on the iPhone, but the two applications have been feature-identical since their launch. This is made possible by the fact that the Chromecast and Fire TV streaming receivers are compatible with both iPhones and Android devices.

A custom player for flexible Chromecast streaming

To ensure that the video quality streamed via Chromecast satisfies the demands of both users and copyright holders, waipu.tv accesses a cast receiver, whose Bitdash player is licensed by bitmovin. In order to use this on Chromecast, it is bundled together with the requisite HTML and JavaScript into a Chromecast app which the device can access using an ID. At the beginning of a transmission, Chromecast therefore receives the app ID, as well as the link to the current video stream. It then launches the app?s player, where it displays the requested video. The use of this type of custom player not only gives developers more freedom in designing video overlays, but also ensures the secure transmission of DRM-protected content.

Continuous delivery for Android and iOS

Collaboration between internal and external developers on a long-term, complex project like the waipu.tv solution is simplified immensely using automation. The app is automatically compiled after every code commit and sent to internal testers. This build pipeline not only speeds up the development process, but also helps to minimise the risk of human error.

Version management is performed by GitLab, which serves as a frontend for the product repositories. Using the GitLab CI module, the latest versions are automatically compiled and subjected to unit tests. They are then sent to an internal test group of product owners and other colleagues using the HockeyApp platform, before being distributed to a closed external test group using TestFlight (iOS) and Google Play Beta (Android).

To ensure the straightforward availability and consistency of the Android build environment, this is provided as a docker image.

Whereas build pipelines for the Android environment are commonplace, the closed nature of iOS means that there is currently no blueprint solution available for automatically building and deploying iOS apps. In the case of waipu.tv, a combination of GitLab CI and fastlane was used. This automated all the build and distribution steps, except for the launch of the productive version in the App Store.


As the “next generation” of remote controls, the apps are the user’s central point of contact with waipu.tv’s products – a fact which makes them a significant part of the overall user impression. EXARING’s and inovex’s use of established state-of-the-art libraries on one hand and innovative in-house developments on the other ensure that the user experience is a positive one – just like the collaboration between the two companies.

Technology Stack

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

Get in touch!

Dominik Helleberg

Head of Mobile Development and Smart Devices