Protocol options for interoperation of music hosting services

Continuing the discussion from Canimus: yet another federation/syndication approach:

If I’d claimed there was, you’d be quite right that I was barking up the wrong tree, if not howling mad :dog_face:

But that’s not really what I was saying. Here it is again, with some clarification;

I can’t see how this a bold or partisan claim. It’s just a neutral statement of fact. As you can see for yourself, by looking at stats on sites like The Federation, FediDB, or fediverse.observer.

Again, this is just a statement of fact. @BandWagon has been federating over ActivityPub since 2024. As I’m sure @petitminion will confirm, FunkWhale started federating with the rest of the fediverse in 2019.

This is obviously a bit more aspirational :wink: @Mirlo have been working on federating over AP since 2023, and recently got funding for this from NlNet. So that will take the software options for running a federated music hosting service up to 3. But really, what’s significant here is not how many software options there are, but how many such services there are and how many people publish and find music on them.

So far, there are at least 63 services running FunkWhale alone. None of the stats sites are specifically tracking BandWagon instances yet, but there’s at least 1. Once Mirlo finishes their AP implementation, that will add 1 more. So that’s a total of 65 music hosting services, linked together into a unified network, managed as a commons.

You’re right that it’s not widely used, yet. But it’s not nothing, and I think it’s a good Proof of Concept for the potential of this approach. Who knows whether it will take off? The future is, after all, an undiscovered country, and tech adoption is driven more by fashion and dumb luck than clear-eyed technical evaluations.

Of course. But people discover new music there for the same reason we discover music anywhere people casually chat with each other, in person or online. Word-of-mouth is one of the most powerful forms of discovery, and underlies almost all the others, including social media and especially social networks.

Side note: Tech terminology is a PITA. So many vague terms, used in conflicting ways, in different contexts, by different people (‘platform’ being one of the worst offenders here). But I’m using ‘social network’ to describe online tech that enables direct, 2-way connections between people, and among groups of people.

By this definition, the fediverse and Matrix are social network tools, but DataFarms like Xitter and InstaGrab are not. Because connections there are between each person and the platform, mediated by The Algorithms (not direct), and the networks they facilitate in practice are mostly parasocial (not 2-way). The term ‘social media’ is increasingly used specifically for these kinds of platforms (eg see Jonathan Haidt’s interview on Hard Fork), and although I was initially thrown by this, it does make sense as a special case of the “the media” as people traditionally use that term (1-to-many media like newspapers, radio, and TV).

If you mean social media platforms (by the definition given above), then yes, I agree. I think what FunkWhale, BandWagon and Mirlo have achieved shows that what you say is not true for the fediverse as a social network, and the constructive participation of their devs here (including in the Canimus thread), shows that we’re not stuck with what we’ve got so far.

What I find exciting about the potential of integrating music services with the fediverse is that it allows 2 totally different styles of discovery to happen within a unified network; BrandCramp style browsing, and organic discovery in the wider social web. A few thoughts on each.

BrandCramp style browsing. Ideally, I’d be able to go to whichever of those 65+ music hosting services provides me the most convenient search tools, and find music from any of them. The cross-service search portal maintained by @kidlightbulbs at unstream.stream is a Proof of Concept for this kind of unified search experience. It may or may not be the current reality in AP-federated music services, but if not, that points to UX work - and maybe protocol work - that needs to be done.

Organic discovery. Word-of-mouth in the fediverse/ threadiverse outside the music publishing services. As above, but without The Algorithms of the platforms putting their thumbs on the scale. Because artist publishing accounts exist in the social network itself, and their music releases and announcements are posts in that network, they’re easy to reference (via @mentions and fedi-links) and browse, and they can easily find and take part in the chatter about their music. Organic discovery can be boosted by existing social web tools like searches on hastags, following artist accounts, etc.

Intriguing. What would you propose we use instead? I’ve been following decentralised protocol dev for a long time, and I’ve seen a lot of projects come and go. ActivityPub wasn’t the first protocol used in the fediverse, and may not be the last, at least not in its current form, even if the name sticks around. I’m always open to other options. Hit me! :smiley:

I want the publishing tool I use for the Disintermedia blog (currently Ghost) to throw my posts over as many protocol walls as possible, and see what works. Ghost currently publishes on the web, RSS, email and AP. I’d love it to also act as an ATProto PDS, so people on BlueSky can follow it natively. If there’s a way for it to publish on Nostr, Scuttlebutt, anywhere else, great! Let a thousands flowers bloom.

1 Like

To be clear we didn’t get the funding to Federate “over AP” ! The funding is to create a decentralized streaming ecosystem and build protocol with other like minded services that can be used across many different music streaming approaches. Which is a completely different thing altogether? For that task, AP isn’t great and it feels like using a tool that doesn’t do any of the things we want “just because it’s used for some other thing”. We do integrate AP where we think it makes sense, but that’s, as I said, quite marginal compared to what we need.

But this is not the case ! They’re not linked together in any meaningful way other than sharing some very lightweight informations that could be shared just as easily in other ways. In many ways I think the way we use AP in the music landscape is often closer to over engineering for the simple act of sharing a link to your new release. I think there’s some misunderstanding here of what’s needed and what’s at play. You mention 65 platforms using AP for music sharing but imo, the “gains” of how AP is being used are marginal and using iframes embed is just as good, at which point AP isn’t even needed at all. People can already share bandcamp links and soundcloud links and Mirlo links on the Fediverse without AP being required to do so.

The only thing AP does that’s possibly “nice” but also can be a problem is it can help with leaving comments on artist pages, which logically it can because that’s… about making the artist page function more like a social network. (which is not necessarily something desirable in some cases)

I don’t want to dive into the weeds just yet of what exactly is needed because it’s just a lot, but a music listening service is a very complex thing, it’s complex legally, it’s complex in terms of metadata being tracked, in terms of features the musicians are looking for, features the listeners are looking for etc.

For the conceptual discussion around “what decentralized means” I want to link to the interview I did for DIY Conspiracy cause there’s a few things about that and I do mention ActivityPub :

1 Like

@LLK you are working on mirlo ? You might be interested by this proposition.

We’re already looking into all of this ! Thanks for sharing :slight_smile:

Hey @LLK I detect a note of frustration here, even anger. If I’ve said something provocative or unreasonable, please let me know. I’m autistic, so I’m not always good at reading the room, and I have a tendency to infodump without realising it. Because I’m trying to clearly explain the logic behind the points I’m making, rather than just waving my hands in general directions.

My apologies, I didn’t realise I was talking to a member of the Mirlo team. Having checked just now, I can see you mentioned it on the Introductions page. But FYI I can’t see anything in your profile to indicate that affiliation, which might be helpful, along with putting the @names of team members who are here next to the Mirlo entry on the Who is missing? Who should we invite? page. Just to avoid people like me making assumptions and teaching grandma to sucks eggs :grin:

Comments from other team members (@simon maybe?) gave me the impression Mirlo is actively working on an AP implementation, as did that GritHub issue. The NlNet grant at that link is titled “Federating Mirlo”, so I thought it was a reasonable assumption it was for that. My apologies again if I misunderstood.

Cool. I was planning to add Mirlo to the fediverse.party watchlist (rebuilding this is very much WIP right now), and that seems to confirm I’m on right track, so I’ve done that. Again, feel free to clarify if I’ve misunderstood.

Care to expand on why you think that?

I don’t want to assume it’s because you don’t understand AP. So I’m assuming you know all this, but just in case anyone else reading this thread is interested …

Obviously AP isn’t the One Ring to rule them all. Even in existing fediverse software, WebFinger, RSS, Zot/Nomad, OAuth, and other protocols are all used where they’re useful. The whole Social Web sits atop web protocols (primarily HTTP), which in turn sit atop deeper layers of net protocols (DNS, BGP, etc, and at the base of it all TCP/IP).

But people often have a limited view of what AP is, based on how Mastodon uses it. Which is a bit like defining what the web is, by what motherfuckingwebsite.com can do. There’s much more to both. For anyone interested, I recommend Reading ActivityPub by Hometown dev Darius Kazemi, which aims to walk new AP devs through how to make use of the Activity Vocabulary defined in ActivityStreams, to do a much wider range of things with AP server-to-server federation than is often realised. Another aspect of AP that’s often underappreciated - and I think very relevant to the music hosting use case - is what can be done with Linked Data in AP federation.

This confuses me, because I explained a number of benefits of using AP federation in the OP. Let me dig them out of my wall of text for you;

You seem very committed to the position that AP isn’t the right protocol for connecting music hosting services. Since as I’ve said, I’m not assuming lack of familiarity with the relevant specs, I can only presume it’s because you’re bullish on another approach. So again, what would you propose we use instead? Seriously, infodump on me, I’m keen to learn!

To be clear, I’m never angry ! I understand where you’re coming from and it’s all very much ok. But I just want to hammer home that we are looking into all of this very seriously, and we’re also taking seriously the fact that we actively DO NOT WANT to create new protocols and stuff for the sake of it, it’s not an ego thing. All of us here come from a long tradition of “look for what’s already been done before and try to use that if it works instead of coding something new” so if there is something (like AP, Atom, RSS, you name it) we look into it first and we try to implement it. That’s why Mirlo uses RSS feeds already, is looking into how best to approach AP integration for meaningful features etc.

So we’re trying to stay very pragmatic and close to our goals. If they can happen with existing tech they should, if existing tech is making it harder for us then we try to figure out if it’s just because it’s hard period or there isn’t a simpler approach, or if it’s just that we’re using the wrong tech. We have constant conversations about that stuff.

The thing here, is that music is a very diverse thing that is completely different in nature to the act of “discussing amongst humans online using words in either real time or asynchronous semi-real time fashion”. A “music release” is a very specific kind of work, that carries a wide ranging variety of property and management structures, in different countries, communities, industries, all depending on stuff like “is this musician making money off of it, if yes is it hobby money or life-sustaining money, or is it no money at all, do they care about monetizing, don’t they, is it about making things accessible, is it about figuring out support, is it a 10 person band, is it a loner with a laptop, is the music copyrighted, if so in which countries and how…” the list goes on and I’ve hardly scratched the surface of what’s at play. None of which you need to worry about when you create a social network, be it Discord-like, Twitter-like, Facebook-like, or Newsletter-like.

So, considering all that and the sheer complexity of a world of music that already exists and is extremely rich and multifacetted, as music platform tool builders, we’re a sort of cornerstone place where we need to gather feedback from all these varied actors and figure out a similarly multifaceted infrastructure that can work for the hobbyist and also for the indie label that wants to escape the claws of Spotify & co. And ideally, we’d even want to build tools that make it so that what the indie label needs can then also serve the non-profit hobbyist that just wants to release his music out into the world, and this could mean many things. “AP or not AP” is kind of secondary, if AP is the best tool for it, we’ll figure it out, there are tons of great people trying to figure exactly this.

The things you mention about Bandcamp style browsing and organic discovery, I think they’re kind of the easy part, and in many ways I think they’re already possible and figured out. You mentionned Unstream and it already does a lot of that indeed, that’s why we’re in talks with Brandon. It’s when you want to expand beyond that and offer affordance and ease of use to people who are not well versed into the Fediverse ecosystem and just want to listen to music easily and feel good about where they’re listening to it because they know they’re not funnelling money into fascist corporate entities, that then, it kind of becomes complicated.

It’s already taking me a long time to write this answer, I’ll refer you to the DIY conspiracy itw I shared for some more information even if, in the grand scheme of things even that ITW remains quite surface level so I’m sure you’d have even more questions.

I want to say that for us, replying and making these long posts is a lot of effort ! So again reiterating : I’m writing this long message out of respect, not anger, for all the energy you put into trying to figure this out. But we need to be mindful of eachother’s capacity. Mirlo is a very open project, reading our blog and social media posts already gives an excellent grasp of all that we’re about I think, which shouldn’t mean you can just “trust us for it”, but it definitely also represents kind of the “maximum energy we can dedicate” to explaining every bit of detail of what we’re doing and why.

I’m trying my best to elucidate whatever is missing here and I hope this has value, but yeah, I want to remind everyone that doing this is tons of work and we’re, at the end of the day, volunteer workers doing our best and trying to stay sane in an increasingly hostile economic/political environment :sweat_smile:

Edit : One last thing. The reason I wrote this is to say : I think you should understand that ultimately we share your values. We don’t have “hard stance” on tech, we take it as we go and if they can help make what we’re building easier to build we use them. We are absolutely aligned conceptually, but when we see someone push very strongly for a specific tech when we’re the ones working daily with the code, it feels like the assumption is that we’re not seriously looking into it and somehow dismissing it “on principle”. Which is why I say I get that you don’t have to trust our word for it, but I’m kindly asking that you do because we are.

3 Likes

@LLK plz feel free to share any question / suggestion / implementation you do around this :slight_smile:

I saw my name mentioned here and read up on the thread. I kind of want to ask a question, I apologize if it’s stop energy: What problem are we trying to solve here? **Is a protocol for interoperability a red herring?
**
It feels like it’s hard to get lots of platform builders and such to agree on a single protocol, which in turn is a minority representation of all music listening activity, the majority of which happens in walled gardens and this likely won’t change. I kind of can’t help but feel like the underlying problem many of us are trying to solve with conversations like this are: how do we get more people to consider other options for engaging with music/artists outside of streaming (and/or algorithm-based) entertainment platforms? Or is there an urge to change how music discovery is done too?

Like, would an interoperable protocol matter so much if more people had other ways of knowing how to support artists they like via the ways they already listen to music (what Unstream aims to solve for), even understood the value of supporting artists directly, and (as it relates to unifying protocols) how to download music files and easily listen to them on their phones? Do we need a single unifying protocol if people have a way of knowing where to support the artists they come across but rediscover the joy of making their own music libraries locally?

  • The last topic is one that periodically comes up for me with Unstream - folks will say “yeah that’s great, but I’m not realistically going to change my habits to buying on [direct-buy platform] because downloading an album is annoying to deal with compared to [streaming app].” What if I did a really good job of helping people understand that this is actually not that hard (even on iOS) and worth the trouble if you care about music and music discovery?

Again, no disrespect intended, I kind of find this protocol stuff fascinating, but I also wonder if this is much more a UX and education problem than something that can be solved with technology.

2 Likes

I share the idea that protocol is only a part of the problem. Most of the issue lies on the economy and social institutions. But the first step to allow interoperability is a protocol. Without it the only path is a walled garden (that can be open source). ActivityPub if a protocol for social network, while RSS is one for static sites. Both are great.

1 Like

I come at it the other way round (which is to say : not conceptually incompatible, these are two different approaches that are not mutually exclusive). Which is : Who am I to tell people they’re wrong about how they interact with music and they absolutely should do it some other way because it is the right way. I want to interrogate a tendency (especially in ethical oriented spaces) to treat behavioral patterns that emerge from capitalist landscapes as inherently bad because of the landscape that spawned them.

I kind of reject the idea that people should change how they interact with music online because the old way of downloading and having a local library is inherently better. I think there’s a point where if a vastly dominating majority of people interact with things in a certain way, you can’t put the success of this adoption of new patterns entirely on “capitalism has the resources to push for it”, and you might want to accept that there is a desirability factor to it as well that might not be entirely bad.

So in turn, the question becomes, how much of that new way that people relate to listening to musical sound can be done in an anticapitalist perspective? Is it even possible? How much of that logic is tied to hegemonic capitalism, how much can be changed?

And I don’t like to ask myself these questions in the abstract because I think it gets us nowhere and we get lost in conceptual conversations that you can easily drown in. I like to do things and build based on feedback and momentum building, statistics and academic studies, outreach and social gatherings, like any political movement trying to reach critical mass for new ideas usually do. It takes time, and lots of trial and error, but it makes things interesting.

4 Likes

Thanks for this - I actually agree quite a bit with what you’re saying here. I think I come at it from a different way (and perhaps was not clear in my last message), more from a place of wanting to share knowledge rather than push a particular approach. Because who am I to tell people what is best? But I also suspect that a lot of people simply don’t know what’s possible, and what benefits might exist from using a different approach. Even that requires trial and error though (to your last point).

3 Likes

Yeah it’s really why I meant that I think it’s less mutually exclusive than it might seem, like, the two ideas could and should exist simultaneously because either way they help with generating diversity, and fostering plurality of behavioral pattern (either through making widespread patterns less harmful, or by directing to other patterns that are already less harmful by facilitating it) is a desirable goal, would it just be because when you want to “improve things” you never know that you are actually improving things until proven otherwise, so we need to go at it in multiple ways and see what sticks.

And that’s also why I like the idea of collaboration ! Because this way we can make sure that we’re going at it multiple ways by being conscious and aware of eachother’s efforts, instead of going at it the same way multiple times.

2 Likes

I hear all of this @LLK . I suspect people often presume that I’m working for some NGO on a comfortable salary, with the job of harassing volunteer devs into following their agenda. The truth is, I’ve never had a fulltime paid job in my entire adult life, and there’s a good chance I never will. I live on a disability benefit, topped up by bits and piece of casual paid work, at music festivals in summer, and work from home stuff over winter. So believe me, I understand the struggles of working unpaid on passion projects in an increasingly precarious world. This is my life story.

Just to be clear, you don’t owe me or anyone else a reply, here or anywhere. Certainly not on a deadline. Unless there really is some urgency, I encourage you to take your time to reply.

There’s a popular quote often attributed to Mark Twain (apparently falsely) that goes something like; ‘I’m sorry I sent such a long letter, I didn’t have time to write a shorter one’. I find that when I discipline myself to braindump some initial thoughts in a draft, then come back to it when I have the time and the leisure to really give it the time it needs, I can write something much shorter, conveying the same info or more, and often considerably less heated in its tone. I’ve even argued for an option in social network apps that don’t show a notification for replies until 24 hours after they’re sent (or longer as an option in the Settings).

Having said all that - because community building is an important as anything else we’re doing here - I do have one reply on the subject of protocols;

So is ActivityPub! This is exactly the assumption I was getting at when I said;

I don’t think a comprehensive social music network can be built by mimicking what Mastodon does; using only half the AP spec (they’ve never used the AP client-to-server spec), twisted to fit the shape required to use it in parallel with the first protocol they used (OStatus, now deprecated), which was in turn distorted by Gargron’s initial design goal of being a feature complete TweetDeck/Titter clone. That approach would utilise only a fraction of what AP is capable of doing.

2 Likes

For me, it’s the problem of corporations using the chokepoints they create and control, as intermediaries between audiences and artists, to keep the majority of the money the former try to give to the latter. Subjugating artists as sharecroppers on enclosed commons, despite the fact they create all the value music industries are based on. This was a problem before the net, and it’s one many groups tried to use the net to solve, but were mostly knobbled in the CopyWars (eg what happened to Napster, Grokster, GrooveShark).

Also, as a consequence of the first problem, the vicious cycle of those corporations using artists’ money to organise against their interests. Then, as a consequence of increasingly unaccountable corporate power, the rapid enshittification of those intermediary platforms for both artists and audiences.

Music communities deserve better, and we can rebuild the music distribution system, we have the technology.

Absolutely not, it’s a prerequisite for solving that problem. Because as we’ve seen over and over, without a way for many small services to pool their network effects, the only way to complete effectively with those corporations is to become one, and inevitably, to become part of the problem. As @petitminion put it;

Take BrandCramp itself. In 2008 it was a scrappy startup, like Mirlo or Subjam, competing against huge incumbents like the iTunes Store for music sales, and Last.fm and Pandora for music discovery. Just as FarceBook was once a scrappy startup, doing adversarial interoperation with the giant incumbent of social media (and another competitor with iTunes), MySpace.

As Douglas Rushkoff explains in ‘Throwing Rocks …’, startups either run out of money before they became profitable and collapse, or to give them a chance to get big enough, fast enough to survive, take money from Venture Capitalists. Forcing them inexorably towards exit by acquisition or IPO - getting bought by a corporation, or becoming one - so the VCs can extract more money than they put in. Again, this happened before the net, eg with magazines, radio, and television. But something about the nature of the net means it happens much faster - within a generation rather than over several - and is much more visible.

So what’s the alternative to the deal with the devil (Venture Capitalists) when competing against deep-pocketed corporate incumbents? Joining with other small competitors to become part of something bigger, which can compete collectively against those incumbents. While each member service, under no pressure to grow like a tumour, can instead grow in a sustainable way, remaining human-scale and under the control of its dev team.

This seems like a distinction without a difference. If we were to accept that corporations will always control music hosting and sales - and thereby new music discovery - what purpose could there possibly be in a forum like this? If people were satisfied with Spitity, BrandCramp and YouTube, why would we use Unstream? I believe both artists and audiences want a replacement for the rapidly enshittifying corporate platforms - I know I do. We just need to make it practical to use, and easy to find, rather than requiring special geeks skills or a huge amount of time and perseverance.

1 Like

We are working on ActivityPub integration (it’s a pain, by the way, not a lot of support, complex, and hard to navigate) and where we’re looking for that integration is basically that you can follow artists, and you’ll receive their posts (WIP but this is what that looks like) on Mirlo (alongside, likely notifications that they published an album).

However there’s a couple of things here. Artists likely want a more nuanced control of their tweets / whatevers, because they’re operating under patterns that they’re used to. So they will already have their own accounts. Will they want to be responsible for another account posting to a social media space? Unclear to me if that’s actually desirable from their point of view. To me there’s a difference to the press releases and blog posts on your website and the toots or whatever that you fire off a million times a day. (We’re going to let artists choose). tbh I think RSS and mailing lists solves this much simpler and with a lot less unnecessary energy expenditure than ActivityPub does and are much better understood by every day people.

Additionally, a lot of what we’re trying to solve here aren’t “activities” or telling people about those activities. Instead we’re talking about catalogs and the ability to look at catalogs and listen to music on the catalogs. That’s not what ActivityPub is for. Even bandwagon, which started from the ground up as an ActivityPub project, isn’t handling catalog search that way (or wasn’t anyway when @bandwagon wrote this Building a Federated Search Engine ). That’s what @fluffy is trying to accomplish with Canimus.

When I’m searching FEP I’m not seeing anything that actually solves this idea of a catalog. There are “music” events. No idea what that means. There’s something about sharing playlists (but it’s only used as an example) but playlists don’t have the same functionality as an album.

3 Likes

I hear all this @simon and thanks for the details about pain points.

For now, any music service devs experimenting with AP (and other protocols) are creating desire paths, not walking them, let alone strolling on paved surfaces. You are pioneering, like the first people to build digital music stores on the web at all (RIP AdoptABand), and I want to acknowledge both that you are doing the lord’s work, and that is it hard.

Keep up the great work!

I’ve said plenty - in this topic and others - about why AP federation seems useful to me, as a music fan and a (hobbyist) musician. @bandwagon and @petitminion are probably in a better position to comment usefully on the nuts and bolts of using AP on the backend. So all I’ll add is that I’ll happily do pro bono UX consulting for any Free Code software project in this community. To help the developers of music hosting services, and the artists and audiences using them, figure out how to make the social web serve the needs of everyone involved. Feel free to hit me up here, in public or in private, in the 'verse (@strypeymastodon.nzoss.nz), or using any of the contact info on my homepage.

I’ll restrain myself from commenting further on this for now. I’d like to hear from others about their takes on the pros and cons of the federated social web approach.

did you have a look at this fep ? There is a lot of thing around audio collections. I don’t understand what a catalog is ? It’s a collection of music objects ?

feel free to joinf the discussion here FEP-be68: Audio Objects - #8 by petitminion - Server to Server - SocialHub

also about rss did you have a look at this analyse and this proposition

I had looked at FEP Documentation a month or so ago, and I was thinking of talking to someone from there on the podcast. I was looking to talk about how music is handled or some of the ideas for it, as far as ActivityPub. Or even the possibilities for its future in the indie music scene. But I didn’t really know who I should talk to.

I saw some of the discussion about audio there, but I wasn’t really sure about the topic for the show. Truthfully, going through the documentation was overwhelming, and I didn’t really know how to approach it. :blush:

Also, I just wanted to add to the conversation in this thread from earlier. I just wanted to mention that orgs like The Internet Archive are for sure one of the places that have handled music without succumbing to what Bandcamp, etc., did to stay afloat. They aren’t as popular and pretty dated as far as their site, but their PBS, public access model has always been something I admire.

feel free to comment on the fep if you have any question ! you can also send me a pm if you want. I understand there is a lot of information. I guess it’s because the FEP handle a lot of cases, feel free to share any insight to make it simpler.

1 Like