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</id>
            <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</id>
            <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%28mediaclass-list-image.e236162578feb619104a8b70b221afe1aa6b7c0d%29.jpg

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</id>
            <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</id>
            <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@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@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@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@xmpp.org
To unsubscribe send an email to standards-leave@xmpp.org