Send in your ideas. Deadline October 1, 2024
Theme fund: NGI0 Discovery
Start: 2020-10
End: 2022-10


Enjoy and share federated videos

Cuttlefish is a client for PeerTube that will allow for searching and discovering new and interesting video's online with more privacy. PeerTube is a federated video hosting service based on the W3C ActivityPub standard. By using WebTorrent - a version of BitTorrent that runs in the browser - users help serve videos to other users. Cuttlefish is a desktop client for PeerTube, but will work on GNU/Linux-based phones (like the Librem 5 or Pinephone) as well.

We want the experience of watching PeerTube videos and using PeerTube in general to be better, by making a native application that will become the best and most efficient way to hook into the federation of interconnected video hosting services. It will have improved search, and will allow people to continue sharing watched videos with other PeerTube users for longer periods of time, instead of discarding the video when done watching. It will also help bridge PeerTube's gap between the - now separated - BitTorrent and WebTorrent networks by speaking both of those protocols.

Why does this actually matter to end users?

In the same year when the ARPAnet (the predecessor of the internet) was invented, people tuned into their tube televisions to watch a global live broadcast of astronauts first landing on the moon. If they missed that historical moment, that would be it. There was no ability for normal people to record television broadcasts, no ability to rewind or look back programmes from the online guide. At the turn of the millennium, three decades later, everyone was still watching traditional television: quite a few people may have had a video recorder, but this needed to be programmed in advance or you would still miss your favourite tv programme. And there had better not be two programmes you would want to record at the same time.

That has all changed in recent years. On demand video via the internet has meanwhile assumed an important, but also somewhat controversial role. A tiny set of dominant online video hosting platforms (most people would have trouble naming more than two) has emerged, these control how hundreds of millions of users spend many billions of hours of human lives every year. The platform's features and algorithms determine what you see, who can be discovered (whether this is called "trending", "recommended" or "autoplay"), who is banned and deleted, and who is just left out of the spotlight. Users can only follow the patterns laid out for them on screen. The platforms also determine what information is logged about your searches and binge viewing behaviour, and privately decide who they sell your interests and location to. That is a far cry from the privacy granted by traditional television and radio broadcasting, where literally noone outside of the room could know which programme you would pick from the ether. What data is tracked, and what filters and algorithms are used by these online video platforms, remains opaque for users. Contrary to traditional media, the platforms feel no responsibility for checking facts: they focus on commercial value to them, not social value.

To move away from these self-serving monopolies, we need alternative infrastructures to host and share our own videos with. Something like our own private television channel where we decide what to broadcast and tune in to, without advertisements, tracking and profiling. That is what PeerTube allows you to do: peer-to-peer open source technology that lets you set up a turnkey video platform for your own content (and with your own rules). Videos Videos are stored by each instance independently, and so there is no censorship or systemic bias.

There is a lively community of Peertube-instances and audiences sharing and enjoying content, from tv shows to lectures and music, and a host of clients and programs to watch it all on your phone or laptop. What Cuttlefish adds to this, is letting users support the PeerTube-instance they are watching simply by using the program. When you want a video on a PeerTube-instance, you are a peer sharing bandwidth with that instance to make sure the server can manage a lot of users streaming the same content at once. But when you are done watching and close the tab, all the downloaded video data is lost and you are no longer sharing with the peer-to-peer-network. Cuttlefish instead allows you to keep the files of watched videos as long as you want to, relieving pressure on small instances. This way the video player does not only provide a fun and seamless user experience, users are also contributing to a stable and available network for others to watch videos as well. This can help to make PeerTube more fault-resistant and attractive to new viewers and content creators who are fed up with the increasing control video platforms hold over their content.

Logo NLnet: abstract logo of four people seen from above Logo NGI Zero: letterlogo shaped like a tag

This project was funded through the NGI0 Discovery Fund, a fund established by NLnet with financial support from the European Commission's Next Generation Internet programme, under the aegis of DG Communications Networks, Content and Technology under grant agreement No 825322.

This project is archived. Due to circumstances, the project as planned did not take place. This page is left as a placeholder, for transparency reasons and to perhaps inspire others to take up this work.