https://rhiaro.co.uk/2015/04/1429038889
type: Add
actor: me
object: https://www.w3.org/Social/track/issues/27
published: 2015-04-14T20:14:00+0100
summary: Amy added https://www.w3.org/Social/track/issues/27 to https://rhiaro.co.uk/bookmarks/
tag: activitystreams
tag: as2
tag: profile
tag: profiles
tag: social+web
tag: socialwg
target: bookmarks

https://rhiaro.co.uk/2015/04/1429749840
type: Add
actor: me
object: API.md
published: 2015-04-23T01:44:00+0100
summary: Amy added https://github.com/e14n/pump.io/blob/master/API.md to https://rhiaro.co.uk/bookmarks/
tag: activitystreams
tag: pump+io
tag: pumpio
tag: social+web
tag: socialwg
target: bookmarks

generating
type: Article
tmpcontent: # Generating an ActivityStream ## Part one: posts-for-all-the-things If you've been paying attention to me IRL or in IRC lately, you'll have had me try to persuade you that activities and posts are basically the same thing. People advocating post-centric views and people advocating activity-centric views are really describing the same thing from different angles, and with slightly different data models. An activity looks generally like: ![Activity structure](https://rhiaro.co.uk/posts/201505activitystream/activity_blank.png) And a post looks generally like: ![Post structure](https://rhiaro.co.uk/posts/201505activitystream/post_blank.png) Colour coding indicates what correlates between the two. Differences: | | Activity | Post | | ---------------------------------- | ---------------------------------- | --------------------------- | | **type** | explicit | implied by properties | | **relationship to another object** | `object` | value of arbitrary property | | **meta** | some on activity, some on `result` | all on post | But you can see that the data they contain are basically the same. Bear with me. ### What are activities for? To propagate changes through a network. To tell people that somebody did something. ### What are posts for? Posts are content, an end in themselves. ### Who cares? As someone who just wants to publish stuff and interact on the web, do I care if I'm creating and pushing around posts, or activities? Probably not. I just want to do stuff, and have people see it. As a developer, I want to post objects around that contain as much data as needed, and no more. I want the right people to know when something has changed. Whether I prefer to do this with activities or posts (or JSON or HTML) is, as far as I see it, personal preference. I don't think there's an inherant advantage to one over the other. ### So which to start with? Starting with a blog perspective, the most important thing is that people see my content. Posts are my content, so I start th…
actor: me
content: Part one: posts-for-all-the-things If you've been paying attention to me IRL or in IRC lately, you'll have had me try to persuade you that activities and posts are basically the same thing. People advocating post-centric views and people advocating activity-centric views are really describing the same thing from different angles, and with slightly different data models. An activity looks generally like: And a post looks generally like: Colour coding indicates what correlates between the two. Differences: Activity Post type explicit implied by properties relationship to another object object value of arbitrary property meta some on activity, some on result all on post But you can see that the data they contain are basically the same. Bear with me. What are activities for? To propagate changes through a network. To tell people that somebody did something. What are posts for? Posts are content, an end in themselves. Who cares? As someone who just wants to publish stuff and interact on the web, do I care if I'm creating and pushing around posts, or activities? Probably not. I just want to do stuff, and have people see it. As a developer, I want to post objects around that contain as much data as needed, and no more. I want the right people to know when something has changed. Whether I prefer to do this with activities or posts (or JSON or HTML) is, as far as I see it, personal preference. I don't think there's an inherant advantage to one over the other. So which to start with? Starting with a blog perspective, the most important thing is that people see my content. Posts are my content, so I start there. I create a post, which are objects with various properties. If I want to explicitly notify someone of a post - because I'm replying to them, favouriting, bookmarking, sharing, tagging, etc, I send them a webmention. The reciever is then free to act upon this as they like: display my post on their site, update their own internal friends list, add my post to a collection…
latitude: 43.77953
longitude: 11.24911
name: Generating an ActivityStream
published: 2015-05-20T14:32:21+0100
tag: doing
tag: Doing
tag: activities
tag: activitystreams2
tag: activitystreams
tag: as2
tag: hacking
tag: indieweb
tag: microformats2
tag: posts
tag: slogd
tag: social+web
tag: socialwg

micropubbing-with
type: Article
has reply: https://brid-gy.appspot.com/like/twitter/rhiaro/602591522383646720/1111871
has reply: https://brid-gy.appspot.com/like/twitter/rhiaro/602591522383646720/1583811
has reply: https://brid-gy.appspot.com/like/twitter/rhiaro/602591522383646720/7726162
has reply: https://brid-gy.appspot.com/like/twitter/rhiaro/602591522383646720/961661
has reply: https://twitter.com/CaptSolo/status/605133212252315649
has reply: https://twitter.com/elfpavlik/status/603273389319581698
has reply: https://twitter.com/kevinmarks/status/602605164109762560
tmpcontent: # Micropubbing with json If micropub used JSON instead of (/as well as) form encoding, what might submissions look like? Aaaron Parecki brainstormed about this on our [Social APIs brainstorming doc](https://github.com/w3c-social/Social-APIs-Brainstorming/blob/master/README.md). I'm going to repeat his examples for create/update/delete here, compare them with equivalent AS2.0 json, then explore other post 'types'. Note: I've left out `@context` from all AS examples because we agreed when missing, this is implied to be "https://www.w3.org/ns/activitystreams". ## Create a new post ``` { "object": { "content": "hello world", "category": ["indieweb"], "published": "2015-05-15T13:06:00+02:00", "author": "https://rhiaro.co.uk/about#me" } } ``` No URL is given so it's implied that a new post is being created. Most of this is Aaron's example but I added the explicit published date and author, but these could also be added automatically by the micropub endpoint as the current time and the authenticated user who is sending the request. **ISSUE:** `actor` vs `author` may never get agreed upon. I think `actor` is too abstract and `author` is too specific. I'm a fan of `agent` to mean 'whatever caused this to happen' (be it human, group, process or bot) but I know that's not an easy sell either. I think one side is going to have to suck it up, and I don't know who this is going to be. AS also has `attributedTo` which may be a reasonable compromise but seems a bit clunky. Response per micropub spec: `201 Created` and the URL of the post in the `Location` header. An AS2.0 Activity for creating a new post would look like: ``` { "@type": "Post", "published": "2015-05-15T13:06:00+02:00", "actor": "https://rhiaro.co.uk/about#me", "object": { "content": "hello world", "category": ["indieweb"] } } ``` Response per ActivityPump spec: "This has the side effect that of the object that they are posting is being created." - either I missed something more specific in the spec or this remains t…
updated: 25th May 2015, 00:08 Europe/Berlin
content: If micropub used JSON instead of (/as well as) form encoding, what might submissions look like? Aaaron Parecki brainstormed about this on our Social APIs brainstorming doc. I'm going to repeat his examples for create/update/delete here, compare them with equivalent AS2.0 json, then explore other post 'types'. Note: I've left out @context from all AS examples because we agreed when missing, this is implied to be "https://www.w3.org/ns/activitystreams". Create a new post { "object": { "content": "hello world", "category": ["indieweb"], "published": "2015-05-15T13:06:00+02:00", "author": "https://rhiaro.co.uk/about#me" } } No URL is given so it's implied that a new post is being created. Most of this is Aaron's example but I added the explicit published date and author, but these could also be added automatically by the micropub endpoint as the current time and the authenticated user who is sending the request. ISSUE: actor vs author may never get agreed upon. I think actor is too abstract and author is too specific. I'm a fan of agent to mean 'whatever caused this to happen' (be it human, group, process or bot) but I know that's not an easy sell either. I think one side is going to have to suck it up, and I don't know who this is going to be. AS also has attributedTo which may be a reasonable compromise but seems a bit clunky. Response per micropub spec: 201 Created and the URL of the post in the Location header. An AS2.0 Activity for creating a new post would look like: { "@type": "Post", "published": "2015-05-15T13:06:00+02:00", "actor": "https://rhiaro.co.uk/about#me", "object": { "content": "hello world", "category": ["indieweb"] } } Response per ActivityPump spec: "This has the side effect that of the object that they are posting is being created." - either I missed something more specific in the spec or this remains to be clarified (I'm not criticising, AP is very much under-development!). I prefer the first one. Key differences: Explicit type on the activity (w…
latitude: 43.51198
longitude: 16.43697
name: Micropubbing with json
published: 2015-05-24T22:40:00+0100
tag: doing
tag: Doing
tag: activitystreams
tag: as2
tag: brainstorming
tag: hacking
tag: idea
tag: indieweb
tag: https://rhiaro.co.uk/tags/json
tag: microformats2
tag: micropub
tag: slogd
tag: social+web
tag: socialwg

https://rhiaro.co.uk/2015/12/1449506940
type: Add
actor: me
object: activity-streams
published: 2015-12-07T16:49:00+0000
summary: Amy added http://martin.atkins.me.uk/activity-streams/ to https://rhiaro.co.uk/bookmarks/
tag: activitystreams
tag: as2
tag: social+web
tag: socialwg
target: bookmarks

https://rhiaro.co.uk/2015/12/1451604240
type: Add
actor: me
object: burrow
published: 2015-12-31T23:24:00+0000
summary: Amy added https://apps.rhiaro.co.uk/burrow/ to https://rhiaro.co.uk/bookmarks/
tag: activitypub
tag: activitypump
tag: activitystreams
tag: apps
tag: burrow
tag: checkins
tag: indieweb
tag: micropub
tag: slogd
target: bookmarks

socialwg4-summary
type: Article
tmpcontent: # Social Web WG 4th face-to-face summary *This post is my own opinion, and does not necessarily represent the opinion of the Social Web WG!* See also [day 1 minutes](https://www.w3.org/wiki/Socialwg/2015-12-01-minutes) and [day 2 minutes](https://www.w3.org/wiki/Socialwg/2015-12-02-minutes). What follows is more detail on my perspective of the main conversations we had over the two days. Clarifications and corrections welcome. ## tl;dr ## * Most AS2 issues are closed! CR-blocking issues are now due by 15th December. * We took a bunch of things to Editor's Draft and are pushing for FPWDs as soon as is viable. * Some of the drafts overlap but there's a general feeling that since there are keen editors we should work on everything and iron out issues and redundancies as we go, rather than holding out and waiting for clarity. * Go check out the specs and build bits of them and give the editors feedback! ## ActivityStreams 2 We steamrollared through AS2 issues, which included core simplifications, vocabulary changes and reductions and editorial clarifications. James made most edits during the meeting, so there's [a much updated working draft](http://jasnell.github.io/w3c-socialwg-activitystreams/activitystreams-core/index.html) available now. You should read it and post any issues you see to be CR-blocking by the 15th of December. JSON-LD related stuff has been moved to its own section; since it is optional, having references sprinkled throughout was confusing for people who don't necessarily want to deal with it. [Chris](https://dustycloud.org) pointed out that even for extensions, if you know the extension you want to handle you can still do that in plain JSON. Still some consternation about which alternative syntax examples should be in the spec. Since they're non-normative/editorial anyway they're not a CR-blocker so left alone for the time being. We don't need a verison number in the URL because any future widely-deployed extensions that want to make it into the cor…
content: This post is my own opinion, and does not necessarily represent the opinion of the Social Web WG! See also day 1 minutes and day 2 minutes. What follows is more detail on my perspective of the main conversations we had over the two days. Clarifications and corrections welcome. tl;dr Most AS2 issues are closed! CR-blocking issues are now due by 15th December. We took a bunch of things to Editor's Draft and are pushing for FPWDs as soon as is viable. Some of the drafts overlap but there's a general feeling that since there are keen editors we should work on everything and iron out issues and redundancies as we go, rather than holding out and waiting for clarity. Go check out the specs and build bits of them and give the editors feedback! ActivityStreams 2 We steamrollared through AS2 issues, which included core simplifications, vocabulary changes and reductions and editorial clarifications. James made most edits during the meeting, so there's a much updated working draft available now. You should read it and post any issues you see to be CR-blocking by the 15th of December. JSON-LD related stuff has been moved to its own section; since it is optional, having references sprinkled throughout was confusing for people who don't necessarily want to deal with it. Chris pointed out that even for extensions, if you know the extension you want to handle you can still do that in plain JSON. Still some consternation about which alternative syntax examples should be in the spec. Since they're non-normative/editorial anyway they're not a CR-blocker so left alone for the time being. We don't need a verison number in the URL because any future widely-deployed extensions that want to make it into the core will likely be incorporated as part of a full new version (ie. AS3). At some point we should start a registry for extensions; James is keeping track himself on github, we could move this to a wiki page and ultimately a CG when the WG wraps up. Lots of discussion about testing framew…
name: Social Web WG 4th face-to-face summary
published: 2015-12-07T23:59:00+0000
tag: activitypump
tag: activitystreams
tag: as2
tag: federation
tag: indieweb
tag: jf2
tag: meeting
tag: mf2
tag: microformats
tag: micropub
tag: phd
tag: social+protocols
tag: social+web
tag: socialapi
tag: socialwg
tag: standards
tag: w3c
tag: webmention

socialwg5-summary
type: Article
content: This post is my own opinion, and does not necessarily represent the opinion of the Social Web WG! See also day 1 minutes and day 2 minutes. We met in Boston on 16 and 17 March. What follows is more detail on my perspective of the main conversations we had over the two days. Clarifications and corrections welcome. ActivityStreams2 AS2 is inching closer to CR. Evan has made a validator at as2.rocks and done a lot of work on conformance criteria which we went through as a group and updated a little; mostly changing SHOULDs to MUSTs. Discussed and not necessarily resolved a few new open issues, including: considering dropping the Relationship object and reviving it as an extension if necessary; a proposal for a new property to say when something was deleted; weakening the SHOULD requirement on name; clarifying scope and context. Stay tuned for a new working draft sometime soon. SocialPub The most exciting thing I thought was agreeing on the potential for convergence between the create, update and delete parts of Activitypub and Micropub. Micropub started life as a super small and simple way for clients and servers to agree how to create content on a website by POSTing form encoded parameters to an endpoint. As a result of this simplicity, there are dozens of client and server implementations, allowing people to use each others posting clients to add posts to their site, from simple text-only posts to photos, events, RSVPs, likes, bookmarks, reposts. When Micropub needed update and delete, it grew beyond what form-encoded parameters could sensibly handle, and added in a JSON syntax which I think to date only the editor has implemented. Activitypub uses a JSON syntax (ActivityStreams2) from the outset for create, update and delete, and when you compare this with the Micropub JSON they look remarkably similar. My posting endpoint implements create the AP way, and endpoint discovery the MP way. It also catches Micropub form-encoded requests and translates them to AS2 JSON b…
name: 5th Social WG F2F Summary
published: 2016-03-29T10:43:39+01:00
tag: activitypub
tag: activitystreams
tag: as2
tag: meeting
tag: micropub
tag: phd
tag: social+web+protocols
tag: social+web
tag: socialpub
tag: socialwg
tag: standards
tag: w3c
tag: webmention

minimal
type: Article
content: ActivityPub updates objects by posting an ActivityStreams2 Update Activity to the authenticated user's outbox (discovered from their profile). I store my photo albums as ActivityStreams2 Collections, so this morning I made a minimal AP-compliant update endpoint today that lets me add captions to them. This is just the server componant. It lets me do: curl -vX POST -H "Content-Type: application/activity+json" -H "Authorization: secret-token" -d @as-update.json https://path/to/endpoint where as-update.json contains: { "@context": "http://www.w3.org/activitystreams#", "type": "Update", "name": "Amy captioned a photo.", "actor": "https://rhiaro.co.uk/about#me", "object": { "id": "https://uri/of/photo.jpg", "name": "A brand new caption." } } So far this replaces the entire object with the object embedded in the Activity. Hopefully we'll have a syntax to indicate partial updates in AP soon. The code (PHP) at https://path/to/endpoint contains a few functions that are at the discretion of the server (how to verify the authenticated user can write, what to do with the activity once it gets it, and exactly how to perform the update): function verify_token($token){ // Magic to verify token passed in Authorization header here. // I check it against a protected file on the server that contains a randomly generated long string. return $response; } function store_activity($activity){ // Arbitrary server logic to store the activity that was posted. // I just dump the JSON in a file. return true; } function make_update($activity){ // Arbitrary server logic to perform the update on the object. // I parse the value of object in the activity to work out where its data is stored in the filesystem, then rewrite the appropriate JSON file. return true; } And here's the overall flow: // Authentication $headers = apache_request_headers(); if(isset($headers['Authorization'])) { $token = $headers['Authorization']; $response = verify_token($token); $me = @$response['me']; $iss = @$response['iss…
name: Minimal ActivityPub update endpoint
published: 2016-05-28T20:01:06+01:00
tag: activitypub
tag: activitystreams2
tag: activitystreams
tag: as2
tag: hacking
tag: https://rhiaro.co.uk/tags/json
tag: photos
tag: php
tag: server
tag: social
tag: socialwg
tag: swwg

minimal-activitypub
type: Article
content: Today I finished morph, a client for posting ActivityStreams2 Update activities to an endpoint. The server handles this update activity however it wants, but the obvious thing to do is take the object of the activity and make the indicated changes. So far it: Doesn't have proper authentication, just a field to enter in a key that the server uses to verify me. Doesn't do endpoint discovery, so I have to type that in as well. Only understands how to display ActivityStreams2 Collections, and only knows how to edit items within the Collections. Specifically only knows how to add name, published and tags to items in a Collection. Will be expanding its object editing abilities soon. Code on github. See also: Minimal ActivityPub update endpoint.
name: Minimal ActivityPub update client
published: 2016-05-30T23:28:56-04:00
tag: activitypub
tag: activitystreams2
tag: activitystreams
tag: as2
tag: client
tag: cv
tag: hacking
tag: https://rhiaro.co.uk/tags/json
tag: morph
tag: photos
tag: php
tag: resume
tag: social
tag: socialwg
tag: swwg

socialwg6-summary
type: Article
content: This post is my own opinion, and does not necessarily represent the opinion of the Social Web WG! See also day 1 minutes and day 2 minutes. We met in Portland on 6th and 7th June. What follows is more detail on my perspective of the main conversations we had over the two days. Clarifications and corrections welcome. This doesn't cover everything we talked about in detail; as well as the following, we resolved (or at least discussed) issues on all of the specs, and took a few to new Working Draft status. Demos I demoed my ActivityPub implementations; clients Burrow for checkins, Obtainium for consumption/purchase logging, Replicator for food logging and Seeulator for journeys and events. These all do create only by sending either appropriate activities (including some extensions) to my activitypub endpoint (aka outbox, but not discoverable as such yet). Seeulator creates the right kind of activity based on what attributes are filled in or left blank, essentially doing post-type discovery - albeit my own algorithm rather than tantek's spec from the user input to generate the right as:Activity. The newer thing I worked on was a client that only does updates of existing AS2 data. I wanted this so I could add captions to all my photos at img.amy.gy, so Morph does just that. This also means it has to be able to read/consume the AS2 data published at img.amy.gy about as:Collections of photos. Aaron demoed the Webmention test suite at webmention.rocks and notes that there are Webmention Rocks stickers available for people submitting implementation reports.. Aaron also demoed a new feature in the Micropub spec which is the media endpoint. After some discussion recently it was established that all mainstream social APIs seem to post media (like images) that have been embedded in a post to a separate endpoint, then embed the returned URL in the post content, and MediaGoblin does this too. Aaron's implementation in Quill is really swish looking, uploading the file to the discov…
name: 6th Social WG F2F Summary
published: 2016-06-25T17:39:36+01:00
tag: activitypub
tag: activitystreams
tag: as2
tag: meeting
tag: micropub
tag: phd
tag: posttypediscovery
tag: protocols
tag: social
tag: socialwg
tag: standards
tag: w3c
tag: web
tag: webmention

socialwg7-summary
type: Article
content: This post is my own opinion, and does not necessarily represent the opinion of the Social Web WG! We met in Lisbon, Portugal, during the last two days of the W3C's annual TPAC conference on the 22nd and 23rd of September. See also day 1 minutes and day 2 minutes. tl;dr It's crunch time, but we're on track. We have a selection of specifications which essentially cover creating content and then pinging people about it in various different ways. Many people in the group are using one or more of these specs to power their own personal online social stuff. There are so many more Social Web problems to solve, and we're just trying to dig some foundations and plant some posts in the ground to get everyone else started. Wednesday demos The first time the Social WG gathered last week was for an hour on Wednesday, to demo the products of all of our specs to the broader audience of TPAC attendees. We had a full house. Everything went smoothly, and our demos were fairly coherent. Aaron showed Micropub and Webmention working together in the context of posting a reply to his site (with Micropub), which automatically sent a Webmention to post he was replying to, and after a few seconds his reply showed up there (on the site of someone who isn't a WG member, and had implemented Webmention receiving independently). My site returns ActivityStreams 2.0 for everything when you request application/activity+json or application/ld+json, so I showed collections and individual objects at the commandline. Dumping a blob of JSON on the screen isn't a particularly compelling demo, but Chris was able to furnish me with a screenshot of his AS2 consumer, emacs-based, rendering one of my posts. Maybe you want to make an AS2 reader so you can design your own reading experience for my posts? Chris showed how he is able to create notes on his site using an emacs-based posting client, which prompts his server to send the message on to the inbox of anyone addressed, all using ActivityPub. Sarven showed…
name: 7th Social WG F2F Summary
published: 2016-10-15T18:41:00-07:00
tag: https://rhiaro.co.uk/tags/as2
tag: http://csarven.ca/#i
tag: tantek.com
tag: aaronpk.com
tag: dustycloud.org
tag: activitypub
tag: activitystreams
tag: indieweb
tag: ldn
tag: micropub
tag: post+type+discovery
tag: pubsub
tag: social+web+protocols
tag: socialwg
tag: w3c
tag: webmention
tag: work

socialwg8-summary
type: Article
content: This post is my own opinion, and does not necessarily represent the opinion of the Social Web WG! We met at MIT in Cambridge, MA, on the 17th and 18th of November. See also day 1 minutes and day 2 minutes. tl;dr Everything is progressing. Naming things is hard. We need your implementations please or features may be dropped from some specs. We hope to extend by 6 months, not so we all make more work to do, but just so that the newest spec has time to make it to rec given process timing requirements. We're transitioning any other work into a CG. Community Group The Social Web Incubator Community Group, should be pronounced swi-kig, but by the end of the meeting everyone had taken to calling it swish. I think it was Evan's fault. Anyway it's live, and is where we'll continue to develop on top of the things we started in the WG, as well as think about how to tackle things we haven't got to yet. Aaron and Chris are chairing it, and plan for discussion to take place primarily on github and IRC, with mailing lists for broadcast only. You should join. The spec formally known as PubSubHubbub At the last face-to-face we renamed PubSubHubbub to PubSub. We subsequently realised this is too generic a term for quite a specific spec, and as a result is hard to search the Web for, and hard to find/name libraries and packages for. Renaming it again took the better part of a month. Heh. A few weeks ago we developed a fairly long shortlist on the wiki, listing pros and cons, and a few people voted and left their rationale. On day one of this face-to-face, we ruled out every single one of those suggestions, and came up with three new ones (WebSub, WebFollow and WebSubscribe). We slept on it, and just before lunch of day 2, voted between these three. WebSub won. I like it for its closeness to PubSub; WebFollow is a good name for a user-facing feature that implements the WebSub protocol. Then we proceeded to brainstorm more names in the google doc, progressively making the font smaller a…
generator: sloph
name: 8th Social WG F2F Summary
published: 2016-11-24T20:49:00-05:00
tag: http://csarven.ca/#i
tag: aaronpk.com
tag: dustycloud.org
tag: aaronpk
tag: activitypub
tag: activitystreams
tag: as2
tag: csarven
tag: cwebber
tag: evanpro
tag: julien
tag: ldn
tag: micropub
tag: phd
tag: pubsub
tag: pubsubhubbub
tag: sandro
tag: social+web+protocols
tag: social+web
tag: socialwg
tag: standards
tag: swicg
tag: tantek
tag: w3c
tag: websub

bookmarks-to-as2
type: Article
content: This is a script to convert a Firefox bookmarks export to ActivityStreams 2.0 so you can import it into your own website or ActivityPub system. You can export Firefox bookmarks as HTML, but if you choose 'backup' instead of export, you get JSON. So this is just a couple of PHP functions which parse that JSON, pull out the useful information, and shuffle it into AS2 objects. It turns each bookmark URL into an as:Article with a name. These Articles are the object of an as:Add Activity. The target of the Add you can configure yourself to be the URL of your bookmarks collection. The date from the Firefox data I use as the published date in the Add, and I also auto-generate a summary. The script generates a unique new URL for every Add using the pattern /yyyy/mm/unique-id. You can of course configure this to match your Activity URLs template. This is what one looks like: { "@context": "https://www.w3.org/ns/activitystreams#", "type": "Add", "id": "https://rhiaro.co.uk/2016/06/58749e0b104c8", "published": "2016-06-13T15:32:44+00:00", "summary": "Amy added 'Web memex' to Bookmarks", "object": { "id": "http://webmemex.org/", "type": "Article", "name": "Web memex" }, "target": "https://rhiaro.co.uk/bookmarks/", "actor": "https://rhiaro.co.uk/#me" } It also generates the contents of your bookmarks collection: { "@context": "https://www.w3.org/ns/activitystreams#", "id": "https://rhiaro.co.uk/bookmarks/", "type": "Collection", "name": "Bookmarks", "items": [ "https://rhiaro.co.uk/2016/06/58749f535ac7b", "https://rhiaro.co.uk/2017/01/58749f535ce3e", "https://rhiaro.co.uk/2016/04/58749f535cee0", "https://rhiaro.co.uk/2016/09/58749f535d068", ... ] } The truth is, until yesterday most of my Firefox bookmarks are accidents; side effects of me accidentally clicking bookmark or mashing keyboard shortcuts. Then csarven shared his bookmarks export with me so I needed to do something to get a handle on all this data. The script includes a form which lists all of the bookmarks with check…
generator: sloph
name: Firefox bookmarks to ActivityStreams 2.0
published: 2017-01-10T17:54:00+08:00
tag: activitystreams
tag: as2
tag: hacking
tag: php
tag: socialwg

week-in-review-3
type: Article
content: Started running again. Helped with getting WebSub to CR and AS2 and Micropub to PR. Had a couple of days of mini-meltdown thesis-panic low productivity and oversleeping. Did my US federal taxes. Finished integrating Social Web Protocols into a draft of chapter 5. Finished a fairly large overhaul of Social Web Protocols.
name: Week in review: 10 - 16 April
published: 2017-04-16T23:30:00+08:00
tag: activitystreams
tag: micropub
tag: phd
tag: running
tag: social-web-protocols
tag: socialwg
tag: thesis
tag: w3c
tag: websub
tag: week-in-review

social-web
type: Article
content: The Social Web CG meeting featured old faces and new. I hadn't looked at the agenda beforehand, and Evan seemed keen to focus on practical things and make it a working meeting. I think it's tricky to balance this at TPAC, where many curious observers without necessarily deep background sit in, and it's harder for the usual community members to attend (remote is an option, and technically anyone could just dial in, but it's theoretically gated behind a registration, which again, has an option to ask for the fee to be waived, but does imply that most people should have a paid ticket). It turned out that the audio in the room was not great too, so remote participants had trouble taking part. I minuted it here. Some of the interactions gave me a tight-chested panicky feeling, a throwback to five or more years ago when I was deeply involved in this space, emotionally invested, and having a hard time dealing with all of the conflict. Time constraints aside, I'm hesitant to get more than peripherally involved again for this reason, though I do want to see the work progress. Thoughts about rechartering the Social WG have been floating around for a while, and we had the first minuted conversation about it. There is a lot of enthusiasm for it from the W3C side - it would be a shame to lose the momentum currently in the fediverse, when we could use it to fix up at least the ActivityPub standard. Meanwhile there's a diversity of projects and spinoffs in a community that's so large I can't keep up, and people there are naturally worried about being excluded. I think this is a combination of people who weren't around for the first time, and see it as an exclusive group that only reps of large companies can be involved with, along with people who were there for the first time round and had some bad experiences with the difficult group dynamics, and are not keen to see that repeated. Personally, I'm not opposed to a WG rechartering, but I'm not strongly advocating for it either. I …
generator: no-ceremonies-are-necessary
name: Social Web Incubator Community Group - face-to-face meeting at TPAC 2023
published: 2023-09-24T13:53:00+01:00
tag: web+standards
tag: activitystreams
tag: activitypub
tag: indieweb
tag: decentralisation
tag: social+web
tag: socialcg
tag: w3ctpac
tag: w3c
tag: tpac2023

activitystreams
type: Collection
total items: 21

https://rhiaro.co.uk/tags/activitystreams
type: CollectionPage
items: social-web
items: week-in-review-3
items: bookmarks-to-as2
items: socialwg8-summary
items: socialwg7-summary
items: socialwg6-summary
items: minimal-activitypub
items: minimal
items: socialwg5-summary
items: https://rhiaro.co.uk/2015/12/1451604240
items: socialwg4-summary
items: https://rhiaro.co.uk/2015/12/1449506940
items: micropubbing-with
items: generating
items: https://rhiaro.co.uk/2015/04/1429749840
items: https://rhiaro.co.uk/2015/04/1429038889
name: activitystreams
part of: activitystreams
prev: https://rhiaro.co.uk/tags/activitystreams