Sockpuppet Blog.

Subvert launched, yet another music sale platform

Hey y'all! Subvert officially launched today, and of course I have some of my music up on it. Having more options for independent-friendly music shops is generally a good thing, but I do have some thoughts about where things are going and how things could be a lot better.

Subvert is getting a lot of hype because it’s new but I don’t see it as my long-term solution for music sales. I’m not sure what I’d consider to be my primary platform right now (probably Mirlo), but in the long term I think the future is self-hosting and self-distributing.

The current state of things

So, right now there are a whole bunch of indie music stores. The ones I currently have a presence on include:

And additionally when I want to put stuff into streaming I have to also upload it to

That’s a lot of things to have to upload my stuff to, each one requiring separate metadata setups and agreements and so on, and frankly, it’s super tiring.

Canimus

What I really want is a future where people can self-host their stuff with their publishing engine of choice (Faircamp or Publ or whatever), trivially sell their downloads, and from their own site also get their stuff circulated in the various discovery feeds out there.

This idea was the impetus behind Canimus, a protocol for sharing collection metadata in a lightweight, platform-agnostic manner.

Basically, the idea of Canimus is the following:

  • Music publishers can provide a collection (also known as a “feed”) as a simple JSON format that includes albums, tracks, titles, purchase links, and streaming preview links
  • Music collectors can provide an access-controlled collection
  • Listeners can link their player application (web-based or otherwise) to multiple collections
  • The player application can also provide feeds of peoples' listening activities and use that to build federated discovery and recommendations (by people following each other there as well)

And all of this just lives natively on the web.

Right now, Fairplayer is a thing that’s in development that shares many of the same goals as me. They’re working on specifically supporting Faircamp websites as a streaming music source, but I’ve also been in communication with them regarding Canimus, and similarly the folks behind Mirlo also share these goals. We’ve been talking a lot about some of the ways that things can move forward.

This website already has a Canimus feed. I also added one to Song Fight!. At some point I want to make a plugin thingy so that FairCamp users can easily add a Canimus feed to their sites (although maybe the Fairplayer folks are already working on that? I need to touch base with them).

Funkwhale and ActivityPub and such

Whenever I talk about this stuff I always get people insisting that I should really be looking into ActivityPub and specifically Funkwhale. The promise is always that ActivityPub is somehow a magical protocol that solves all these issues, but only with a lot of hand-waving. The thing is that ActivityPub doesn’t actually solve any issues; it just pushes them down the stack, in ways that are even less approachable for everyday people.

ActivityPub things don’t just naturally interoperate. Heck, Funkwhale 2.0 won’t even talk to Funkwhale 1.0!

In order to actually build interoperability between things, the process involves building a FEP, a process that is arduous and results in a specification at the end that is very difficult to navigate or even find. Supposedly there are existing FEPs for music sharing and discovery, but damned if I can find any of them myself! They’re all just opaque numbers.

And everything ActivityPub seems to really want to use push-based notifications for all data exchange. Forget about backfilling, as well. It turns everything into a stream of ephemera, and requires two-way handshakes and peering relationships and, in many cases, PGP key exchanges. It’s a mess and trying to support anything in ActivityPub on a static website is pretty much a lost cause. Also the idea of being able to move to a new domain, or host the same site on multiple domains, is a lost cause. And every single means of interacting with ActivityPub stuff requires building yet another identity on whatever single-purpose service consumes it. Like, it’s not like it makes any sense to follow a Funkwhale user from a PeerTube user. You can do it but what information gets exchanged?

Basically, ActivityPub is full of a bunch of empty promises, and in order to fulfill the promise you have to write another protocol on top of it, get everyone to agree to that protocol, and fit it into a shape that might not work for things to begin with.

I just really don’t see what it brings to the table, in any practical terms.

The future is indie and distributed

Right now things are such a mess. Fragmentation of streaming services, the downplaying and outright dismissal of the idea of owning music, myriad platforms that want to be the only platform that anyone uses for all the things, and everything being funded by the endless churn of venture capital and rent-seeking.

And musicians end up needing to spend so much time trying to feed these platforms.

We each only have so much time to spend here on this Earth, and personally I’d rather not be spending it on repetitive tedium like having to re-upload and re-format my music based on the historical artifacts of a dying industry.

My vision for the future of how people publish music:

  1. The musician posts the music on their website using whatever tools (Faircamp, Bandcrash, etc.) and payment mechanisms (or lack thereof) work best for them
  2. The music goes out in their own sharing feed
  3. Their fans listen to it, buy it (or otherwise send payments to the musicians they want to support), add it to their collections, populate it into whatever distributed discovery mechanisms emerge, use whatever compatible player/receiver/streaming service makes the most sense for them

There is no need in this world for investors or rent-seeking platforms that exist to be The One And Only Thing. Protocols emerge and evolve and change and adapt based on the actual needs as they shift. People can focus on being creative and finding things they love, and not have to worry about where they’re doing it.

The web itself can be a perfectly good platform for all this stuff. Let’s try to make it happen.