Ralph. Good afternoon.
Thank you for this valuable information.
I will read it thoroughly and exlore it further.
I also want to mention, that Activity Streams might also be useful to
handle with what is called "reactions"; and, thereby, provide a better
classification of comments, and further ease to develop XMPP publishing
client software.
Regards,
Schimon
On Wed, 12 Nov 2025 10:27:21 +0100
Ralph Meijer <ralphm(a)ik.nu> wrote:
Hi,
Sure, feel free to create a XEP for this. As was mentioned before, in
principle, an activity streams event would just hold an Atom entry,
so you need to consider what you want to put in the new XEP.
In our system (anyMeta), we had an existing framework for
representing "things" connected to other "things" using edges with a
predicate. Very semantic web like. The activity streams for events in
those websites, as well as the interactive installations tied to
them, were a natural extension. We used "pubsub-as-node" here, so
notifications to subscribers were just emitted as a side effect of
events in the system. No explicit publish action in terms of an XMPP
protocol action, but rather an API call to the service that talked to
the XMPP network (anyxmpp).
Here are some debug logs of when I was testing back then, formatted
for easier reading. The first stanza is for an RFID reader in an
interactive "voting wall" being coupled to a specific answer (so that
a tag read there would cause the person tied to the tag to put in
vote for the answer). For reference A3Q5ULX3 is a specific RFID
reader, and "Nog een antwoord" an answer.
2011-01-10 09:26:27+0100 [-] SEND (0): "
<message to="localhost" from="dwaal.local">
<event
xmlns="http://jabber.org/protocol/pubsub#event">
<items node="activity">
<item id="activity/299">
<entry
xmlns="http://www.w3.org/2005/Atom">
<published>2011-01-10T09:26:26+01:00</published>
<updated>2011-01-10T09:26:26+01:00</updated>
<id>http://dwaal.local/activity/299</id>
<title type="html">Ralph Meijer made a link from A3Q5ULX3
to Nog een antwoord.</title>
<link href="http://dwaal.local/id/135" type="text/html"
rel="alternate"/>
<verb
xmlns="http://activitystrea.ms/spec/1.0/">http://mediamatic.nl/ns/anymeta/2010/activitystreams/link-to</verb>
<object xmlns="http://activitystrea.ms/spec/1.0/">
<id
xmlns="http://www.w3.org/2005/Atom">http://dwaal.local/id/135&…
<object-type>http://mediamatic.nl/ns/anymeta/2008/kind/artefact</object-type>
<title
xmlns="http://www.w3.org/2005/Atom">Nog een
antwoord</title>
<link
xmlns="http://www.w3.org/2005/Atom"
href="http://dwaal.local/id/135" rel="alternate"/>
</object>
<target xmlns="http://activitystrea.ms/spec/1.0/">
<id
xmlns="http://www.w3.org/2005/Atom">http://dwaal.local/id/117&…
<object-type>http://mediamatic.nl/ns/anymeta/2008/kind/artefact</object-type>
<title
xmlns="http://www.w3.org/2005/Atom">A3Q5ULX3</title> <link
xmlns="http://www.w3.org/2005/Atom" href="http://dwaal.local/id/117"
rel="alternate"/> </target>
<author>
<id>http://dwaal.local/id/80</id>
<object-type
xmlns="http://activitystrea.ms/spec/1.0/">http://mediamatic.nl/ns/anymeta/2008/kind/person</object-type>
<title>Ralph Meijer</title>
<link href="http://dwaal.local/id/80"
rel="alternate"/>
<link href="http://dwaal.local/image/432/96-192-192.jpg"
rel="enclosure"/>
<link href="http://dwaal.local/figure/80"
rel="figure"/>
<name>Ralph Meijer</name>
<uri>http://dwaal.local/id/80</uri>
</author>
</entry>
</item>
</items>
</event>
</message>
"
The second example is for a person registring an ikTag (personal RFID
tag):
https://www.mediamatic.net/image/2016/12/13/undefined-760108413.jpg%28media…
2011-01-07 10:53:32+0100 [-] Routing to localhost: u"
<message to="localhost" from="dwaal.local">
<event
xmlns="http://jabber.org/protocol/pubsub#event">
<items node="activity">
<item id="activity/292">
<entry
xmlns="http://www.w3.org/2005/Atom">
<published>2011-01-07T10:53:31+01:00</published>
<updated>2011-01-07T10:53:31+01:00</updated>
<id>http://dwaal.local/activity/292</id>
<title type="html">Ralph Meijer connected an ikTag to
their account.</title>
<link href="http://dwaal.local/id/80" type="text/html"
rel="alternate"/>
<verb
xmlns="http://activitystrea.ms/spec/1.0/">http://mediamatic.nl/ns/anymeta/2010/activitystreams/iktag</verb>
<object xmlns="http://activitystrea.ms/spec/1.0/">
<id
xmlns="http://www.w3.org/2005/Atom">http://dwaal.local/id/80&l…
<object-type>http://mediamatic.nl/ns/anymeta/2008/kind/person</object-type>
<title
xmlns="http://www.w3.org/2005/Atom">Ralph
Meijer</title> <link
xmlns="http://www.w3.org/2005/Atom"
href="http://dwaal.local/id/80" rel="alternate"/>
<link
xmlns="http://www.w3.org/2005/Atom"
href="http://dwaal.local/image/432/96-192-192.jpg"
rel="enclosure"/>
<link
xmlns="http://www.w3.org/2005/Atom"
href="http://dwaal.local/figure/80" rel="figure"/>
</object>
<author>
<id>http://dwaal.local/id/80</id>
<object-type
xmlns="http://activitystrea.ms/spec/1.0/">http://mediamatic.nl/ns/anymeta/2008/kind/person</object-type>
<title>Ralph Meijer</title>
<link href="http://dwaal.local/id/80"
rel="alternate"/>
<link href="http://dwaal.local/image/432/96-192-192.jpg"
rel="enclosure"/>
<link href="http://dwaal.local/figure/80"
rel="figure"/>
<name>Ralph Meijer</name>
<uri>http://dwaal.local/id/80</uri>
</author>
<agent xmlns="http://mediamatic.nl/ns/anymeta/">
<id
xmlns="http://www.w3.org/2005/Atom">http://dwaal.local/id/105&…
<object-type
xmlns="http://activitystrea.ms/spec/1.0/">http://mediamatic.nl/ns/anymeta/2008/kind/person</object-type>
<title
xmlns="http://www.w3.org/2005/Atom">ikCam Agent</title>
<link
xmlns="http://www.w3.org/2005/Atom"
href="http://dwaal.local/id/105" rel="alternate"/>
</agent>
</entry>
</item>
</items>
</event>
</message>
"
On 11/11/2025 14.27, Schimon Jehudah wrote:
This is great!
It was a good read. I will read it again, more thoroughly.
Shall we create a new XEP for Atom Activity Streams?
I think, that doing so would definitely be an incentive to the
developers of Friendica to extend support for XMPP.
I have forwarded your message to Friendica.
https://github.com/friendica/friendica/issues/15306
Schimon
On Tue, 11 Nov 2025 12:55:14 +0100
Ralph Meijer<ralphm(a)ik.nu> wrote:
> Everything old is new. I've worked on this quite extensively at
> Mediamatic in 2008-2011. Have a look at
> <https://ralphm.net/blog/2011/02> and
> <https://ralphm.net/publications/fosdem_2011/>.
>
> On 11 November 2025 10:13:41 CET, Schimon Jehudah<sch(a)fedora.email>
> wrote:
>> Good day
>>
>> I have elaborated about it to the Movim project.
>>
>>
https://github.com/movim/movim/issues/1488
>>
>> And I have two additional rationals.
>>
>> * Utilizing Activity Streams would allow to set icons and photos
>> to Atom Over XMPP feeds, which is currently not possible because
>> Atom Over XMPP only include element"atom:entry", and does not
>> include element"atom:feed".
>>
>> * Utilizing Activity Streams would also to set a different icon
>> and photo representations by *context* (e.g. family, sports,
>> traveling, exploring, et cetera).
>>
>> And this is an argument for future concerns.
>>
>> * As with Atom Over XMPP (XEP-0277 and XEP-0472), some people
>> might justly ask for RSS Over XMPP; and adopting Atom Activity
>> Streams would significantly assist in refuting an argument to add
>> a new XEP for RSS Over XMPP.
>>
>> Kindly,
>> Schimon
>>
>> On Mon, 10 Nov 2025 08:36:38 +0200
>> Schimon Jehudah<sch(a)fedora.email> wrote:
>>
>>> Good day.
>>>
>>> I have explored the "Atom Activity Streams" documents of
>>> Friendica.
https://activitystrea.ms/specs/atom/1.0/ I have
>>> further added rendering capabilities to an RSS extension.
>>>
https://greasyfork.org/scripts/465932-newspaper-syndication-feed-reader
>>> Proposal -------- Since Atom Activity Streams documents can be
>>> delivered as a single "atom:entry" element, as so with XMPP
>>> PubSub Node Items; then, it might be beneficial to mention "Atom
>>> Activity Streams" in the XEP specifications of Atom Over XMPP
>>> (XEP-0277 and XEP-0472).
>>>
>>>
>>> Rational
>>> --------
>>>
>>> Even though, as it seems, an Atom Activity Streams document is,
>>> as with Atom Over XMPP, a single"atom:entry" element, with a
>>> couple of XML namespaces, this would stimulate people to:
>>>
>>> * Utilize XMPP PubSub Node Items in an independent fashion,
>>> without compiling an Atom Syndication Format document; and
>>>
>>> * Consider interoperability with Friendica and other platforms
>>> that produce Atom Activity Streams documents, and also Json
>>> Activity Streams documents, which Nostr utilizes.
>>>
>>> * Consider interoperability of projects with XMPP.
>>>
>>> * Motivate projects, such as Friendica to extend support of XMPP.
>>>
>>>
>>> XML Namespace
>>> -------------
>>>
>>> The namespaces that are utilized by Friendica, and may be
>>> relevant, are:
>>>
>>>
xmlns="http://www.w3.org/2005/Atom"
>>>
xmlns:at="http://purl.org/atompub/tombstones/1.0"
>>> xmlns:activity="http://activitystrea.ms/spec/1.0/"
>>>
xmlns:dfrn="http://purl.org/macgirvin/dfrn/1.0"
>>>
xmlns:georss="http://www.georss.org/georss"
>>>
xmlns:media="http://purl.org/syndication/atommedia"
>>>
xmlns:ostatus="http://ostatus.org/schema/1.0"
>>>
xmlns:poco="http://portablecontacts.net/spec/1.0"
>>>
xmlns:statusnet="http://status.net/schema/api/1/"
>>>
xmlns:thr="http://purl.org/syndication/thread/1.0"
>>>
>>>
>>> Sample
>>> ------
>>>
>>> Herein attached an Atom Activity Streams document. Source:
>>>
>>>
https://my-place.social/display/feed-item/107999490.atom
>>>
https://my-place.social/display/1c9fc4fa-f51b9f6f654d0bd7-7c3a0251
>>>
https://piaille.fr/@movim/115519544289510132
>>>
>>>
>>> Kind regards,
>>> Schimon
>> _______________________________________________
>> Standards mailing list --standards(a)xmpp.org
>> To unsubscribe send an email tostandards-leave(a)xmpp.org