permalinks
type: Article
actor: me
content: As mentioned in Blog Post URIs, I'm a bit concerned about people replying to the 'wrong' URI for a post. That is, using the URL of a HTML page with the post rendered within it, rather than the post's permalink. I couldn't find a Microformats2 term for permalink, which I thought would be the obvious solution. The webmention 'protocol' says that when I recieve a webmention: Check the target is a valid URI on my site after following redirects. In my case, upon recieving a target of a https://rhiaro.co.uk/yyyy/mm/id, to validate it, rather than 'following a redirect' I'll actually be getting it's foaf:topic from the triplestore, which is fine. But in accepting this as the target I'm confirming to the sender that this is the correct URI to reply to. Hypothetically this non-permalink could break, breaking the reply. The permalink URI is one I'm promising won't break, so it's in everybody's interests to send the reply there. But logically, if somebody is linking to me in a post of their own, they're going to want to link to the rendered version, rather than whatever my raw version will look like (probably crappy, but that's on me, and maybe part of the problem). Replying to shortlinks Because I'm a linked data nut, my problem derives from a deliberate differentiation between a blog post and a page about a blog post. The connection between them (or from one to the other) can be discovered through RDF, but there is no HTTP redirection. I suspect this is a very much minority use-case for #indieweb folks. However, use of shortlinks is widespread (and you can see redirects are accounted for in the webmention protocol), and so as soon as someone's URL shortner breaks (or moves) permanently, unless they store the post contents and metadata themselves, they might have to have to think about this a bit. Solution? I'd like to be able to send back the correct URI (303 redirect style) so the sender can either: try again with the correct URI, or update their system with the correct URI…
name: Permalinks and webmention
published: 2015-01-04T19:17:00+0000
tag: doing
tag: Doing
tag: hacking
tag: indieweb
tag: learning
tag: linked+data
tag: mf2
tag: microformats2
tag: microformats
tag: permalinks
tag: slogd
tag: uri
tag: webmention
updated: 2015-01-04T19:17:00+0000

polyphasic-sleep
type: Article
actor: me
content: I've been thinking about adopting a polyphasic sleep cycle for some time. I really just want more hours in the day. In theory I like mornings, but I usually struggle to get up. When I do, it's very rewarding. Usually I'll drag myself out of bed an hour before the first thing I have to be at (meeting, seminar), which could be anywhere between 0830 and early afternoon. If I don't have anything specificially scheduled, I won't set an alarm, figuring I trust my body to wake up when it's ready. When I do this, I usually sleep a solid 10 hours and feel pretty shitty when I wake up. Regardless of when I get up, I start to crash around 1500. By crash, I mean suddely find myself staring, zombielike, at Buzzfeed and Facebook and stuck in a constant cycle of clicking mindless linkbate and scrolling through social feeds. Ugh. If I catch myself, I'll probably call it a day and go to do something physical like make food or clean. Sometimes (usually only possible if I have some decent food in my office) instead I push through the zombie and hit a second wave of productivity in the early evening. I start to wake up, feel more alert, and can get sucked into coding or researching something until the early hours of the morning. That feels great, but sometimes I have to make myself stop work before midnight so I can go home and get enough sleep to be awake for my first scheduled thing the next day. Sometimes I fail at stopping, only get a few hours sleep and feel like shit the next day. Occasionally I'll find time to take a nap if I'm feeling completely out of it, but naps often overrun by many hours, and then I hate myself for 'wasting' even more time asleep. So I want to figure something out that lets me fit in my nighttime productivity, and see the sunlight, and not oversleep or undersleep. Setting a rigid timetable for sleep and naps will help with this, I think. If I know I'm trying to be consistent, and naps are purposeful and scheduled, my willpower should kick in get me up when…
name: Polyphasic sleep
published: 2015-01-04T05:00:00+0000
tag: doing
tag: Doing
tag: life
tag: polyphasic
tag: quantified+self
tag: sleep+cycle
tag: sleep
updated: 2015-01-04T05:00:00+0000

microformats2-rdf
type: Article
tmpcontent: # Microformats2 RDF Ontology I'm serializing the [microformats2](http://microformats.org/wiki/microformats2) vocabulary into RDF; [repo on github](https://github.com/rhiaro/mf2rdf). **Disclaimer:** This post is (not necessarily coherant) notes as I go along. Useful notes by [Tom Morris](https://tommorris.org/) about [mf2 to RDF mapping on the microformats wiki](http://microformats.org/wiki/microformats2-parsing-rdf). I updated the namespace to use the one suggested there (`http://microformats.org/profile/`). Everything starting with `h-` looks like it's a class. Typically RDF classes are capitalised so this makes me cringe, but I'll cope. Woah, there are a lot of properties. Seventy unique properties. I didn't realise. On the wiki most don't have a description, many are duplicated in the list, and none of them seem to have their own description page (and thus no URIs to refer to them with). Pasting them into a spreadsheet was the quickest way to de-dup and alphabetise them. Now I'm working through one at a time, adding descriptions and mapping them to existing properties in [FOAF](http://xmlns.com/foaf/0.1/) (because many are obvious), [VCard](http://www.w3.org/2006/vcard/ns#) (because many (all?) are derived from this), [ActivityStreams 2.0](http://rawgit.com/jasnell/w3c-socialwg-activitystreams/extended-vocabulary/activitystreams2-vocabulary.html) (because SocialWebWG) and hesitantly [Dublin Core](http://purl.org/dc/elements/1.1/) and [SIOC](http://rdfs.org/sioc/types#). Where they map to something well-described in RDF, I don't bother with `rdfs:comment` and `domain` and `range` of their own, but I'll add for those with no good `sameAs` mappings. * Is `dt-reviewed` same as `dt-published`? If not, why do reviews get special treatment with regards to differentiation between when they're written and published, and nothing else does? * Is there an official definition of `e-content`? Couldn't find one on the wiki, so made one up that is compatible with AS2.0 content, …
content: I'm serializing the microformats2 vocabulary into RDF; repo on github. Disclaimer: This post is (not necessarily coherant) notes as I go along. Useful notes by Tom Morris about mf2 to RDF mapping on the microformats wiki. I updated the namespace to use the one suggested there (http://microformats.org/profile/). Everything starting with h- looks like it's a class. Typically RDF classes are capitalised so this makes me cringe, but I'll cope. Woah, there are a lot of properties. Seventy unique properties. I didn't realise. On the wiki most don't have a description, many are duplicated in the list, and none of them seem to have their own description page (and thus no URIs to refer to them with). Pasting them into a spreadsheet was the quickest way to de-dup and alphabetise them. Now I'm working through one at a time, adding descriptions and mapping them to existing properties in FOAF (because many are obvious), VCard (because many (all?) are derived from this), ActivityStreams 2.0 (because SocialWebWG) and hesitantly Dublin Core and SIOC. Where they map to something well-described in RDF, I don't bother with rdfs:comment and domain and range of their own, but I'll add for those with no good sameAs mappings. Is dt-reviewed same as dt-published? If not, why do reviews get special treatment with regards to differentiation between when they're written and published, and nothing else does? Is there an official definition of e-content? Couldn't find one on the wiki, so made one up that is compatible with AS2.0 content, with additional caveat about including markup, which is explicit on the mf2 wiki: "The contents of something like a post, including markup and embedded elements." Are e-description and e-instructions sub-properties of e-content? I keep getting caught out by AS2.0 terms that are in the JSON-LD document but are actually deprecated (the JSON-LD contains no information other than property and class names and sometimes types; I have to remember to check the written …
name: Microformats2 RDF Ontology
published: 2015-03-22T15:00:00+0000
tag: doing
tag: Doing
tag: activitystreams
tag: as2
tag: foaf
tag: hacking
tag: indieweb
tag: json-ld
tag: linked+data
tag: mf2
tag: microformats2
tag: ontologies
tag: ontology
tag: owl
tag: https://rhiaro.co.uk/tags/rdf
tag: socialwg
tag: vcard
tag: w3c
updated: 2015-04-28T17:49:00+0100

w00t
type: Article
actor: me
content: Test test test!
name: w00t
published: 2015-03-20T00:00:00+0000
tag: doing
tag: Doing
tag: hacking
tag: indieweb
tag: test

https://rhiaro.co.uk/2015/04/1429934445
type: Note
has reply: https://rhiaro.co.uk/llog/1431356854
actor: me
content: Making parrot toys out of cardboard, twine, and... mostly parts of old, dismantled parrot toys.
published: 2015-04-25T05:00:45+0100
summary: Amy wrote about http://vocab.amy.so/blog#Doing, http://vocab.amy.so/blog#Doing, mbaking, parrot, & Tigo
tag: tigo
tag: doing
tag: Doing
tag: mbaking
tag: parrot
tag: Tigo

blog-post-content
type: Article
has reply: https://brid-gy.appspot.com/like/twitter/rhiaro/584857465499623424/1583811
has reply: https://brid-gy.appspot.com/like/twitter/rhiaro/584857465499623424/17069499
has reply: https://brid-gy.appspot.com/like/twitter/rhiaro/584857465499623424/2149850018
has reply: https://brid-gy.appspot.com/like/twitter/rhiaro/584857465499623424/233185268
has reply: https://brid-gy.appspot.com/like/twitter/rhiaro/584857465499623424/25275776
has reply: https://twitter.com/digitalWestie/status/584858305295704064
has reply: https://twitter.com/elfpavlik/status/585113192969465856
has reply: https://twitter.com/LukasRosenstock/status/584995637877465089
has reply: https://twitter.com/rhiaro/status/584994928788426752
has reply: https://twitter.com/rhiaro/status/584995500308504576
has reply: https://twitter.com/rhiaro/status/584995555606147073
actor: me
content: Finally you can get my blog post content in a number of different formats. You'll notice alternative URLs (noted currently as 'Permalink') in the metadata section of a normal view of a post. Hit this up with no Accept header, and you'll get neat markdown (which is what I authored it in; the 'source', as it were). Browsers automatically send Accept: text/html, in which case they are redirected to the rendered HTML version of the post you're probably reading now. But here are some alternatives you can try: curl https://rhiaro.co.uk/llog/micropub-test -> plain markdown. curl -H "Accept: application/json" https://rhiaro.co.uk/llog/micropub-test because there's obviously not enough JSON in the world. Note this isn't correct JSON-LD yet. I'll sort that out another time. curl -H "Accept: text/turtle" https://rhiaro.co.uk/llog/micropub-test Ohemgee! RDF! It's what you've all been waiting for, I know. For those of you who like angular brackets, you could try: curl -H "Accept: rdf/xml" https://rhiaro.co.uk/llog/micropub-test Relevance to micropub Briefly discussed with Tantek, Aaron and Bret at IWC Cambridge and on IRC about how a micropub client could fetch post content for editing. Many people aren't editing raw HTML as it's presented on the page, but maybe markdown or some other syntax, so a client needs to be able to discover this (the 'source') to present it to be edited. Now if someone makes their client check a post for a rel="source" or shoots off a request with Accept: text/plain (less likely, since static sites can't do conneg) then they'll get my markdown directly (uh, when I actually put rel="source" in my HTML, which I haven't yet). As a related aside, I also return source="markdown" if a micropub client asks my endpoint q=source.
name: Blog post content types
published: 2015-04-06T00:11:00+0100
tag: doing
tag: Doing
tag: content+negotiation
tag: hacking
tag: htaccess
tag: indieweb
tag: linked+data
tag: micropub
tag: modrewrite
tag: php
tag: https://rhiaro.co.uk/tags/rdf
tag: slogd
tag: turtle
tag: uris

just-listening-
type: Note
actor: me
content: Just listening to / reading discussions and debates in W3C groups is tiring; taking part even a tiny bit is exhausting, and I haven't decided if the reward is worth the brain-melt yet. I hope so. I admire all these people who manage to do standards work full time.
published: 2015-04-28T05:09:12+0100
summary: Amy wrote about http://vocab.amy.so/blog#Doing, http://vocab.amy.so/blog#Doing, socialwg, w3c, standards, & working group
tag: doing
tag: Doing
tag: socialwg
tag: standards
tag: w3c
tag: working+group

meant-watch-house
type: Note
has reply: https://brid-gy.appspot.com/like/twitter/rhiaro/585229697631580161/10399172
has reply: https://brid-gy.appspot.com/like/twitter/rhiaro/585229697631580161/15090636
has reply: https://brid-gy.appspot.com/like/twitter/rhiaro/585229697631580161/235193328
has reply: https://twitter.com/jasnell/status/585230021431844866
content: I meant to watch House of Cards this evening, but I accidentally implemented likes, reposts, bookmarks and proper display of replies on my site.
published: 2015-04-07T00:51:00+0100
summary: Amy wrote about http://vocab.amy.so/blog#Doing, http://vocab.amy.so/blog#Doing, hacking, indieweb, & slogd
tag: doing
tag: Doing
tag: hacking
tag: indieweb
tag: slogd

micropub-test
type: Note
has reply: looks-like-thats-working
content: If you can see this, my micropub endpoint works :D And if you can see this, I can also edit posts.
name: Micropub test
published: 2015-04-03T22:45:00+0100
summary: Amy wrote about http://vocab.amy.so/blog#Doing, http://vocab.amy.so/blog#Doing, hacking, indieweb, test, & micropub
tag: doing
tag: Doing
tag: hacking
tag: indieweb
tag: micropub
tag: test
updated: 2015-04-03T22:55:00+0100

minimum-viable-micropub
type: Article
has reply: https://brid-gy.appspot.com/like/twitter/rhiaro/584703127598850049/15090636
has reply: https://brid-gy.appspot.com/like/twitter/rhiaro/584703127598850049/18331731
has reply: https://brid-gy.appspot.com/like/twitter/rhiaro/584703127598850049/2235095173
has reply: https://brid-gy.appspot.com/like/twitter/rhiaro/584703127598850049/235193328
has reply: https://twitter.com/BillSeitz/status/584914975271051265
has reply: https://twitter.com/jarofgreen/status/584705275254460416
has reply: https://twitter.com/jarofgreen/status/584712878760005632
has reply: https://twitter.com/kevinmarks/status/584828670390312960
has reply: https://twitter.com/mshook/status/584839522212564992
content: "Micropub is an open API standard that is used to create posts on one's own domain using third-party clients. Web apps and native apps (e.g. iPhone, Android) can use Micropub to post short notes, photos, events or other posts to your own site, similar to a Twitter client posting to Twitter.com." (Micropub on Indiewebcamp) This means I can now publish blog posts to my site using other peoples' posting clients, of which there are several. Previously, I was ftping markdown files to my server, then running a slightly unreliable PHP script to process the queue based on when the files were last updated. Which mostly worked, but when it didn't it was a pain to untangle. IndieAuth I wasn't expecting to have a micropub endpoint any time soon because it needs you to be able to sign into your site with IndieAuth. Fortunately, thanks to amazing work of aaronpk and others, most of the legwork has been done here, and you can delegate your IndieAuth; in your site : Micropub Then create a micropub script (eg. micropub.php) and make it discoverable in the same way: Initially I wanted my endpoint at https://rhiaro.co.uk/micropub and set an .htaccess rule to redirect to the PHP script. This doesn't work; POST requests can't follow redirects. Next, here's a bare minimum PHP script to store things posted to your site with a micropub client. This just dumps the POST request to a text file, which is where I started to see if it would work. What I actually do now is turn posts and metadata into triples and insert them into my triplestore, but you probably don't want to hear about that :) <? // Tell client where I can syndicate to if(isset($_GET['q']) && $_GET['q'] == "syndicate-to"){ header('Content-type: application/x-www-form-urlencoded'); echo "syndicate-to[]=twitter.com%2Frhiaro"; exit; } // Check for post if(!empty($_POST)){ $headers = apache_request_headers(); // Check token is valid $token = $headers['Authorization']; $ch = curl_init("https://tokens.indieauth.com/token"); curl_setop…
name: Minimum Viable Micropub
published: 2015-04-05T13:39:00+0100
tag: doing
tag: Doing
tag: hacking
tag: indieweb
tag: micropub
tag: php
tag: slogd

post-and-activity-types
type: Article
has reply: https://brid-gy.appspot.com/like/twitter/elfpavlik/587684624760987651/144624330
has reply: https://brid-gy.appspot.com/like/twitter/elfpavlik/587684624760987651/2413390255
has reply: https://brid-gy.appspot.com/like/twitter/elfpavlik/587684624760987651/42415655
has reply: https://brid-gy.appspot.com/like/twitter/elfpavlik/587684624760987651/432585401
has reply: https://brid-gy.appspot.com/like/twitter/elfpavlik/587684624760987651/96850673
has reply: 0052.html
has reply: 0061.html
has reply: https://twitter.com/mivesto/status/591993792170962944
has reply: https://twitter.com/SocialWebWG/status/587685860407054336
has reply: https://twitter.com/thierrymarianne/status/587710467772174336
content: Recently I've been trying to wrap my head around the implicit vs. explicit post types debate (in the Social Web WG, indieweb community, and elsewhere). Here is some analysis of the different perspectives, and report on my own experiences so far. tl;dr I think each side of the debate about explicit vs implicit types are misaligned, due to conflation of Objects and Activities. I think Objects (like blogposts) needn't have explicit types, but Activities (like the act of creating a post) should do. Thanks to Tantek, Aaron, elf Pavlik, Chris and everyone whose conversations I've listened in on in #social and #indiewebcamp IRC channels for discussing this stuff with/around me. Indieweb: focus on UI Indieweb development starts with thinking about UI. The reason for thinking about different kinds of posts comes from a desire to display some posts differently to others. But rather than declaring them outright, one can infer how to display them based on the properties of a post (see also IndieWeb Posts by aaronpk. "explicit post/object types are architecture-centric design, rather than user-centric design" - tantek, #indiewebcamp irc Posting UI Another rationale against explicit post types is that it encourages posting clients to constrain users regarding what kind of posts they can create. "...content types dictate the kinds of content you actually allow people to create with your software" - benwerd, The tyranny of content types Most mainstream social networks now have a generic posting interface, that allows one to add things like photos, videos, people tags, etc, without forcing you to choose what type of post you want to make first. Software architecture Some people started with explicit post types and ran into problems when structuring their software around this idea. TODO: Citation from aaronpk in irc in March/April that I can't find right now. URL design If you include a slug for a post type in your URLs and decide to change the post type, this is definitely a pain. I…
name: Post and Activity types
published: 2015-04-12T19:47:00+0100
tag: doing
tag: Doing
tag: activities
tag: activitystreams2.0
tag: activitystreams
tag: feed
tag: hacking
tag: indieweb
tag: mf2
tag: microformats2
tag: post+types
tag: social+web
updated: 2015-04-12T22:19:00+0100

testing-post-with
type: Note
content: Testing a post with a location, although lat/long isn't displayed yet, so you won't see it. (Yet).
latitude: 55.93611
location: Edinburgh
longitude: -3.17842
published: 2015-04-03T23:48:00+0100
summary: Amy wrote about http://vocab.amy.so/blog#Doing, http://vocab.amy.so/blog#Doing, hacking, indieweb, test, micropub, & location
tag: doing
tag: Doing
tag: hacking
tag: indieweb
tag: location
tag: micropub
tag: test
updated: 2015-04-04T00:08:00+0100

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

indiewebcamp-oclock
type: Event
has reply: https://brid-gy.appspot.com/like/twitter/rhiaro/596937187398148096/11628
has reply: https://brid-gy.appspot.com/like/twitter/rhiaro/596937187398148096/37075610
has reply: https://brid-gy.appspot.com/like/twitter/rhiaro/596937187398148096/507922769
tmpcontent: It's indiewebcamp o'clock!
actor: me
content: It's indiewebcamp o'clock!
published: 2015-05-09T08:15:59+0100
tag: doing
tag: Doing
tag: events
tag: indieweb
tag: indiewebcamp

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

socialwg3-summary
type: Article
has reply: testlink2.html
has reply: testlink3.html
has reply: https://twitter.com/transformap/status/599195157636984833
tmpcontent: # Social Web WG 3rd face-to-face summary *This post is my own opinion, and does not necessarily represent the opinion of the Social Web WG!* **tl;dr:** There is increased understanding and expectation of convergence between Micropub, ActivityPump and SoLiD. We're all excited about working towards this convergence. There is increased agreement and understanding about similarities and differences between protocols, and where strong points of one protocol could plug weak points in another. More people are excited about implementing experiments to really figure out what works and what doesn't. See also [day 1 minutes](https://www.w3.org/wiki/Socialwg/2015-05-04-minutes) and [day 2 minutes](https://www.w3.org/wiki/Socialwg/2015-05-05-minutes) and [self-critique whiteboard](http://aaronparecki.com/uploads/whiteboard-20150505-161540.jpg). What follows is more detail on my perspective of the main conversations we had over the two days. Clarifications and corrections welcome. ## Issues in the tracker Closed a bunch of ActivityStreams2.0 issues with the general conclusion that issues raised in future should be more specific and actionable, rather than vague problems. An alternative for reporting this kind of issue wasn't mentioned specifically, but vague problems can probably go in brainstorming sections on the wiki somewhere (indieweb style) or into github issues. A note that we can always re-open issues if they turn out to be a problem in the future, but we shouldn't *keep* them open just in case they might be. ## Awesome user-story protocol walkthroughs [Aaron](http://aaronpk.com), Jessica and Andrei and Henry walked us through exactly how some of the user stories would be carried out according to the protocols [Micropub](https://github.com/aaronpk/Micropub/blob/master/user-stories/), [ActivityPump](https://github.com/w3c-social/activitypump/tree/master/userstories) and [SoLiD](https://github.com/linkeddata/SoLiD/blob/master/UserStories/) respectively. This was *super* use…
actor: me
content: This post is my own opinion, and does not necessarily represent the opinion of the Social Web WG! tl;dr: There is increased understanding and expectation of convergence between Micropub, ActivityPump and SoLiD. We're all excited about working towards this convergence. There is increased agreement and understanding about similarities and differences between protocols, and where strong points of one protocol could plug weak points in another. More people are excited about implementing experiments to really figure out what works and what doesn't. See also day 1 minutes and day 2 minutes and self-critique whiteboard. What follows is more detail on my perspective of the main conversations we had over the two days. Clarifications and corrections welcome. Issues in the tracker Closed a bunch of ActivityStreams2.0 issues with the general conclusion that issues raised in future should be more specific and actionable, rather than vague problems. An alternative for reporting this kind of issue wasn't mentioned specifically, but vague problems can probably go in brainstorming sections on the wiki somewhere (indieweb style) or into github issues. A note that we can always re-open issues if they turn out to be a problem in the future, but we shouldn't keep them open just in case they might be. Awesome user-story protocol walkthroughs Aaron, Jessica and Andrei and Henry walked us through exactly how some of the user stories would be carried out according to the protocols Micropub, ActivityPump and SoLiD respectively. This was super useful, and if you weren't there you need to read the accompanying documents (linked just prior) and minutes (linked at the top of this post). Results of this were: Proponants of each protocol started to really understand how the other protocols worked, in a way that just reading all the specs couldn't do. Everyone really started to see where some protocols were strong and where their own weak points or gaps were. Everybody started to express that their…
name: Social Web WG 3rd face-to-face summary
published: 2015-05-09T23:45:00+0200
tag: doing
tag: Doing
tag: meeting
tag: social+web
tag: socialwg
tag: w3c

doing
type: Collection
total items: 88

https://rhiaro.co.uk/tags/doing
type: CollectionPage
items: micropubbing-with
items: generating
items: socialwg3-summary
items: indiewebcamp-oclock
items: just-listening-
items: https://rhiaro.co.uk/2015/04/1429934445
items: post-and-activity-types
items: meant-watch-house
items: blog-post-content
items: minimum-viable-micropub
items: testing-post-with
items: micropub-test
items: microformats2-rdf
items: w00t
items: permalinks
items: polyphasic-sleep
name: http://vocab.amy.so/blog#Doing
name: doing
part of: doing
prev: https://rhiaro.co.uk/tags/doing