Riff.CC Update 2023-02-04

Hello from the Riff.CC Project!

In May 2022, we published a post on our OpenCollective hinting at what we’ve been up to, and left it fairly vague. Since that post, we’ve funded 100+ hours of development and built 3 working early prototypes. Today we want to elaborate a bit and show you what progress has occurred since then and talk about our future plans. Strap in, grab some popcorn, some coffee or whatever your favourite vice is and enjoy! 😀

The Library shall not fall again.

This slogan currently appears on Riff.CC’s homepage, but what does it mean?

It comes from a long history of platforms and products for the free and open distribution of media shutting down or misaligning their incentives with those of their users. Large “cultural libraries”, some respectful of copyright, some not, but all of which contained information and media that is valuable and not necessarily easy to replace, have fallen over the years.

This is hinted at by an easter egg on Riff.CC’s current home page - the period at the end of the slogan has a hidden link to an article about the Library of Alexandria.

The slogan, then, is a sort of dedication to the Library of Alexandria, and to the Libraries that have come after it that, too, have been lost - OiNK, What.CD, Mininova, and thousands more.

Vision

Riff.CC aims to “free the world’s culture”, by building tools and platforms for improving the free and open access to information and culture. Originally launched as Riff.CC Alpha (based on Unit3D), and now in stealth mode, the project now exists as open source software - a set of prototypes - being developed to achieve these goals. We’re collecting and distributing funding via OpenCollective, which is used for development and infrastructure costs.

An early design for the Riff.CC media player. Image taken from the documentary "RiP! A Remix Manifesto".
An early design for the Riff.CC media player. Image taken from the documentary "RiP! A Remix Manifesto".

What we’re aiming to build at the moment is a technology stack that will allow for users and content distribution websites (“instances”) to collaboratively build collections of media, and share those collections with other websites in a publish/subscribe model, allowing for a network of independent operators to form a content distribution system without a single point of failure or influence - much like the p2p networks of old and new - which primarily stores content on the InterPlanetary File System and related projects like Filecoin.

The flagship instance once the software is in a usable state will be hosted at Riff.CC, as “the Netflix of Creative Commons media” - allowing anyone to upload high quality Creative Commons and other libre-licensed content (such as public domain content and free software) to a platform that showcases it and makes it streamable and available to the world.

Here’s a peek at some of the other early designs from Riff.CC:

An early design for the front page of Riff.CC. Credit: Wings (Benjamin Arntzen), Tarun Ghosh, the Riff.CC Project.
An early design for the front page of Riff.CC. Credit: Wings (Benjamin Arntzen), Tarun Ghosh, the Riff.CC Project.
An even earlier design, showing much of the same influences.
An even earlier design, showing much of the same influences.
A concept for a splash screen showing the poster of a movie as it loads.
A concept for a splash screen showing the poster of a movie as it loads.

Development

Post-Riff.CC development was kicked off by Lexi (Matrix: @Lexi:matrix.org), who built a prototype called Omegun using GUN. He implemented the basic functionality of Riff.CC - uploading, listing pins, promoting users to moderators and basic access control, as well as significant portions of the federation concept (“follow Site” in this screenshot).

The Omegun prototype, built using GUN. The image shows a user attempting to login, finding they do not have an account yet, creating the account and then logging in.
The Omegun prototype, built using GUN. The image shows a user attempting to login, finding they do not have an account yet, creating the account and then logging in.

Orbiter

Midway through the development of the Omegun prototype (after huge progress was made), we brought on Julien Malard-Adam to work on a new alternate prototype called Orbiter, using OrbitDB instead of GUN. The prototype quickly progressed to have many of the same features as Omegun, initially using placeholder code for all functions and later turned into a “real” prototype.

The splash screen for the Orbiter prototype, taken November 2022.
The splash screen for the Orbiter prototype, taken November 2022.
An early concept of the settings panel, including trusted sites, Omega's version of federation. Taken November 2022.
An early concept of the settings panel, including trusted sites, Omega's version of federation. Taken November 2022.
The releases page, listing a bunch of dummy IPFS CIDs (UUIDs labelled as CIDs, technically 😀).
The releases page, listing a bunch of dummy IPFS CIDs (UUIDs labelled as CIDs, technically 😀).

Ceramic Riff

One of the protocols/projects considered for development was Ceramic from an early stage (around the time Orbiter was first being worked on). Later, seeing the progress of Ceramic development and the early development of ComposeDB on Ceramic, Riff.CC went to Gitcoin to find a developer to work on a basic prototype of Riff.CC on Ceramic.

A bounty of $500 USD was posted on Gitcoin:

The work was taken up by a developer found through the platform, Lucas, who very quickly turned out a prototype with the required functionality in what turned out to be a stunning amount of work (compared to the “hours” estimate given on Gitcoin). Ultimately $1100 USD was paid out - the original $500 bounty, plus additional funding granted in recognition of the extra work that went into the prototype beyond the original time estimates.

Uploading an IPFS CID to Riff.CC Ceramic. Taken 2023-02-05.
Uploading an IPFS CID to Riff.CC Ceramic. Taken 2023-02-05.

On January 15th, 2023, we achieved a full federation demo for the first time - two completely independent Riff.CC instances, running on different domains, different servers on different continents, with different Ceramic private keys and different admin accounts, publishing and subscribing to each other.

Federation!
Federation!

It was a fairly basic demo, but we were able to upload a pin on Riff.CC, then on FTWC.xyz (a demo domain purchased for testing) subscribe to Riff.CC and see its content appear on FTWC.xyz. We then made Riff.CC subscribe to FTWC.xyz after uploading something to FTWC.xyz and saw the content appear on Riff.CC.

We think that being able to create relationships not just between users or abstract objects but between platforms and websites themselves - even in the basic form of federation we’ve specified for our current plans - is extremely powerful. Combine it with the power of IPFS’ global-by-default nature, and you have the ability for platforms to collaboratively share resources and users in a positive sum game.

If you want to see what we do next, follow our progress on OpenCollective or come talk to us on Matrix @ #rcc:perthchat.org 🎉

Onwards!

Subscribe to Benjamin Arntzen
Receive the latest updates directly to your inbox.
Verification
This entry has been permanently stored onchain and signed by its creator.