In Kobe soon, to be pressing my nose against the window of #ISWC2016 .. ping me for food/adventure!
In Kobe soon, to be pressing my nose against the window of #ISWC2016 .. ping me for food/adventure!
This post is my own opinion, and does not necessarily represent the opinion of the Social Web WG!
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.
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/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 dokieli; sharing an article with someone (automatically pulled from the contacts list in his profile) which sends an ActivityStreams
Announce to their Inbox using LDN. Also annotating an article, whereby he could save the annotation in his own personal datastore (via LDP) and optionally send a copy to the AnnotationService provided by the publisher (using the Annotations protocol, plus send a notification to the publisher with LDN.
What followed was some discussion of how we're planning to tackle spam and abuse. ActivityPub includes a mechanism for blocking another user; LDN encourages imposing constraints on one's inbox to filter what ends up there; and self-hosted or known/trusted hosts for you content can give you more control over what shows up where, but there's way more to be done here, and we're not close to tackling that yet.
Guidance was recently issued that specifications should ask for horizontal review (review by other W3C groups) three months before going to Candidate Recommendation. We're obviously far too late for that, so we're doing the best we can with the time remaining. Horizontal review is part of 'wide review', which specifications must also demonstration before they can transition to CR. Wide review invovles having input and feedback from a variety of different sources outside of the Working Group, and even W3C. We can demonstrate this through issues raised on github, implementations reported to us, and feedback on public mailing lists. As such, if you're going to send any of us a message about any of our specs, please do so somewhere that is public! The
public-socialweb list is archived by W3C, so that's a good one to CC if you don't want to raise an issue on github directly. Pointing out typos, requests for clarification, and pledges to implement are welcome too.
The Security & Privacy groups provide a questionnaire to guide through common issues that might be flagged during review by those groups. We collectively decided to carry out this questionnaire and add it to the 'Security and Privacy Considerations' section of all of our specs. The Internationalisation (i18n) WG also provide a checklist to run through which helps them perform their review more quickly.
ActivityStreams 2.0 (core and vocab), Webmention, and Micropub are currently in Candidate Recommendation (CR), which means we're actively soliciting implementations and accepting reports. They all have test suites in some stage of readiness, and the implementation report templates are provided in the respective repos, and designed largely around reporting which tests your implementation passes. Issues raised during CR which require substantive spec changes and may affect existing implementations require restarting the CR period (pushing back CR exit for a minimum of four weeks), so the earlier we hear about those the better. We went through issues raised on our CR specs to determine whether they result in normative changes, and for the most part they were editorial.
Webmention dropped returning a human-readble message in response to a sender's
POST request, because anything involving human-readable text opens internationalisation challenges. This message was primarily for developer debugging as it's unlikely to ever been seen by an end user, and it was optional anyway, really only mentioned as a possibility, so this was always at the implementations' discretion. Servers are expected to 'do HTTP properly' and send and honour
Accept headers for language if they are sending human-readable responses, which doesn't need explicitly calling out in the Webmention spec.
There was discussion of requiring a "backoff" strategy when trying to discover a Webmention endpoint. This also applies to LDN, and any other specs which requiring probing at webpages to determine if they accept whatever the discover-er is trying to send. The issue is that a sender may be triggered to attempt discovery multiple times on the same URL, or for different URLs on the same domain. There's a point at which they should stop trying if they fail, or risk the server being probed blocking them completely for an unreasonable amount of
HEAD requests. Webmention has added a suggestion to include a
Retry-After headers on the server.
The biggest Micropub issue concerned the media type of the (very specific) JSON structure returned in the event of an error. The conclusion was not to do anything special now, but if there are future versions of Micropub which modify the structure, they will use a profile to indicate which version they are, so implementations encountering that error know how to interpret it.
During our crossover meeting with the i18n WG we noticed that Micropub's dependency on Microformats2 means that it has no way to indicate content language. This is being worked on in mf2 though, and Micropub will get a note to indicate this, and any improvements to mf2 will be incorporated in Micropub by reference. This seems at first glance a bit fishy since we're only supposed to reference 'stable' external specs, but this was resolved earlier in the year by the various mf2 sub-specs documenting their change policy, and committing to clearly indicate which parts are 'stable' and how they are updated.
ActivityStreams 2.0 has acquired a bunch of editorial comments since going to CR, and these have been addressed. There's a bigger question of how to manage (append-only) extensions after the close of the WG, and we settled on Proposal 2 in issue 370. I'll be writing this up in the (pending) human-readable namespace document shortly.
Then there was an even bigger question of whether or not
name is a required property for all objects and activities. At the time of the meeting it was required, but given some implementor experience - in particular with people adding dummy meaningless names to activities just to pass the validator - we revised this. The usefulness of a
name for every entity is giving consumers something to display even if they don't understand any other properties. A drawback of developers adding auto-generated or dummy names is that a consumer can't tell the difference between this and an actually meaningful name, so it can't make a sensible decision on whether it can overwrite it with something more useful (eg. in a different language, or something particular to the application at the time). We decided to shift the burden of assigning names to unnamed entities from publishers to consumers, as consumers are more aware of the context in which the entity is being used or displayed. Publishers can of course assign a
name, which should be consistently respected by consumers as they'll now have confidence the name was assigned deliberately. We still think there should be a name for
Article type objects. So we resolved to switch to having two properties:
We haven't decided exactly what the names for these two properties are yet. Probably 2. is
name and I like
fallbackName for 1., but others up for discussion are
label... but watch this space... (and issue 312).
We really need implementation reports for AS2 by the way... in case that was news. Let us know what you're working on!
The most substantive issue we discussed on ActivityPub was adding a
source property, to indicate the original input the user made in case it is converted from something else to HTML for the
content field. The obvious use case for this is letting users author their content in markdown. Storing the original markdown alongside the converted HTML lets the client present the markdown back again for the user to edit in future. Current pump.io implementations have problems with letting users create content at first with markdown, but presenting HTML back to them later, which can be confusing. Personally I think a client that offers markdown editing and can do the conversion to HTML to send to the server should also be able to take that HTML content and convert it back to markdown for the user in the case of editing an existing post. Apparently going back the other way is more challenging though. And Chris's use case was for having a representation of the content in emacs org mode, not markdown. I was worried that the
content fields could get out of sync if editing the same content is done by multiple different clients. That's (probably?) fairly edge though (though I'm already using multiple APish clients on the same content). We compromised by saying that clients which find
source and don't understand it must prompt the user to let them know the original source will be lost of they proceed with editing, as a feature "at risk". I'm a bit wary about specifying a UI thing in the spec, but we'll try it out and see how it goes. But maybe all it really is is a requirement that clients MUST understand this particular property; so far there aren't any properties a client can't ignore.
We got agreement to add ActivityPub terms which are extra to AS2 into the AS2 namespace and JSON-LD context, which will simplify things for implementors. This also stands as an initial experiment with how AS2 extensions can be done in the future.
Chris also proposed to define the media endpoint of AP as "at risk" as, even though they need it in MediaGoblin, it's not worth potentially holding the rest of AP up for, and they can easily develop it as an extension afterwards. There may also be a possibility of convergence between the Micropub and AP media endpoints.
We began our LDN discussion by learning that Kjetil, who had attended the first day of our meetings and then had to leave, implemented a portion of an LDN sender/consumer on his flight back to Norway.
LDN is addressing the "backoff" issue previously mentioned for Webmention by referring the new section in Social Web Protocols, and stressing that implementations should anticipate and respect relevant HTTP status codes. After all, it's only polite.
We briefly discussed LDN's need to add
inbox to the LDP namespace, but we had a session on the Wednesday plenary day about extensibility of W3C namespaces in general, including a bunch of LDP people in the room, none of whom objected. We also had support in our github issue about this. The WG agreed to go ahead with whatever the relevant W3C and Semantic Web communities consent to. Hindsight addendum: I added
inbox (at risk pending PR) to the LDP namespace a week or so later. Nobody has complained and the Web still seems to be up.
In LDN we had a section ("Security, Privacy and Content Considerations") which mixes normative and non-normative content, and I was getting confused about what kinds of things are supposed to be which. The experts in the room helped us to untangle this section, and we decided to move all normative content into the appropriate parts of the spec; to move some of the informative content into green 'note' boxes if they pertain to something specific, and anything that was left should apply to the spec in general and we could mark the entire section as entirely non-normative.
Both LDN and AP will have complete or partial test suites, or a detailed plan for a test suite, before they can enter CR.
Post Type Discovery right now defines a 'mapping' from combinations of properties a post might have (based on mf2 properties, though many of them are explicitly unstable so we can't actually reference them normatively) to a 'type' currently presented as an English-language string. We discussed at length the purpose of Post Type Discovery and came to the conclusion that it ultimately needs to be possible to generate ActivityStreams 2.0 types (rather than arbitrary strings, which are essentially yet another vocabulary). Many of us thought it was supposed to be doing this anyway, and were surprised that it hasn't yet. So this should see some significant updates in the near future towards this.
PubSubHubbub is raring to go as a FPWD, thanks to Julien's hard work in updating it to W3C spec format. We just have to jump some process hurdles, and that'll be published soon. Now is a great time to raise issues on it if you have or intended to implement it! We spent some time discussing a new name which is friendlier to non-English language speakers, and we're probably going to go with PubSub. We also decided to close the PuSH community group, as any further discussion around the spec should take place in the WG.
There's a general consensus that we've barely scratched the surface, but we formally resolved not to try to take on any more recommendation track documents henceforth. We need to focus on getting what we have to rec! However, to continue work after the group closes at the end of the year, including for managing errata and extensions, we'll open a Community Group. We'll do this towards the end of our charter, but if you're interested in being a part of it, drop an email to the public list.
We're planning another face-to-face
sometime in November in either San Francisco or Boston. Whence we'll hopefully be wrapping things up!
There's another writeup here by Chris.
So far I've met a leather-clad blues player called Jim and a lovely almost-80 year old lady called Glenda, who has been telling me about her various travel adventures. This is the tenth time Jim has made this journey, from Ohio to Arizona, and Glenda has been on the train since where it started in Chicago (she got off in Tuscon). During our four-hour layover in San Marcos I also met some early-twenties new army recruits, who invited me to go find a bar with them; I declined and stayed on the train to talk to Glenda instead.
The majority of this journey has been through two nights, but the daytime took us through Texan desert, including Marfa (where a bunch of famous movies including No Country For Old Men) were filmed. Valentine, where there's an art exhibition which is a replica of a Prada shop (complete with the latest shoes and purses), and not much else. Sierra Blanca, where the main economy is United States Border Patrol. The Mexican border, inclusive of small wall. One of the train crew is helpfully providing commentary. And plenty of desert brush and interesting mountains.
Apparently passed close enough to the Mexican border that Three have charged me now almost £25 for data not included in my free roaming. Including around £15 during a period of time when I disabled the SIM completely to stop this from happening any more. Hopefully they'll give me a refund. I wasn't even using the phone, it was just background activity. Sigh.
Finally left Texas for a stint through New Mexico. Things started to get greener once we were in Arizona.
After watching the sunset over Tuscon (and a couple of movies) I went to sleep. I woke up a few hours later, over an hour early, in LA.
I spent four days in Austin, staying with Rally who CouchSurfed with me for a week in Edinburgh in 2012. Austin is pretty nice, and quirky, and excellent (better than Portland?) on the vegan food front. The city center / downtown / tall buildings part is smaller than I expected. It's also extremely green and bushy. Texans are really friendly and welcoming, in a loud way. One of my main goals for the visit was to eat lots of TexMex.
After picking me up from the airport on Sunday, Rally took me for brunch at Mother's Cafe which was a delicious pile of breakfast tacos, plus peas as an unusual (to me) touch. And an almond mocha tart. In the afternoon we walked around Mount Bonnell and Mayfield Park.
On Monday had biscuits and gravy (and jalapenos and cheese) for breakfast from the Biscuits and Groovy food truck, and ice cream for lunch from Lick (because we're grownups and we can eat whatever we want). We walked along parts of the Hike 'n' Bike trail, and went paddleboarding on the river. It was very tranquil. Then we walked around Zilker Park, and through the Botannical Garden, which has dinosaurs. We went to the ?? bridge to watch the bats emerge just after sunset, and they were there but teeny tiny and hard to see from our vantage point. There were maybe hundreds of people lining the bridge and riverbanks for the same reason though. For dinner we ate burgers and tater tots from Arlo's food truck. The burgers were amazing, all vegan (obviously) but also gluten free and soy free, and somehow magically meaty and satisfying. Proper brioche burger buns helped. I had a bac'n cheezeburger.
Tuesday was designated work day. We hit up The Steeping Room for breakfast (a soysauge and hummus sandwich, and scones with a divine maple pecan butter spread, and Assam) but it was too loud to stay. We relocated to Thunderbird, which was also loud, but I managed the SocialWG telecon (and coffee) from there. We swung by Sweet Ritual for ice cream (I had a pumpkin sundae with caramel sauce and chopped peanuts). Our final stop was The Blue Cat Cafe, where I tried Frito pie, a ridiculous yet delicious non-meal. Unlike cat cafes I'd visited in Japan, the moggies were allowed to roam everywhere, including on the tables where we were eating, including licking at our food and going to sleep on my keyboard. It was wonderful. We watched a white kitty chasing a bug for hours. There are lots of snuggle places for surprise cats to pop out from, and overhead crawls and pathways. There's an entirely reasonable $3 cat coverage fee to enter, the food is cheap and comforty (and all vegan), and all the cats are up for adoption.
We ended the day with a $10 boat tour down the river, to see the bats from a different angle. We could see more from below, and hear them squeaking as well.
On Wednesday we got up early for Yoga; the studio served a small cup of chai to everyone afterwards. We ate at Counter Culture after trying and failing to find the Cool Beans food truck (apparently it's moved to the Spiderhouse from the location HappyCow lists. I should remember to update that). Rally and I shared excellent cheezy chilli nachos, jalapeno cornbread, roasted sweet potatoes, and pickled vegetables. Then we headed into downtown Austin, and stopped at the enormous Wholefoods for supplies for my later journey (everything is about 10c cheaper than Boston Wholefoods). We walked several miles, including through the Capitol building, and a quick tour of a couple of floors of the museum (the $13/$11 entrance fee was reduced to 0 for us as it was almost 30 minutes until closing. Nice!). I learned that Mexico once encompassed the regions which are now Texas, New Mexico and California, and in the 1800s they had a problem with unwanted immigration from the US. Ahem. There was also an exhibition about Nazi and WWII propaganda, and the effects it had on society in Texas, and all the lessons we supposedly learned about xenophobic rhetoric against racial groups, which seems particularly pertinent at the moment.
We stopped by the Tears of Joy hot sauce shop, where I tried several delicious samples, and topped it off with a dot of 7.1 million scovilles chilli on my tongue. I had to sit down for a while. We walked back via the Castle Hill Graffiti Park which is worth stopping by. And made it to the Amtrak station in time for my train to be delayed arriving by 50 minutes due to a freighter. Austin's Amtrak station is hilariously tiny given the size of the city. It's one room, and one platform. Eventually I said goodbye to Rally and boarded the 421 to LA. It was pretty busy.
Since my first Big Adventure on an Oasis Overland truck for three weeks in the Middle East I've been itching to see more of the world. During my PhD I have been
taking the absolute piss utilising my academic freedom and conference travel funding effectively, and since September 2012 I visited seventeen countries, most (but not all) on a university's dime. I did this not by fraud or trickery, but by carefully picking conferences and communities to involve myself with, by thinking laterally about how I might find the cheapest transport options, and by asking for barely any funding towards accommodation, so I can ask for more transport funding again in the future. I squashed accommodation costs by CouchSurfing, hotel-surfing (when I know someone attending the same conference who has a spare bed or sofa in a room covered by their organisation), and staying in hostel dorms. Thinking laterally about transport options involves being flexible about dates, but also cities and means. Buses and trains are often cheaper than flights in Europe, and transport links are good. It's possible to get good multi-city deals on flights, and if, for a conference in city A, I can fly into city B and out of city C for less than a return flight between home and A, nobody minds when I expense that... and I get to see three cities instead of one. For that, I'm happy to pick up the cost of buses and trains to A from B and C myself. In the end, I'm sure I saved the university money.
In May 2015, I found four legitimately work-related reasons to be in different continental European countries in the space of four weeks. My department paid for a three-week Interrail train pass, which was cheaper (and more environmentally friendly) than two flights a week for a month. Before my rail pass started, I hitchhiked. En route between the places I was supposed to be for meetings or conferences, I visited a few new places alone, for peace and quiet and to catch up on work. This trip lasted five weeks, and was the longest travel experience I'd had so far. Because of the flexibility of the interrail pass, I didn't make much of a plan except for the known waypoints, and I was able to decide where to be next a few days or less in advance of setting off. I. Loved. That.
In October 2015 I moved to the US for a one-year visiting studentship, and the only months I didn't leave Massachusetts were January and July. I visited four countries outside of the US (not counting the UK), and six states within. I spent literally days on Amtrak, and far too long on buses.
Travelling is tiring, but so is staying in one place. At some point, possibly during that month of backpacking around Europe, it became cemented in my mind that my dream was to set off without much of a plan, and not have a date to be back by. I started telling people who would ask what I was doing after my PhD, that the plan was to... just go.
At this point it's less of a dream and more of a frantic urge. Boston is nice, but loud and expensive, and I can't wait to get out. Edinburgh is beautiful and affordable and friendly and full of people I love, but the thought of going back there makes me feel claustrophobic. There are places I know I will be welcomed with care and a bed, but nowhere feels like home right now.
I started pipedreaming about skipping winter this year, and heading to Mexico or Asia to finish my thesis. I have a month to vacate the US once my visa expires, so I thought I could overland travel south to Mexico, and just stay there. It turns out though that I have to leave the continent before I can re-enter as a tourist. Then I found out a bunch of people I know will be at ISWC in Kobe, Japan, in October, plus my brother just moved to Tokyo. Several people in the past year told me I'd "love Bali", and my sister didn't like it at all when she went last year. Two people I know through work-related stuff said they're planning to be in Bali at some point this winter. Bali is a fairly easy hop from Japan.
Eventually the signs mounted, and I booked a one-way flight from LA to Osaka. I left myself a week and a half in the US after my visa ends, mainly constrained by the dates of ISWC. I'm filling that time by flying to Austin to see a CouchSurfing friend, then taking a 37 hour Amtrak to LA.
Before I left Edinburgh for Boston a year ago, I gave away almost everything I couldn't fit into a large suitcase and a 40L backpack to take with me. I spent the summer whittling down my possessions further, and swapped the suitcase for a 52L backpack. I developed an absolutely pathological aversion to stuff, and started to check myself hard if I found something difficult to let go of. The harder it is to give some item a new home, the more important it is I get rid of it. I took a mountain of clothes to Goodwill, and sold nearly all of my tech.
I'll admit that I still have a cupboard of stuff in my old house in Edinburgh, but I've authorised the current residents to give away or claim all clothes, books and furniture. I'm stuck with some folders of writing and paperwork that one day I hope to digitise. I also have a buttload of stuff at my Mum's house in England. I remember finding it so hard to let go of childhood clutter. Maybe next time I go back I'll finally be able to sort through everything and let it all go.
This is what I have left:
So, finally it's happening. From Sunday 9th October, I will no longer be on a rental contract. I won't have a fixed address. I have a one-way flight to Japan, just enough savings, and total time flexibility, to get to somewhere - probably Bali - I can afford to stay for the winter, once my brother kicks me out of his place in Tokyo.
I still have to finish my thesis. But the thought of doing it on the beach, in a timezone where nobody can bother me, puts me at ease.
I am officially a digital nomad. Don't ask me when I'm coming home, I'm already there.
IRL I am Amy
On twitter I am @rhiaro
By email I am email@example.com
🍴 The last thing I ate was Half a waffle with peanut butter; green tea,
⮝ I am is on an adventure since
✮ The last thing I liked was https://linkedresearch.org/ldn/
🔁 The last thing I reposted was https://twitter.com/csarven/status/788261926409150464
💰 The last thing I acquired was Box of food (Gozen deli),
🗭 The last thing I scribbled was about ISWC2016,
🗓 The last event I RSVP'd to was Dataverse Community Meeting, taking place from 11 July to 12 July at Harvard_Medical_School,
📄 The last article I wrote was 7th Social WG F2F Summary
+ The last thing I saved was Ohshitgit to https://rhiaro.co.uk/bookmarks/
⟿ The last trip I planned was from Los_Angeles on 2016-10-16T00:55:00-07:00 to Osaka at 2016-10-17T08:20:00+09:00