This video from the activitypub conference 2020, is a perfect example of what I have tried to explain to friends and colleagues. The moderation isn’t just people but a system which is baked into the infrastructure of the fediverse. As the video explains its not perfect but its likely more effective than the centralised systems of Twitter, Facebook, etc.
Slide 3 – We don’t need to do things the way commercial social networks do.
He’s right theres an opportunity for different types of business models but everybody keeps comparing it to the commercial business models. Heck even myself, I have been writing a presentation and have a slide with number of users.
Slide 5 – What kind of experience would you have with the provider of the software if it was trusted?
This is a good question, my experience with different software and systems is quite different because its under my control or is more trusted. It does change the way you use and what kind of data I’m willing to share?
Slide 8 – What kind of client apps? Evan talks a lot about the fun type of client events which would benefit from a good client API. Reminds me what ever happened to the poking or the old twitter nudge
Slide 9 – More free accounts.
Evan talks about many different local and small groups which could do with something more smaller and local. For example churches, neighbourhoods, cities, families, schools and universities. I would add teams, leagues, local committees, residents committees.. This is something which drives me bananas that we have to use facebook groups for a local residents group. Then have to protect it from external others. Most of the residents are sitting on high speed fiber. It should be super easy to run a local system. Slide 10 – Talking of running a local system, Evan is right, there is something good and powerful about simple self contained devices. I would happily buy a raspberry pi like system where I plug it into my network and I get a activitypub/fediverse server. Add the ability for zeroconf and zero-maintenance and you got something which could have a great user experience and that would be very welcomed. Its why I use Xbian for Kodi on my raspberry pi. Right now I’d happily install Funkwhale on a Raspberry Pi because trying to use docker has been a endless battle.
Slide 11 – Federation of things not internet of things.
Its something I’ve been thinking about a lot, in a recent project with Lancaster and Edinburgh University, I described a system which sucks up your personal data and just makes a copy of it but under your control.. That device (we ended up calling the pebble) is pretty much what Evan is talking about but at a larger scale and static within the home.
The pebble device was meant to copy your personal area network (PAN) communication like your phone, headphones, smartwatch, smart ring, steps, etc.
Slide 12 – Quantified Self
Perfectly timed Evan describes the project for the pebble system I just mentioned. Capturing, runs, food, heartbeats, etc.. But what for? Slide 13 – Lifestreaming! One of the reasons for is because of lifestreaming. If you haven’t heard this term for a long while, its something I and others use to talk about a lot. Iys lost its meaning a bit but also fell out of favour.I do collect a lot of data and maybe for the same reasons as Evan, some kind of digital legacy? The last 3 slides make this much more possible than currently requesting data or scraping it.
Slide 14 – We don’t have to get people hooked!
This goes without saying right?
Slide 15 – Optimize for happy
I like where this is going, always thought there is something in the long time de-funked happiest network. The network seemed to fail because of the weight of investors and the need for a business model. but if we take some examples from slide 16, like helping people, making things, getting enough sleep and wrap them up in a network which doesn’t need business model as such. Now that could be something.
Seeing feel gratitude, also got me thinking about a simple gratitude client which posts in activitypub. Feels like something I could write but surprised no one hasn’t already done it? Been also thinking about a mashup of happiest, gratitude status, google’s defunked schemer and the BBC R&D human values.
Slide 17 – Optimize for connection.
Yes indeed, right on the human values train. The deepening of friendships and relationships can be massively powerful. And likewise…
Slide 18 – Optimize for meaning
Love the idea of Awesomescrolling oppose to doomscrolling! Not like Tiktok but something with substance which isn’t about entertaining you or being popular (what ever else the tiktok algorithm is optimised for).
Something which aids you in finding purpose and finding out whats really important to you, not just what advertisers want to put in front of you. Also love the idea of walking away with a sense of accomplishment not just happiness (not that this alone wouldn’t be enough of course).
Lastly Evan makes a good point about scaring people into the network. Important point made well…
I’ve been keeping an eye on whats happening in the next/web3/fediverse/indieweb space, here are a few things I found interesting
Theres a virtual conference about everything Activitypub.
A conference about the present and future of ActivityPub, the world’s leading federated social web standard.
Looks like a good virtual conference, and don’t forget to register for it.
One to mark the calendar and another one…
I was mentioning webmentions to someone the other day and wondering if there was other places webmentions could work beyond the typical scenarios. So when I saw Whim (a command-line utility for sending, receiving, and working with webmentions) with these features
Daemon to receive and store incoming webmentions
Webmention verifier, suitable for scheduled operation
A tool for sending webmentions, individually or en masse (given a source URL)
Commands to query a local database of received webmentions
Talking about indieweb and fediverse software, I’m impressed the long list of other software projects. Theres some neat projects there including
- dokieli looks good as its hits so many of the standards I’m interested in, especially the web annotations.
- reel2bits looks like funkwhale but maybe more webby
- gath.io is a quick and easy way to make and share events. Events are public with the special link, its like what doodle.com does.
- bookwyrm is a federated book reviewing system, aka a fedi-goodreads
Lastly a couple of things, although loosely indieweb/fediverse related.
I was interested to hear Kaliya Young on Floss weekly recently. Kaliya I have met a few times at the Mydata conference. Self-sovereign identity and the use of verifiable credentials and decentralized identifiers is a interesting area. I get the concept but haven’t had the chance to set one up yet. Last year after going to the Indiewebcamp, I setup indieauth which works in a similar way? In actual fact, it finally worked for me on retrying it.
I felt Kaliya did a reasonable job of explaining it but you can tell by the questions she was getting, people were not following. I recommend the Mydata 2018 talk although its moved on quite a bit. Don’t get me wrong its a very difficult thing to get, especially with audio only.
However I did catch Kaliya saying how important standards are and some kind of implementation. I very much agree, this is why I love what the indieweb community do. It also reminded me of something I heard on the twit podcast network too. Protocols not platforms – Protocols, Not Platforms: A Technological Approach to Free Speech.
Lets also not forget the experiment I’m part of with Web Monitization. So far its pretty good without having to block access to my postings. I’m sure there will be an update in a future blog post.
For a while I have been thinking about leaving Mixcloud. Its nothing personal, I think its a great service for djs but its clear their business model is starting to interfere with the listening experience.
I had a thought about what Mixcloud do for me and decided these are the key things.
- Hosting the full mix with limited rights problems (unless you do something like play a track from the same author twice)
- The community of people and djs in one place
- Ability to see the actual tracks within the mix
With this in mind, I thought I’d see what else was out there as I’m lucky enough to be sitting on a large enough internet connection to host my own mixes and become a node on a larger decentralised network. If it was build like the fediverse, that could solve the community side too? After looking around for alternatives I found a new upstart called funkwhale. You may have seen I mention it recently in a previous blog.
Maybe 1 and 2 could be solved but what about 3?
The last part of the puzzle seemed to be the track problem, as you want seamless playback but get an idea of what you are listening to. Mixcloud does this via metadata, which you can create via a slider over the audio waveform. Some DJ systems create this for you like the Pacemaker for example but that metadata is lost in translation I found. If only there was a standard way to define areas of a mix without slicing the audio mix up?
For example, here is a ambient mix I liked recently.
Its by Tonepoet and even they have gone through the effort of adding this metadata to their personal site complete with timings. I do a similar thing but without the timings (which I really should have added since I had them all and entered them into Mixcloud manually.
I looked a number of things including a bunch of playlist formats including pls, m3u and xspf. Even looked at smil and asx to see if they would help, but their problem was player support. The issue seemed to be they all treated their smallest objects as physical files rather than subsets of files. I did buy into xspf thought it was close with this extension.
The extension element allows non-XSPF XML to be included in XSPF documents. The purpose is to allow nested XML, which the meta and link elements do not. xspf:playlist elements MAY contain zero or more extension elements.<playlist version="1" xmlns="http://xspf.org/ns/0/" xmlns:cl="http://example.com"> <extension application="http://example.com"> <cl:clip start="25000" end="34500"/> </extension> <trackList /> </playlist>
Close but not quite right and player support for extensions was going to be low. This is when I rethought the problem with something like .nfo files and found .cue files. Here is an example…
REM GENRE Electronica REM DATE 1998 PERFORMER "Faithless" TITLE "Live in Berlin" FILE "Faithless - Live in Berlin.mp3" MP3 TRACK 01 AUDIO TITLE "Reverence" PERFORMER "Faithless" INDEX 01 00:00:00 TRACK 02 AUDIO TITLE "She's My Baby" PERFORMER "Faithless" INDEX 01 06:42:00 TRACK 03 AUDIO TITLE "Take the Long Way Home" PERFORMER "Faithless" INDEX 01 10:54:00 TRACK 04 AUDIO TITLE "Insomnia" PERFORMER "Faithless" INDEX 01 17:04:00 TRACK 05 AUDIO TITLE "Bring the Family Back" PERFORMER "Faithless" INDEX 01 25:44:00 TRACK 06 AUDIO TITLE "Salva Mea" PERFORMER "Faithless" INDEX 01 30:50:00 TRACK 07 AUDIO TITLE "Dirty Old Man" PERFORMER "Faithless" INDEX 01 38:24:00 TRACK 08 AUDIO TITLE "God Is a DJ" PERFORMER "Faithless" INDEX 01 42:35:00
Perfect, so I took one of mixes, Quiver in the underground and turned the .nfo file into a .cue file.
REM GENRE Tech Trance REM DATE 2019 PERFORMER "Digital Italic" TITLE "Quiver in the underground mix" FILE "Quiver in the underground mix.mp3" MP3 TRACK 01 AUDIO TITLE "Activator, I know you can (That kid chris mix)" PERFORMER "Whatever girl" INDEX 01 00:00:00 TRACK 02 AUDIO TITLE "Air traffic (Erik De Koning remix)" PERFORMER "Three drives" INDEX 01 02:07:00 TRACK 03 AUDIO TITLE "Chinook" PERFORMER "Markus Schulz pres. Dakota" INDEX 01 07:25:00 TRACK 04 AUDIO TITLE "Opium (Quivver remix)" PERFORMER "Jerome Isma-Ae & Alastor" INDEX 01 10:32:00 TRACK 05 AUDIO TITLE "Surveillance" PERFORMER "Jordon Suckley & Kutski" INDEX 01 15:24:00 TRACK 06 AUDIO TITLE "Nitric (Division one remix)" PERFORMER "Hybrid system" INDEX 01 19:02:00 TRACK 07 AUDIO TITLE "Circa-Forever (Galen Behr & Organ Nilsen remix)" PERFORMER "Rapid eye" INDEX 01 23:55:00 TRACK 08 AUDIO TITLE "Opulence" PERFORMER "Simon Patterson" INDEX 01 30:05:00 TRACK 09 AUDIO TITLE "J'ai envie de toi (Protoculture remix)" PERFORMER "Armin Van Buuren presents Gaia" INDEX 01 35:10:00 TRACK 10 AUDIO TITLE "Z.I.T.A (M.I.K.E's progressiva mix)" PERFORMER "Hiver & Hammer with Funabashi" INDEX 01 39:30:00 TRACK 11 AUDIO TITLE "Kubrick (Extended mix)" PERFORMER "Jerome Isma-Ae & Alastor" INDEX 01 42:01:00
Tried it out on a number of media player and they all worked except Plex.
There is a very good chance if I was to run my own funkwhale node/server I could set it to index .cue files and playback the mix in a seamless way like Mixcloud? Theres only one way to find out really… Get Funkwhale installed!
On a side note I am slightly kicking myself now because I entered all that metadata into mixcloud but never stored it myself. I’m going to need to go through 90 of my own mixes and convert my .nfo files into .cue files.
I have the SQLite Database for my pacemaker device with the actual real timings but I need to identify which mix is which one (another thing I should have done, as changed the names of the mix depending on many things). I also hoped mixcloud’s developers guide would come to the rescue but it looks like maybe a GDPR request is my only option if I want the metadata for my mixes?