I’m reading this spec here:
https://www.w3.org/TR/activitystreams-vocabulary/#dfn-listen
It seems like using the Listen action to an Audio object is actually correct going by the spec. Or at least, as correct as we’re going to get. That is, I’m not seeing any way in this document that’s closer to the exact thing we really want. And that’s of course assuming that an Audio document truly needs to include a direct link to a literal audio file or else it’s “invalid.” I happen to think this interpretation is a bit much. After all, how would we use ActivityPub to reference songs that you can’t freely download legally, like, ya know, most of them? Sorry sweaty, you just can’t scrobble Taylor Swift because to do so would require you to insert a direct FLAC link to her song, which would violate copyright law in your jurisdiction.
I think that’s not correct. I don’t think that an Audio document requires you to link directly to an audio file. I think that you can state that you Listened to something without uploading or linking to that thing. You can just reference it. I think the way Pleroma’s BE is mostly ideal as-is. I think its deprecation is wrong-headed.
That being said, if I had carte blanche to change the way PleromaBE ingested scrobbles, I would change one thing: accepting a url. While I don’t think it should be mandatory, I do think it should be optional. Why? Well, there’s an appeal to be made to end-user utility. That is, you can store that URL and deliver it to the user. That URL format should be as open-ended as ActivityPub itself is, which is to say very. The URL could be a link to the Last.fm page that you ultimately got the scrobble from initially. It could be an audio file somewhere. It could be a YouTube link. It should be freeform and more or less up to the user. If the user submits trash, chalk it up to user error.
But the utility of seeing a song someone scrobbled and being able to click a link that takes you to either an audio file of the song itself, or some website where you can stream it or buy it or whatever, sounds fantastic. I want that feature. I would love to implement that feature.
Arguments for leaving the PleromaBE scrobble spec alone, but adding an optional url field, in more succinct form:
- Being able to link to the song itself in one form or another makes the experience for users better
- The implementation as-is works outright, and is in line with ActivityPub’s specification, except for perhaps the most anal interpretations of it that run into serious practical problems
- Adding a URL field brings us closer to that extremely anal interpretation
- Keeping the URL field optional allows people to break “the rules” since they don’t seem to really matter in the first place in this context