Skip to main content

NewPipe - Porting an Android app to Sailfish OS

UB4.132 | Day 1 | 13:30 - 14:00 | Speakers: David Llewellyn-Jones, Fabio Giovanazzi

NewPipe - Porting an Android app to Sailfish OS
A picture of a devroom at FOSDEM 2024
Open in browser

Notes

Abstract

NewPipe is a widely used FOSS Android app that provides privacy-respecting access to YouTube, PeerTube, and other streaming services. It can search, view channels, play videos, listen to playlists, download media, and more.

Developing an application with so many distinct features often involves compromises or feature trade-offs. During the talk, we'll explain how TeamNewPipe takes these decisions together with the community. In recent years the team has been supported by NewPipe e.V., a German association which strives to promote access to libre digital media, even outside of the NewPipe app. This more general spirit dates back to the beginning of NewPipe, when the backend library that scrapes data from services was made independent of the user interface, making the backend ideal for use in other projects.

Usually it's hard to port Android apps to other mobile Linux platforms due to the use of Java and the tight integration with the Android APIs. The user interface libraries required aren't available outside of Android emulation layers and, even if they were, the user interface paradigms would differ greatly. In this talk we'll go on to describe our efforts to port the app to Sailfish OS, a Qt-based mobile Linux platform with a user interface paradigm that differs significantly from Android's. The process took us on a fascinating journey, compiling Java code for a platform without a JVM and integrating it with the Qt (C++, QML, Silica) layers above.

This talk will cover topics relevant to AOSP users, mobile Linux users, the Sailfish OS community, Android developers and Qt developers.

Attachments


Notice: The placeholder video image is licensed under CC BY-SA 4.0. The original image can be found hereChanges made to the image are: Cropped the image to a new ratio, part of the image was cut off.