Episode Transcript
Transcripts are displayed as originally observed. Some content, including advertisements may have changed.
Use Ctrl + F to search
0:00
What activity streams could enable in podcasting? Strap in because this is
0:03
a long episode, and we get deep in the technical weeds.
0:22
Get your geek on because we've kicked out Dave Jackson for this episode, and
0:25
this could end up being a little bit nerdy. It's just me, Daniel j
0:29
Lewis with a special guest, Sam Sethi from truefans.fm,
0:33
formerly known as Pod Fans. And we are going to talk about something
0:37
that has some really awesome potential for
0:41
podcasting 2.0 and several other cool things as well
0:45
as siloed into specific apps, especially like what you're going to learn
0:48
that Sam has been able to do with True Fans. So, Sam,
0:52
here's my first question. Activity stream Mhmm.
0:56
And activity pub. Mhmm. What is the difference?
1:01
Very simple. Thanks. Good question. Okay. So a little bit
1:04
of a walk down memory lane.
1:08
RSS dot 2 dot o, Dave Weiner froze
1:12
it and gave it over to Harvard. So the IETF created
1:15
this thing called the Atom Feed which was a competitor
1:19
to RSS. And the Atom Feed's
1:23
core function was the extensibility that it had within
1:26
it. And as we now know, you
1:30
know, Daniel, there's a name space extensibility to
1:34
RSS as well, so it was very odd. But in the day, there was a
1:37
battle between RSS and Atom, and I'd have no
1:41
idea. Betamax versus VHS. No idea what the difference is. Or
1:45
or for the more modern kids, Blu ray versus HD Thank you very
1:49
much. Or DVD HD. What was it? HD DVD. Yeah. That's where it
1:52
was. Bring that one up to date. Now what happened was
1:56
Atom morphed into something called the activity stream, and what is an
2:00
activity stream? So a couple of very clever people,
2:03
Christmas Cena, Jason Snell, and Evan
2:07
Prodimo said, look. Wouldn't it be cool with social
2:11
networks where you could basically track the activity of
2:14
people into an XML file and that was a structured piece
2:18
of data. And so it started off with a very simple structure. It was
2:22
called active verb object. Actor
2:25
Daniel played object podcast. So the name of the
2:29
podcast, future podcasting. And you can record that as an entry.
2:33
That's very simple. And there were more verbs that you could use. So
2:37
you can extend those verbs to be follow, like,
2:40
share, whatever. And what that gave you was a nice
2:44
structured piece of data, XML based, that
2:47
wasn't a set of activities that were carried out by the
2:51
chapters, in this case, you. And I could
2:54
then read that file and I could then pass it. I could do other things
2:58
with it. So I like to liken it to a user
3:02
generated RSS feed. That's the best way I like to talk about
3:05
it. Now activity pub is the
3:09
protocol over which you deliver activity stream. So
3:13
think of TCP IP and then RSS is
3:17
the data and TCP IP is the transfer protocol. So in the
3:20
same way, you have an activity stream and you then
3:24
send it to over an activity pub protocol
3:28
to a client like Mastodon or whatever. And
3:31
so in that client, they can then read the activity stream
3:35
and then pass it out and then display whatever's in there. So a
3:39
good example is Dave Jones has created something called the
3:42
activity bridge. I don't know if you've seen this yet. So
3:46
you can go into podcast index, look up in
3:49
our, feed or a podcast. Sorry. It has a
3:53
unique ID number. You put that ID number with
3:56
atap.podcastindex, and boom, it
4:00
suddenly appears in your Mastodon as the podcast, and you can follow
4:04
it. And so what you've got is the activity stream is
4:07
a set of, data based on users'
4:11
activity in a social network. In this case, it could be Truefans.
4:15
It could be or another third party client. It could be, you know, if if
4:18
Twitter supported it, you could have it in there as well. And then
4:22
you deliver that over the activity pub to a activity
4:26
pub client such as Bastogon. That's it.
4:30
So trying to simplify this as well as understand it.
4:33
Because some of this stuff I'm learning too along with our audience and also
4:37
wanting to Yeah. Make some of this a little more plain English. So
4:41
activity stream is basically how the data is stored. Yep. Is
4:45
that correct? And then activity pub is how it's
4:49
delivered. Correct. Okay. You should've said you should've done this for
4:52
me. It was much easier. No. See,
4:56
that simple understanding came from the
5:00
complex explanation. Right. Thank you. So
5:03
what is some of the potential with this? First, let's
5:07
jump to what you're doing with activity stream on truefans.fm.
5:11
Yeah. So we built Truefans, with activity
5:15
streams at the core of it. So we said that as a
5:19
user, I can log in, and we will then give you your
5:22
personal activity stream of all the things you do while using
5:26
Truefence. So I could go in, and I can see how many,
5:31
episodes I've played, how many people I've followed, how many
5:34
times I've created a clip, how many times I've boosted, how many times I've
5:38
zapped. So we've created 30 verbs within
5:42
Truefans that enable us to track the activity of
5:46
all users. Now what we wanted to do and have done is make
5:49
sure that that activity is private if the user wants
5:53
it to be. So you can go into the user settings and say hide activity
5:57
and the only person who will see that activity is you, the
6:00
user. Or you can say, actually, I wanna make everything
6:04
public. No problem. And anyone can then go to your profile and see
6:08
what activity you've done or converse the 3rd way, which I think is
6:12
the best way is we've made all the 30 verbs available. So you just tick
6:16
the ones that you want public, and the ones you want private are then hidden.
6:20
And see, I might say, I just want to show my plays and boost, I
6:23
don't wanna show the show to people I follow or any other
6:27
activity I make. So, yes, so we create the activity
6:31
stream for each user. And because we've got a social
6:35
network element, I can follow Daniel, Value can follow me.
6:39
Because we have that model, you can then go and see my profile and see
6:42
my activity. And therefore, you might say, oh, what
6:46
what was Sam listening to yesterday? Or what did he
6:50
boost just now? Or what did he clip? And,
6:53
again, that might be a signal for you to go and
6:57
listen to a podcast or listen to a clip because you can
7:01
see my activity. Okay. So where I want to switch this
7:08
around a little bit is when we're thinking about the future of podcasting.
7:12
And we've got a lot of things in development with podcasting
7:15
2.0. And my impression, the more I
7:19
understand activity stream, the more it seems
7:22
like this could be used for a
7:26
lot of things inside of podcasting 2 point o. Like, I'm
7:29
thinking years ago, it feels like now, I
7:33
proposed a webhook idea where podcast apps
7:37
could report back play information to some
7:40
central server or something. And that's how we could then get
7:44
the playback and completion rates from an app, and an app
7:48
developer could report that kind of information back. Can can
7:51
activity stream do that kind of thing? Yeah. So what
7:55
we've done is, apart from the verbs, we've also attached
7:59
things like time listened, percent completed, and value paid.
8:03
So if you play the future of podcasting, I might
8:07
have time listened 88 let's say, 28
8:11
minutes, which might be 60% of the show and I
8:14
gave you 10,000 cents. Right? All of that's interesting
8:18
data metric as well that gets attached to your activity stream.
8:22
What we're missing right now is the ability to centrally
8:26
aggregate all of that into a single point. So the
8:30
next step for Truefans is that we're gonna allow users
8:34
on Truefans to publish their activity stream to an
8:37
activity pub client. So you might say, I want to
8:41
publish, all the things I play automatically. Or anytime
8:45
I make a a clip, just let me have the option to click it and
8:48
then share it on an activity pub client in the fediverse.
8:52
So that's a good second step to what we wanna
8:55
do. I aggregate all my activity and then I share the bits I
8:59
want with my social network, and that's good. And then that's a
9:03
signal to my social network maybe to come and listen to another podcast or
9:07
whatever. But the core bot part, and and I think the
9:10
holy grail of podcasting is cross app comments. The idea of being
9:14
able to make a comment in one app and then have a comment in
9:18
another app, and then they synchronize over a single
9:21
episode, let's say. So the way to do that would be I
9:25
would create an activity stream in Truefans, somebody want to create 1 in Podverse,
9:29
someone creates 1 in Fountain. Because we've got this
9:32
unique GUID, this, and the feed item, which is
9:36
a a unique identifier for a podcast and an
9:40
episode, we could aggregate everything around that
9:43
single core ID ID. And so
9:47
Fountain would publish the activity stream for Daniel
9:51
from fountain with your permission. And then if you use true
9:54
funds again, that would happen. So you could actually aggregate all of
9:58
your activity from any apps you use
10:01
or it might be Dave
10:14
the apps could just listen to updates from the central
10:17
database repository and pull down the additional
10:21
comment or pull down additional data. It doesn't have to be comments.
10:25
It could be, for example, on fountain, you followed Adam,
10:29
and then, we don't need you to follow
10:33
Adam again on Truefence. Why would you want to replicate that social
10:37
graph? So the point is we would see that activity and
10:40
then we could replicate that activity in all the other apps as well. So when
10:44
you went into the alternative app, guess what? You're
10:47
following Adam. So when we're
10:51
talking about this, especially, like, with the cross app comments because
10:55
that's the like you said, that is the holy grail. That is something that I
10:59
wish we had solved by now. And it feels like it's not
11:02
so much a data storage issue, but
11:06
an interoperability and a, both the
11:10
whole cross app aspect of this. Because what I've
11:13
seen that's frustrated me so far, and
11:17
before, maybe as recent as before a month
11:21
ago, I didn't know there was a difference between ActivityStream and
11:24
ActivityPub because every time people were talking about ActivityPub,
11:28
I thought Mastodon. But Mastodon is just an
11:32
Activity Pub client. Yes. Right? Think of Activity Pub and
11:35
Nosta. The same they're a protocol. That's all. Okay.
11:39
Well and I know nothing about nosta either. But,
11:43
so these are protocols to be able to access the activity
11:47
pub. So, like, when I think about cross app commons
11:51
Mhmm. One of the frustrations I faced is the understanding of just how,
11:54
like, Mastodon works. How there is no one central server,
11:58
but these multiple instances or multiple servers
12:03
can connect with each other. And so
12:06
you can follow people who are on a different server.
12:10
Mhmm. And you can bring in
12:13
content from another server into your own server. Yep.
12:17
Where I see some complications with this,
12:22
performance is a big thing that I'm worried about. Because the first time
12:26
I saw cross app comments using activity pub implemented,
12:30
it was dead slow Yeah. To load just a single episodes
12:34
comment stream. And there were not a lot of comments. There were only
12:38
under a dozen, I think. How do we solve
12:42
that with what we're talking about here? Or is that Let's take
12:46
a step back. Right? You use email. I use email. Right? You don't need to
12:49
know the underlying structure of the email, whether it's pop 3, IMAP 4,
12:53
whatever. Right? I just need to know you're [email protected]
12:58
somewhere. And conversely, you just need to know mine. Right? You click a
13:02
button, the email goes off and you don't think about it twice.
13:06
That's a federated network. Right? That is a federated network
13:09
of email And we we are used to that and we know it
13:13
works and, you know, that's it. It has its own,
13:17
foibles. Sometimes email doesn't get go out, but fundamentally, it
13:20
works 99.999 percent of the time.
13:24
The social network, Mastodon, Plex,
13:28
and all the others are federated servers of,
13:32
Activity Pub. And again, you have an address. I have,
13:36
Sam Sethi at Sam Sethi at podcast index dot
13:39
social. Right? That's my Mastodon address. And
13:44
if you wanna follow me, that's how you find me. You go to it it
13:47
basically finds that address like you would an email, and then
13:51
you just type something out to that address and boom, it appears in
13:55
my inbox. And in fact, activity pub
13:58
clients are fundamentally an inbox and outbox. That's all they
14:02
are. Very, very simple. Your inbox is the stream of information
14:06
you're reading, and your outbox is the messages you write that appear in
14:09
somebody else's inbox. That is as fundamentally simple just like
14:13
email. And that's why I think it will work and it will scale because we
14:17
know that we can scale email that's gone and done for 20
14:21
plus years. And what we're seeing with the Fediverse is
14:24
more developers are putting time and energy into it and
14:28
fixing some of those bugs and those slowness and those issues. So I
14:32
think, you know, again, give it give it another year. I think all of that's
14:36
gone. So your your problem around scalability and your problem
14:39
about speed, I think, are just short term road bumps on
14:43
the road to where we need to get to. Okay.
14:47
Because as I understand it, like, even with the metaphor
14:51
of an email inbox, when
14:54
I get my email in my mail app, it is downloading
14:58
the messages and I've got that on my computer there.
15:03
You don't if you send me an email, you don't have access to all of
15:06
my emails. I don't have access to all of yours. We are
15:10
sending one thing directly to the other JSON,
15:15
but not making that whole conversation thread visible to a third
15:18
party. Mhmm. Whereas cross app comments, we
15:22
want it all to be visible to everyone else.
15:25
So, what it seems like and please correct me if
15:29
I'm wrong here. I hope I'm wrong. What it seems like the way
15:33
that it has to work now is that there is a
15:37
a root post that is basically the episode post.
15:40
Is this is episode 5, and that's the thing that
15:44
everyone is commenting on that or replying
15:48
to each other. But when they're replying to each other, there's still the it's
15:52
just a downward tree or a cascading of
15:55
all of these connections and replies and relationships across each other.
16:00
It seems like every one of those individual messages
16:03
could potentially be on a different server.
16:07
Is that true? Yep. It could be on a potential different server. It could be
16:10
a federated index that we're looking at. Again So that's
16:14
the nightmare. Yeah. We haven't, to be honest with you, Daniel, this
16:17
last part of the leg, the step 3 hasn't been
16:21
really finished. I was I was interviewing Evan Prodimo.
16:25
I was talking about cross app comments and there is a server based
16:29
capability where you can publish your activity streams to, but it's not
16:32
quite, you know, fully baked out. And so I think
16:36
there's still another step. So I think what I've been trying
16:40
to do is say to the community, look. Here's a w
16:43
three c open standard. This is not some
16:47
something. I I asked actually, I asked
16:51
the Mastodon group, you know, all of the guys you you're involved in
16:55
it as well. I put out a message. What does TLV
16:59
record stand for and who created it? Oh, my god. It
17:02
wasn't very clear. And I think Dave Jones eventually said it was somebody from Sphinx
17:06
who created it many years ago. And then Steven Bell said, well,
17:09
actually, the TLV record which is this,
17:13
payment record of what's been paid on a podcast is
17:17
an activity stream. But it's a proprietary activity stream
17:20
devised by somebody that we don't really know anymore who's not involved in the community.
17:25
It's got 4 verbs in it which is stream, boost,
17:28
auto, and reply. That's the 4 verbs.
17:32
And within those 4 verbs, the stream verb, for example, you
17:36
will put payments, you will put sender, you'll put receiver, you'll
17:39
put, podcast episode, all sorts of data will go into
17:43
that one bit of information. But that's just an
17:47
activity stream, but we've created this TLV record
17:50
activity stream fundamentally by
17:56
by by chance, I think. What's happened was somebody started off this idea,
18:00
and I then think Dave Jones created helipad for Adam to be
18:03
able to read them. And then we've sort of gone and followed this
18:07
whole concept of the TLV record, but
18:10
nobody's actually really understanding how we expand it, how we
18:14
extend it, and what's the value of it. And and cross out
18:18
comments won't come from the TLV record. So Adam is doing
18:22
something that I find, a little frustrating.
18:26
The TLV record which is a, basically, it's
18:29
the whenever you listen to a podcast and you make a payment, a stream, or
18:33
a boost, it creates a like a receipt. Okay? Think of it as like
18:37
a receipt and telling you Sure. What you've paid and who you paid it to.
18:40
Right? That's private to you and the person who
18:44
receives it. So if you paid me,
18:47
a a 1,000 boost a 1,000 sat as a boost, I receive that. But
18:51
if I then decide to put James Cridland in the split, James now sees
18:55
that TLV record. Yeah. If I put 15 people in the split, all
18:59
15 people will see the split. And that is right there, that's
19:03
a, I've raised this concern as well. That is a major privacy
19:06
concern because the person listening may
19:10
not know who all is going to receive this message. And some
19:14
people in a boostagram, they may say upfront, please don't share
19:17
this on the podcast, but I wanna send you this gift because I was gonna
19:21
commit suicide last night, but I listened to your episode, and it stopped me
19:25
from pulling the trigger, and that's why I'm sending you this they do not want
19:28
the world to know that message. And now, everyone in the splits will get to
19:32
know that message. Right. And there could be even
19:36
worse scenarios than that. So that does
19:39
create a problem. One of the things I would love to see is
19:44
this activity stream idea be used for more
19:48
than cross op comments. And, we can get back to cross op comments. But, like,
19:51
for the boostograms, which you and I both see boostograms
19:55
as basically comments With payments. Yeah. That's it. Yeah.
19:58
So we could write boostergrams to
20:02
the activity stream as well, or has that have that as some
20:06
kind of option. We do that now anyway. On.
20:09
True fans are doing that? Okay. Yeah. And
20:13
then the maybe that could even be an an option
20:17
to the person sending the boostagram where there is that toggle that
20:21
is, like, make this public. And if they say yes, then it goes into
20:24
the And, again, we have done that. So in your user settings,
20:28
you choose which verbs you wanna meet private and fit
20:32
which verbs are public, and that is it. Nobody you know,
20:35
if you want everything to be private, you set it to private and no one
20:39
sees your activity. Set it to fully public and everyone sees
20:43
it or set that intermediary. I choose the verbs I want to be
20:46
public. Now we talk about cross app comments, but what about cross app clips?
20:51
Right? Yeah. Or, you know, we we've
20:54
got other things that we've got planned that would allow you to
20:58
have interoperability between apps. So
21:02
I think what I'm trying to do and I'm I I I don't know if
21:06
I'm failing, but I'm I'm still knocking this door very
21:09
hard, is saying to people, look. We are very good
21:13
as a community of saying RSS is the, you know, the truth
21:17
of feed a feed of truth. Right? Right? It's an XML structure piece of data,
21:21
and we're adding tags into it. Think of those tags as verbs.
21:24
They're just the same wording. Right? We're just using a different word
21:28
in RSS, but they are just verbs. Right? So the person
21:32
tag, the transcript tag, they're verbs in the
21:35
RSS feed. And then we know what we do with them. In the
21:39
same way with a user generated feed, the activity stream, we
21:42
just have verbs and we can extend those verbs to as many
21:46
verbs we want. You know, things that we haven't thought about now we can add
21:50
as a new verb. And so, what I'm trying to say is,
21:53
the top end we've got RSS with a a structured piece of data. At the
21:57
bottom, we've got activity team with a structured piece of data. And that our
22:00
activity stream just in its basic format as I said earlier, can you can
22:04
just say, I just wanna publish it to my Mastodon client. And so everyone can
22:08
see who's in my social network, who follows me what I'm doing. And
22:12
that's one simple way of sharing. And then the other one, as
22:15
I said, is to aggregate it around an episode. And then, yes,
22:19
maybe we start with cross that comments, but then we end up with cross that
22:22
clips. Maybe we end up with other things that we haven't developed
22:26
yet that can be interoperable between apps, but you've got
22:29
structured data which means it's possible. It's totally
22:32
possible. I know that some of the complication
22:36
with building things in the modern web and with podcasting 2.0
22:40
is we've got in podcasting, we have a combination
22:43
of centralized and decentralized. The
22:47
the data for a podcast, from a podcast Mhmm. The podcast
22:51
itself is centralized. The consumption is
22:55
decentralized. So like the RSS feed, there is 1 or
22:59
there should be only 1 RSS feed Yes. For a podcast. There should
23:02
not be hundreds of feeds and mirrors and all of these
23:06
proxies you have to worry about. There is 1. Mhmm. So that's centralized. There
23:10
are other aspects of podcasting. Like, there is one media file. Yes,
23:14
it does get syndicated across a CDN or a content distribution
23:17
network. But still, that's super easy for the publisher when they upload a new
23:21
file or replace it that then all of that gets flushed out and then refreshed
23:25
with a new file. It's still centralized. The podcaster themselves
23:28
is in control. The decentralized asset aspect
23:32
is the consumption of all of JSON, And
23:36
that's where we have hundreds of apps that people can use to
23:40
consume centralized information but consume it
23:43
in a decentralized way. So looking at activity
23:47
stream, one of the ways that I could see this working out for cross hop
23:51
comments, for a lot of things, for the webhook or,
23:55
John Spurlock came along and also proposed a similar idea calling it the events
23:59
tag. Same thing. Webhook events. Same thing. But all of this could go
24:02
into a central activity stream that
24:06
the podcaster controls or owns in some way, whether that's through
24:10
their podcast hosting provider, some service that they run themselves
24:14
or pay for, whatever. But it's a centralized service, centralized
24:17
location. And then all of these other
24:21
activity pub clients built into apps or
24:25
other, systems can read
24:28
that centralized information. And maybe the solution to this performance problem is that whatever is
24:36
hosting that centralized activity stream
24:40
is responsible to go out and find everything that
24:44
was federated, that was networked with it and sent back into
24:48
it, And then pull that in
24:51
whenever one of those apps, like, sends that ping into
24:55
that activity streams inbox. And please correct me if
24:59
I'm, like, saying something incorrectly. I'm along the way here, but What you've got
25:03
to think of is, if I write a boost in
25:07
Truefans, in my activity stream, that's now my
25:10
outbox. Okay? And then I publish it.
25:14
That gets published, then we where it get published to today
25:17
is the question. Right? That's what we're trying to figure out that part, that that
25:21
last part. But wherever that gets published to,
25:24
fountain will then have an inbox, which is the
25:28
boost section of that episode where that
25:32
will then appear as a message into that
25:36
section. So my boost that I wrote in True Fans gets published.
25:40
Fountain listens for that episode, and there's a new piece
25:43
of data in there, like, think of it as an email, and it gets then
25:47
published down to Fountain. Right? So fountain
25:51
is an inbox in this case because it's getting data from another
25:54
app. And I'm an out box because I created
25:58
it in Truefence. Conversely, if you were using
26:02
fountain and you created a clip or a boost in
26:05
fountain and then published it, That's then goes out of
26:09
Fountain's outbox for Daniel, and I then listen for
26:13
that, and then I bring it into the inbox, which is the episode
26:17
where it then gets aggregated with any other comments
26:20
made by Truefans people. So you then get a
26:24
mixture of Truefans comments and you get a mixture of Fountain and
26:27
Podverse and, podcast guru. And that's how you
26:31
get cross outcomes. This concept of an inbox and an
26:35
outbox is fundamentally critical to understanding how
26:39
activity pub works and how activity streams are just
26:42
messages. So activity streams are just messages,
26:47
but they happen to be richer than an email message, which is a single verb.
26:51
It happens to be multiple verbs. And so I'm creating
26:55
fundamentally a boost in email message if you wanna think of it. I'm then putting
26:59
in my outbox in Truefans that then gets published, and that could be
27:02
published to my Mastodon or to a central location. And then
27:06
others are listening for it just like they would on an email, and then
27:10
gets dragged into the inboxes of those applications.
27:14
So that whole publishing aspect and the other apps listening, that is
27:18
something where when you publish, you're sending it
27:21
to those listening services. Right? It's a it's a push. Yes.
27:26
Okay. So they could receive that push. They don't have to be
27:30
running a server that is pulling p o o or p o
27:33
l l Yeah. I n g. That is pulling these
27:37
other services. They don't have to do that. They can just have a listener webhook
27:41
endpoint, whatever. Ping. Yep. And it can receive that
27:45
and then publish it to the centralized activity stream that
27:49
belongs to the podcaster. Yep. And by belongs to, I mean, is in their
27:52
control. It might be on the podcast hosting provider server,
27:56
but it's in their control. And then one of the
28:00
other problems, haven't mentioned yet in this episode, a big thing that I see is
28:03
the need for moderation. Not in the sense of what the world
28:07
is talking about with content moderation, but in the sense of the podcaster
28:11
wants to be able to moderate content and control what content is
28:14
seen with their content. So, a
28:18
practical example here is maybe I have a clean
28:22
podcast designed for kids and someone
28:26
comes JSON, and they make a comment that's laced with profanity
28:29
and sexual content, whatever. Yep. And I might not
28:33
be able to block their whole activity pub server
28:37
because maybe they're using an open server that's used by a lot of other
28:40
people. But I need to be able to either remove that
28:44
comment completely or maybe it's a
28:48
genuinely valuable comment, but they just didn't realize, oh,
28:51
this is to an audience of children. I probably shouldn't use this profanity.
28:55
So, I would want the ability to then just edit
28:59
out, censor that profanity so that the value they're
29:02
giving in the comment could still be there, but it would still
29:06
be appropriate for being
29:10
alongside my podcast. So that's why I think that there is the need for
29:14
a centralized storage of the activity stream. Yeah.
29:17
So so two parts to that. 1 is how do
29:21
you moderate comments? I mean, look. We've we've all had this
29:25
problem across the web. Right? I mean, look at look at YouTube's
29:29
comments. Look at, you know, every time that Facebook has comments,
29:32
there's a whole bunch of issues. Right? So, with
29:36
Boost right now, we have no moderation in the sense of
29:40
keyword lookups or keywords that we don't want. Right? That hasn't been built. But
29:44
what we have done again in true fans is got a flagging system and a
29:47
moderation system. So for example, in your admin dashboard
29:51
for the future of podcasting, if I made a profane
29:56
boost, right? And somebody reported it, you don't have to
30:00
see you you don't have to do it yourself but you can read all of
30:03
your own comments that people are making. And you might say, right, flag that
30:07
one, delete that one, get rid of that. As the owner of the podcast,
30:11
you will get a flag notification and then you can read it and
30:15
go, you know what, Sam? That wasn't very clever.
30:18
I'm gonna delete it or I'm gonna send you a message which says, by
30:22
the way, Sam change that. Take those words out and I'll I'll let it be
30:25
published again. So we've built that in already as
30:29
well. That moderation. That was built day 1 fundamentally
30:33
because my wife used to run MSN UK and they had to close
30:36
down all of the community, sites because of all
30:40
of the pedophiles and the dodgy content that was going.
30:44
So I've had that drilled into me from day 1. And I think we haven't
30:48
even thought about that in the podcast community yet, about cross app
30:51
comments and the whole of what you just said. We, you know, we
30:55
we know that, YouTube commerce is a cesspool of commentary
30:59
half the time, and we haven't seen that yet because guess what?
31:03
There isn't enough, usage of boosts to
31:07
make that a worry. The hope is that because a boost has a micropayment
31:11
with it that that trolls won't leave, you know,
31:14
crappy comments. That's what we're hoping, but that's not true. I've
31:18
seen advertising comments. I've seen other comments that
31:22
are, you know, one sat sort of made a micropayment
31:26
but they put up total rubbish. And I remember from my days
31:29
in, WordPress. You know, we had, something called a
31:33
pingback, which was a great idea. Yeah. Right? Which was, you know,
31:37
somebody's made a comment that's referenced you. You get a notification, blah blah
31:40
blah. Well, of course, the the the spam has worked out that you could use
31:43
pingbacks to go and do all sorts of other things, and we had to close
31:46
that down. So I think we have got some challenges in the
31:49
future, but, they're not there yet. And I think, you know, just make
31:53
being able to do first level moderation flagging and deleting, I think,
31:57
is the thing we have to look at. Yeah. And I think that the the
32:00
solution for that is if that activity stream can be centralized
32:05
that the podcaster has control over, and that is then
32:08
seen as the source of truth Yeah. For that podcast. So the
32:12
podcast apps would default to loading from that even though
32:15
that comment would still exist somewhere out there in the
32:19
fediverse. Mhmm. It would not be in my
32:22
comment stream, in my activity stream because
32:26
I've removed it. And so when a podcast app loads the cross app comments from
32:30
my podcast, it would be loading from my activity stream,
32:34
and therefore, it would not show that comment. I think again, you
32:37
know, let's go back to basics. Right? So an activity
32:41
stream now, now that we've discussed it a little bit, is basically a
32:45
set of activities of a user on a podcasting
32:48
app. Daniel played feature of podcasting.
32:52
Sam played podcasting 2 dot o.
32:56
Daniel boosted Daniel clip. Right?
33:00
That becomes a stream of activity that you own that is
33:03
your data that you can have hidden
33:07
for privacy or public. The bits that we know is that
33:11
that can be published to your activity pub client like a Mastodon,
33:15
so I can choose what I want my social network on Mastodon to
33:18
know about what I'm doing or not. And then the final part
33:22
is how we publish it to a central repository
33:26
that will then allow cross app comments, cross app clips. And that third
33:30
part is still being developed or thought
33:33
through and and is not finished. Right? So let's be
33:37
clear that part isn't. But my worry is what we're doing
33:41
in the podcasting 2 dot o community right now is we're using the
33:44
TLV record as a proxy for an activity
33:48
stream with 4 verbs, and we're creating,
33:51
as you said rightly, a privacy issue that the person
33:55
who's receiving the money can create splits and then
33:59
multiple people get that TLV record without the user
34:03
who made the payment knowing where that record went to.
34:06
And I don't think it's scalable because, you know, as I said,
34:10
it's 20 podcast apps. Right? So Adam today puts 1%
34:14
in for the boost to gram bot on fountain. What if Podverse has
34:18
a boost to gram bot? What if I have a boost to gram bot? Does
34:20
he have to put 3 splits in now? What if all 20 of us
34:24
have a boost to gram bot? Is there 20 splits in Adam's wallet so
34:28
that we can all see that TLV record? That is not a scalable
34:32
solution. That is a hack, and it needs to stop.
34:36
Yeah. And one of the things that I brought up before, and
34:40
I'll I'll mention what shot it down in a moment, but
34:43
I I brought up a proposal of what if we have on the
34:47
value tag for whatever split that you were putting in there. Now we
34:51
have to think about also the time based splits, but for whatever
34:54
split, you could have a flag on there that is basically
34:59
like do not send messages with this.
35:04
For for Podverse or for whatever. If we've got them in the
35:08
split, then they do not get whatever message
35:12
someone is sending, but they do get the split of
35:16
the this booster grant or the, the sats that are being sent with
35:19
them. One of the things that
35:23
was used to shoot that down though was saying that all
35:27
Boostagrams are already public. Is that true? Like, on the
35:31
blockchain sort of public or what? Yeah. I mean, if you go to
35:34
Olby, and you go to a product they've called Saturn, you can see
35:38
pretty much most streams that are coming through. I can see so
35:42
anyone who's sending stuff to True Fans, I can go and see.
35:45
Right? But because it's But you can only see it because it's being sent to
35:49
True Fans. You can't there is no public record. And
35:53
which is why you put somebody in the splits to make them available so
35:56
that they can see that same TLV record. And I just
36:00
think you know, let's be brutally honest. I think
36:04
the idea of value for value is great. I love the idea of the micropayments.
36:08
I love the idea of wallets and splits. I think that's a brilliant model.
36:12
Don't wanna change that. But I think the data
36:16
mechanism of how we record those activities
36:20
around payments boosts streams,
36:24
replies shouldn't be done through a TLV record.
36:28
Okay. So I just had this light bulb moment that all this time when you've
36:31
been saying that, like, dissing on the whole 20 different splits in a
36:35
single podcast episode and saying the activity stream solves this, all this time
36:39
I was thinking, how in the world so for anyone else that was there
36:43
with me wondering how does this solve the splits, this was the light bulb moment
36:46
that finally I realized is when you're adding like a Podverse
36:50
or an OP3 or whatever in there, the only reason
36:54
that many podcasters are putting that in there is so that those
36:58
apps get access to the data. Yeah. So that they get access
37:02
to the activity. Yes. Not so they get
37:06
a portion of the fee. Although, I'm sure some of the people And they will
37:08
get a portion of the fee as well. They'll get a 1% portion of the
37:11
fee. So what you're saying that we could do with this and
37:15
the activity stream and everything is so that those services
37:19
that only need to be able to track the activity could instead
37:23
use the activity stream as long as the apps, whenever they send a boost to
37:26
gram, also send that data over to the activity stream.
37:30
And to your point, I could then say, yes. I want
37:34
John Spurlock in o p 3 to have access to my activity, but, no,
37:38
I don't want I can't think of anyone. Facebook
37:42
on threads, which is an activity pub client to have access to my
37:46
activity stream. Right? So I could choose
37:50
where my activity stream is public when it's published, who has
37:53
access to that published data. That's the point.
37:58
And the problem is I, as the user, can
38:01
set my permission levels on what I want public and private
38:05
and access levels on who should get access to my data
38:09
that I have published. So then you would be
38:12
splitting right now it's data and payment is
38:16
together. Mhmm. So you would be splitting it so that you only put who you
38:20
want to receive a payment in your value time splits
38:24
or your value splits. But data would be completely
38:27
separate from that. It can be. It doesn't have to be. It can be. So
38:31
as I said very earlier, the activity
38:35
stream structure is active verb object. The object is
38:38
fundamentally the episode, but we can extend the object to
38:42
be the timeless and the value paid and the percent completed.
38:46
We can extend objects to be multiple objects. It doesn't just have to
38:50
be the episode name. Right? So what what
38:54
did Value, the actor, do? He played the object. And
38:58
what happened with that object? It had these extra attributes on it,
39:02
value, time, and etcetera. That's data.
39:05
That's just we've done it. We've seen this structured data. Right? You know?
39:09
So that's data that that can be read. I could then, as
39:13
a user through apps, choose what verbs are
39:17
published. But once I've published that, I can then choose
39:21
who has access to that as well. And so you aren't,
39:26
separating payment from data. Sorry to be clear.
39:30
But what you are doing is separating the for people to
39:34
access the data I choose to publish because they have to have my
39:38
permission to access my data. And that's all it is.
39:41
So Fountain would request access to it and I go, yeah, I love
39:45
Fountain. Yeah. I love Podverse wants it. Yeah. Go. You go for it. OP 3
39:48
fantastic. Meta, nah. I'm not giving you my data. That's it.
39:52
That's a simple Sure. Thing. And I don't think
39:56
look. It it takes a little bit of thinking and time, but but you start
40:00
off small and you can build it. So as I said in True Fans, we
40:03
we create your activity stream around 30 verbs. We're going to
40:07
step 2, allow users to publish that to chapters Don clients
40:10
over activity pub, and then we're gonna work on a
40:14
model for centralization of activities around
40:18
a central repository. And when people say, oh, you can't
40:22
centralize things. I go, isn't the podcast index a central
40:25
repository? You know, I I won't say who told me that. And then I
40:29
said, strange that, isn't it?
40:33
And you know one of the cool potentials I'm realizing with this is right now
40:37
we already have a great model of a way something like this is being used.
40:40
Whenever you connect one App to another App, often there are certain
40:44
permissions that you're giving. Certain apps require certain permissions,
40:48
but you have control sometimes over those permissions.
40:52
Like, you might say that for this app, I'm giving
40:56
it permission to read Mhmm. All my data from this other app, but
41:00
not to write to it. Exactly. Or like here in the activity
41:03
stream aspect, where maybe it's Saturn taps into
41:07
your activity stream, and then you're saying, I am giving Saturn permission
41:11
to read all of the value
41:15
of my satoshis I've received, but not
41:18
the messages Yes. That came in from it. So, like, whatever that
41:22
server is that's hosting the central activity stream could then handle
41:26
that authentication, creating the different API endpoints, or all of that. That's all
41:30
developer stuff that they can take care of. The podcaster themselves and the audience
41:34
don't have to worry about that. That's pure developer stuff, but
41:37
that's possible with this activity stream idea. Yes.
41:41
Why don't we just switch why don't we just ditch RSS completely and switch to
41:45
activity stream? Well, boy, don't don't don't No. No. No. Don't do
41:48
not. I didn't say that, Adam. Yeah. That takes us back to
41:52
RSS versus Atom. That's where that the whole discussion started.
41:56
Look, I think what it is, I I
42:00
I don't know whether we'll we'll get activity streams, if I'm honest,
42:04
to to be adopted by everybody. I don't Because I think there's
42:07
a lot of people who are invested into the TLV
42:11
record and the way it works. So I think
42:15
it could be the inertia of people saying, I'm not even gonna
42:18
bother to look at what's going on elsewhere with an open standard. I'm gonna keep
42:22
this proprietary standard that we have within our community because there's
42:26
too many people invested into that proprietary standard.
42:31
Well, one of the things that I've noticed with podcasting 2.0 is what
42:34
catches an idea is when it can be shown
42:38
that it's working and also the actual code
42:42
shown like this is how easy this is to integrate with this thing or the
42:45
other thing. And it has me thinking like
42:49
with Podgaugment, Sam and I are both developers here and
42:53
we are developing on very similar code stacks even. Mhmm. But it has me
42:56
thinking where I want to go with Podgagement, all about engaging your
43:00
audience with a podcast, I want it to support cross app comments and I
43:04
will build that in whenever we figure out how that's possible.
43:08
But I'm kind of wondering, maybe I should just
43:11
start trying to work with you on what can I get
43:15
from true fans and bring it into Podgave already?
43:19
Yep. And then we can show that to the world to say, look.
43:22
Here are 2 apps working together, and look how
43:26
fast they're working because the activity stream is centralized. And one
43:30
of the things one of the big reasons why I think that the activity
43:34
stream itself needs to be centralized as a source of truth that the
43:37
podcaster can control is the portability of it. Mhmm. That's something
43:41
that else is, I think, very important in the podcasting space.
43:45
Because everything else about podcasting is portable too. The
43:48
activity stream needs to be portable as well. So to the point
43:52
that you could take that activity stream, export it from
43:55
whatever tool is currently hosting it, import it into the other
43:59
tool, and then you just pick right up Yeah. Where you let them know. Guess
44:02
what? It would contain your social graph and your podcast graph.
44:06
So your social graph of people you follow and your podcast graph
44:10
of the podcast that you JSON to. That's contained
44:13
within the activity stream as well. So it's not just containing
44:17
boosts and and and values paid and streams. It
44:21
contains follows and, and, you know, we have we use
44:25
the verb become a fan but that's subscribe. Right? That's fundamentally I
44:28
subscribe to the future of podcasting. The minute that there's a new
44:32
episode of the future of podcasting, I get a notification.
44:36
Boom. That's simple. We just call the verb become a fan but underlying, it's
44:40
really subscribe. And if I follow Daniel in True Fans
44:43
and Daniel happens to listen to a new podcast or or makes a boost or
44:47
a clip, I get a notification that says Daniel made a boost or a
44:51
clip. And so the activity can be linked to
44:54
notifications, which is, like, fundamentally webhooks. And
44:58
again, that aspect of it as well is is really interesting.
45:02
But I think where we are as an industry, I think we need
45:05
to think We're getting excited about
45:09
activity pub and then we sort of go,
45:12
yeah, but we're not gonna use that. We're gonna use this other thing. And
45:16
I I worry. That's where I am. I'm I'm very worried that
45:20
we so I'm trying to find out if we could
45:24
aggregate both activity streams and the TLV stuff together because all it
45:27
means is I can take what I've got internally in Truefans, the verbs,
45:31
and I can go to Dave Jones or I can go to Adam or whoever,
45:34
Nathan. Say, hey, I've got an extrovert to add to the TLV
45:37
record, follow or become a fan or subscribe or
45:40
whatever. I don't even know who would make that decision
45:45
to extend the TLV record with a new verb. I just don't know.
45:49
It may be just down to Dave Jones, which is fine. I love Dave Jones.
45:53
But I don't know, and it's not a standard that I could
45:56
follow, whereas activity streams is a standard.
46:01
Yeah. And what I like about it is how extensible it
46:05
is. I think I've made a couple enemies in the Podcasting 2.0 space because Well,
46:08
I think I am as well, Daniel. I tend to come in with one of
46:12
2 things. Yes. Or it's a bonus if you get both of these things from
46:15
me. One is, hey, the tag should be called this instead. Yes. Yes.
46:19
That's one of the things that I'm, to put it in British for you, I'm
46:22
on about often. The other thing is I often
46:26
think of the future. That's why I wanted so much to
46:30
be involved with this podcast with Dave, the future of podcasting, because I keep trying
46:33
to think about what is the potential for this? What are the
46:37
things that we could foresee doing with this? So how can we
46:41
build it now so that it supports these things in the
46:45
future? And, I see that with activity stream so much
46:49
that in a way, it's almost like this beautiful blank
46:53
canvas that we can do almost whatever we want with
46:56
it. We will need a structure to it, of course, and
46:59
certain verbs and a set of these things. But it could be easily
47:03
extensible to the point that app developers who
47:07
build in support for activity stream and cross app
47:10
comments, at some point we could say, alright. Here
47:14
is the protocol or the spec
47:17
for podcast consumption data. So, report the
47:21
playback at every 5% mark or every 1% or whatever it
47:25
is, every 10 seconds, 5 minutes, whatever. And whenever
47:29
we come up with that standard, then the developers who are
47:32
already supporting cross app comments through activity stream could know that,
47:36
hey. I already know how to write to the activity stream.
47:40
All I need to do is add an extra trigger into my App
47:44
that will send this slightly different data that's
47:47
in the same structure, just slightly different verbiage here and there in the
47:51
data to the same destination. And now,
47:55
boom, we've got this other new feature and easily populating it. That's what I
47:58
love about this. Yeah. And look, I think going back to what
48:02
you said, I think, you know, post this, I'm very happy to sit down with
48:06
you and show you how we've built the activity stream in True Fans and then
48:10
how we can share that data, you know, with you.
48:14
I can do it from my own activity stream, so I'm not asking for anyone
48:17
else's permission. So before everyone goes, you're not giving all of your data
48:21
to Daniel. I no. I can just do one. It doesn't have to be all.
48:25
And Daniel can do his, so we've got 2 sets of streams and we can
48:28
share that and we can cross that comment and we can do all sorts of
48:30
different things with it. And then once we've worked it out and and one of
48:34
the jokes in the industry, Dan Daniel, you said one of yours is, you know,
48:37
you always talk about certain things and people go, oh, Daniel Varian. You don't have
48:41
to do that. What's the name of this tag? Mine is and I get it
48:44
often. Oh, True Fans has built every name space tag, have
48:47
they? Right? And the answer is yes. And why do I
48:51
do that? I I do that because seeing is believing.
48:55
I believe that so we implemented pod roles first.
48:59
And and the reason why James Cridland did it and I did it was because
49:02
we could show it working. Then we could give it out to everybody and go,
49:05
look. That's what it is. People then came back and said, you could tweak it
49:09
here, comment there, blah blah blah. We did that, and now it's rolled
49:13
out. Same happened with, you know,
49:16
publisher feeds that we've been working on recently. Okay?
49:20
Those are, you know, aggregated podcast feeds of,
49:24
you know, so Wondery might have 50 podcasts. Right?
49:28
How do you find the other podcast that Wondery has if you re if you
49:31
just like 1? Well, there's a publisher feed. Now we built those
49:35
and Dovidast did that with me and and we made it work and it's
49:38
looking great. There's a couple of tweaks still left to be done. But
49:42
once those are done, that will be published as a standard. And so, yes, I'm
49:46
a great believer in build fast, fix quickly.
49:52
Yeah. And a a lot of potential. And
49:56
I like that with since you're building a web app
49:59
Mhmm. Where the cool thing these days is to call it a PWA, which
50:03
I see that those three letters thrown around all this time and so many people
50:07
don't even know what a PWA is. But progressive web app. But
50:11
what is great and what I want other developers to
50:15
understand is that you can be so agile
50:18
with your development because for one thing, there is no gatekeeper
50:22
for you. You're not waiting for Apple to approve your latest app and
50:26
they're not homing through your code to make sure that your app update
50:30
can be allowed onto the store. Like, look at Podcast Addict. Man, the
50:34
problems that Xavier has faced with Google Mhmm. And Google
50:37
is much more lenient than Apple is, but that he'll add a new
50:41
feature and then Google will basically say, no. You can't do that.
50:45
And so he runs into that problem. You don't have that problem. So you get
50:48
to be agile, and you don't have to wait
50:52
until True Fans 5 can launch to start thinking
50:56
about podcasting 2 point o No. Support.
51:00
JSON. But you can just put in that feature right away and
51:04
that's what's really neat about the web based development of
51:07
this. And that that was really just a little
51:11
tangent aside there. But what I would love to see
51:15
then is more of these web based tools
51:19
being this agile like this since we
51:22
can. And so that's why I'm thinking, since I've got Podgageman,
51:26
I wanted to have more Podcasting 2.0 support. I'm thinking,
51:30
what can I do to demonstrate what's
51:33
possible with ActivityStream? And there's just so much that we could do with it
51:37
Mhmm. That could solve a lot of problems. And even
51:41
I I was thinking too that you don't necessarily have to
51:45
have a single activity stream for a podcast. No. You
51:49
could potentially have multiples. Like this is the
51:52
the comments activity stream. This is the
51:56
playback consumption rate activity stream if they needed to
52:00
be split apart like that. Because I know, I talk
52:04
about episode metadata file, and some people hate me for that term,
52:07
the chapters and all of that stuff. But what's cool about
52:11
the way that we are doing chapters right now is that it can be split
52:14
into a separate file and you can have other episode metadata in a
52:17
separate file or you could merge these all into the same file.
52:21
There's that same kind of potential with Activity Stream. So
52:25
I love how this looks possible, and I am now
52:29
an advocate of this. I know that here on the
52:32
future of podcasting a few months ago, I was all gung ho about this
52:36
proposal I had for Cross App comments of a way to do things.
52:39
And, Basically, what I was describing,
52:43
I was kind of reinventing Activity Stream but in
52:47
a very clunky way and a not
52:51
not backed by certain standards. Like, the activity stream
52:55
is a W3C standard Yes. Which is the World
52:59
Wide Web Consortium. Yep. So this is a standard of how to
53:02
form this data and how to structure it, so it's not like we're making up
53:06
something on our own. But it's a flexible standard.
53:10
Yes. I like it. The other thing that you you should be aware of, you
53:14
mentioned, podcast streams and and and creator streams.
53:17
So first the first stream that you as a user
53:21
on Truefence see is your own personal stream. Right? Of everything you that you've done
53:25
across if if you think about it multiple podcasts, so that's your view
53:28
of the world. But when you go to a podcast
53:32
site, let's say the future of podcasting, it will show an
53:36
activity stream of any user that's interacted with
53:40
that podcast. So so who played, who boosted, who clicked
53:43
on the future of podcasting. And non fans
53:48
and all of their
53:52
activity. So and non fans
53:55
and all of their activity. So then you get an aggregated
53:59
view. So Sam played my, latest episode,
54:03
but he only played 70% of it and he gave me
54:07
6,000 sats. Right? That's an activity entry and
54:10
then we can roll that up for that episode. So now you can
54:14
roll up all of that activity and say, this podcast episode
54:18
earned 27,000 sats. There were 16 listeners
54:21
and the on average they dropped off at 44%,
54:26
and it was 60% complete. Right? Whatever that so
54:29
because that's just data from the individual that became
54:33
aggregated at a podcast episode level and then rolled up
54:37
again. Eventually, we will roll that up to a total podcast level. So you've
54:40
got, I think, 35, 36 episodes of the future of podcasting.
54:44
You will then see how many sets has that future of podcasting at, how many
54:48
fans have they got, etcetera, etcetera. There's so much you can
54:52
do from the activity stream data just within the
54:56
app itself, let alone sharing it cross app,
55:00
let alone sharing it with analytics companies and whatever.
55:04
So, yeah, there's a lot you can do with it because it's good structured data.
55:09
Let's keep that, like all the bigger things, a little secret just between us and
55:12
our audience for now just so we don't overwhelm everyone when we come
55:16
back saying, Hey, we're all gung ho with Activity Stream.
55:20
There's I'm excited about this and what we can
55:24
do. I'm totally on board with this now, especially now that I understand a little
55:28
bit better. And you listening right now, I hope I know we got in the
55:31
weeds on some of the stuff we know. Sorry. We probably lost everyone in that,
55:34
unfortunately. I didn't mean to. Well,
55:38
I I think the people who need to understand this
55:42
most can probably figure this out. And we'll have put some
55:45
links also, like, to the w three c standard and some more information. And
55:49
there's also a book coming out Yep. About all of this. We'll have those links
55:53
in the notes for this episode, number 39, on future of podcasting.net.
55:58
So there is a lot of potential for this. And the nice thing is that
56:01
the individual podcaster eventually will not have to
56:05
learn this. Years ago, I gave a keynote at a podcasting
56:09
conference, and the keynote was the future of podcasting. And one
56:13
of my predictions was the technology will disappear
56:17
in the aspect of the audience and the podcaster won't
56:20
even have to worry about what's running it. They won't have
56:24
to worry that it's activity stream. It will just work. Yep. That's when
56:28
the technology disappears. Nobody who's using
56:33
Spotify or Apple Podcasts or YouTube, you know, the main
56:36
big three, let's say, knows that the underlying delivery technology
56:40
is RSS. They don't need to. Right? The fundamentally
56:44
it ends up in the Apple Podcast and they play it. And that's it.
56:48
End of story. They don't need to understand how it got there and
56:52
what it was delivered by. Right. And it's the same with, I
56:55
I just wanna know that there was a comment made on this app and it's
56:59
over on this app, and now it's at the same they're aggregated together under one
57:03
episode, and that's magically happened. I don't need to know how it
57:06
happened, and that's that's what we have to get to. So you set me a
57:10
challenge on Macedon this week, which was I said,
57:14
you know, I've put the best I can as version
57:18
1, a help system into this in into
57:21
Truefans. And we use activity streams with gamification.
57:25
So, when you, enable your wallet, that's
57:29
a a verb, you know, and then we give you some sats for doing that
57:32
750 sats for enabling your wallet. When you do your first boost, we
57:36
can give you sats. We can do that 10 times. So you're learning
57:40
and earning at the same time. But then your 11th boost, we won't
57:43
pay you. Right? That's just a gamification model that we've attached to
57:47
Verbs. And the thing about it is you said to me, well,
57:51
don't do the videos because I'm in the middle of doing loads of videos just
57:54
showing how it all works. And my my answer to you is
57:58
yes. You're right. It shouldn't need videos and it shouldn't need extensive
58:02
help files to make this work because complexity has failed
58:05
simplicity. And, fundamentally, though,
58:09
what we're struggling with is vocabulary.
58:13
Yeah. Somebody on the Mastodon list said to
58:17
me, I don't even understand the difference between a Zap and a boost. So when
58:20
I explained it to them very simply, a Zap is a a like with a
58:23
payment and a boost is a comment with a payment. Why doesn't anyone ever
58:27
say that to me? Right? I'm like, well, they probably have, but now
58:31
they've got so far down the weeds of not having to re explain
58:34
every time when they say the word zap and when they say boost because they
58:38
expect everyone to understand it. And we have to remember people don't even know
58:41
what those things mean, Let alone value time splits and
58:45
wallet switching and everything else. Right? So there's
58:49
a lot of complexity in what we're all doing. And,
58:53
yeah, that vocabulary just needs to be
58:57
common knowledge. And then I think a lot of it becomes easier to not
59:01
have to explain how to do it with a video, but people think, oh,
59:04
yeah. Oh, you wanna boost it? I've got a wallet. There's
59:08
there's 50 sats done. Right? It all becomes second nature. I just
59:12
don't know when it'll become second nature. And speaking
59:16
of boosts, we got a boost here that is,
59:20
100,000 It sounds bad person.
59:24
It says great show, great episode. Please keep them coming.
59:28
And am I back at the top of the leaderboard? And that
59:32
came from Sam. Thank you so much. You're very
59:35
welcome. I was I was gutted when Dave Jackson said I was on top of
59:39
the leaderboard. So I went, well, that's it. 100,000. Send that straight
59:42
over. Let's see if that gets me back there. So I don't know if I
59:45
am or who knows? Yeah. And just to be clear,
59:49
that boost is not what got Sam onto this podcast. No. Thank you. Sam and
59:52
I have been wanting to have a conversation for a long time. It just worked
59:56
out really cool to be able to thank you personally here on the
59:59
podcast for that boost. So thank you so much.
1:00:03
Anyone else who would like to send us a boost, please do send that inside
1:00:07
of your podcast app, and recommend that your own audience, if you've got an audience
1:00:10
of other podcasters or listeners, recommend that they check out a new
1:00:14
podcast app over at podcasting2.org/apps. For Dave Jackson, I'm Daniel j Lewis, And Sam Sethi
1:00:22
was our guest here from truefans.fm. Check him out. Thank you
Podchaser is the ultimate destination for podcast data, search, and discovery. Learn More