Skip to content
davthecoder
Sky Go: Android app screenshot
Mobile

Sky Go

Sky's flagship streaming app for live TV and on-demand content, with offline downloads, multi-device playback, and DRM-protected adaptive streaming across the UK and Europe.

AndroidiOSDRMNativeVideo StreamingLive TVCatch-up TVOffline Downloads

Sky Go is where a Sky subscription travels with you. I led engineering on the app that puts live TV, catch-up, and on-demand in subscribers’ pockets across phones, tablets, and computers, serving millions of customers throughout the UK and Europe. The heart of it is live linear television: Sky Sports, Sky Cinema, Sky News, and Sky Atlantic streaming in real time, the same channels you would get on the set-top box, delivered to whatever screen is nearest.

That live-first requirement shapes everything. A sports fan switching between channels mid-match will not tolerate a spinner, so channel switching, the on-screen guide, and playback all had to feel immediate. On top of the live grid sits a deep catalogue: thousands of movies, full TV box sets, and recent episodes, with continue-watching points that follow you from one session and device to the next.

Watching offline and across devices

Two features matter most once you leave the sofa. Offline downloads let subscribers save eligible movies and shows to the device with a selectable download quality, so a flight or a spotty commute is not a dead zone. Each download carries a time-limited licence that expires cleanly when entitlements lapse, keeping saved content in step with the account.

Multi-device playback ties it together. The same account works across Android and iOS phones and tablets plus supported computers, governed by a registered-device limit per account. Picture-in-Picture keeps a match or a movie running in a floating window while you use other apps, with background audio and playback controls wired into the platform lifecycle.

Features

  • Live TV: Stream 100+ linear channels in real time, including Sky Sports, Sky Cinema, Sky News, and Sky Atlantic, with channel switching and an on-screen guide
  • Catch-up & On-demand: Browse thousands of movies, full TV box sets, and recent episodes, with continue-watching resume points carried across sessions
  • Offline Downloads: Save eligible movies and shows to the device for offline viewing, with selectable download quality and managed licence expiry
  • Multi-device Playback: Watch on Android and iOS phones and tablets as well as supported computers, with a registered-device limit per account
  • Picture-in-Picture: Keep watching in a floating window while using other apps, with background audio and playback controls
  • Adaptive Streaming: Quality scales automatically to available bandwidth to reduce buffering on mobile and Wi-Fi networks

Tech Stack

I built the app natively on both platforms: Kotlin on Android, Swift on iOS, sharing product behaviour while leaning on each platform’s own media stack. That meant ExoPlayer/Media3 for rendering, track selection, and subtitles on Android, and AVPlayer/AVFoundation on iOS, each paired with the DRM system its hardware expects (Widevine on Android, FairPlay Streaming on iOS) so premium content stays protected end to end.

  • Native Android in Kotlin and native iOS in Swift, sharing product behaviour across platforms while using each platform’s media stack
  • Widevine DRM on Android and FairPlay Streaming on iOS for licensed content protection and secure playback
  • ExoPlayer/Media3 on Android and AVPlayer/AVFoundation on iOS for video rendering, track selection, and subtitle handling
  • Adaptive bitrate streaming (HLS/DASH) for resolution and bitrate switching based on network conditions
  • Background downloads with offline licence acquisition, storage management, and expiry enforcement
  • Picture-in-Picture and audio session handling integrated with platform lifecycle and notification controls

Frequently Asked Questions

What platforms does Sky Go run on? Sky Go is built natively for Android (Kotlin) and iOS (Swift) phones and tablets, and also runs on supported computers. Each account has a registered-device limit.

Can I watch Sky Go without an internet connection? Yes, for eligible content. You can download movies and shows to the device with a chosen quality, and each download carries a time-limited licence that expires once entitlements lapse. Live TV and most on-demand playback still need a connection.

Why does Sky Go use two different DRM systems? Because playback follows each platform’s secure media pipeline. Android uses Widevine with ExoPlayer/Media3 and iOS uses FairPlay Streaming with AVPlayer, so premium live and on-demand content stays protected on the hardware it runs on.