On Friday I made a bunch of @indiewebcamp badges in preparation for IWC UK — thanks @piratepartyis for letting me use your space :)
Join us in Brighton on September 6th-7th to get hold of one — or, print out your own (here’s the PDF).
On Friday I made a bunch of @indiewebcamp badges in preparation for IWC UK — thanks @piratepartyis for letting me use your space :)
Join us in Brighton on September 6th-7th to get hold of one — or, print out your own (here’s the PDF).
Which website creation/hosting providers have beautiful set-up experiences?
@scottjenson @chrismessina @ade_oshineye technically lockerproject looks more like PESOS. Also re: ID stuff, you’ve seen indieauth.com right? Lots of shiny new stuff there recently like persona integration, passwordless SMS login etc.
The first is to publicly declare the jurisdiction in which you live, and in which your data is hosted. That way, people can make an informed decision about how to communicate with you.
That’s a really brilliant idea. Maybe link the brand names to their tosdr.org pages too. #takeaction
I just faked having a task queue for #taproot #indieweb note posting tasks using Symfony HttpKernel::terminate()
and it was the easiest thing ever.
Instances or subclasses of HttpKernel
have a terminate($request, $response)
method which, if called in the front controller after $response->send();
triggers a kernel.terminate
event on the app’s event dispatcher. Listeners attached to this event carry out their work after the content has been sent to the client, making it the perfect place to put time-consuming things like POSSE and webmention sending.
Once you’ve created your new content and it’s ready to be sent to the client, create a new closure which carries out all the the time consuming stuff and attach it as a listener to your event dispatcher, like this:
$dispatcher->addListener('kernel.terminate', function() use ($note) {
$note = sendPosse($note);
sendWebmentions($note);
$note->save();
}
Then, provided you’re calling $kernel->terminate($req, $res);
in index.php, your callback will get executed after the response has been sent to the client.
If you’re not using HttpKernel and HttpFoundation, the exact same behaviour can of course be carried out in pure PHP — just let the client know you’ve finished sending content and execute code after that. Check out these resources to learn more about how to do this:
fastcgi_finish_request()
flush()
HttpFoundation\Request::send()
as a sample implementationFurther ideas: if the time consuming tasks alter the content which will be shown in any way, set a header or something to let the client side know that async stuff is happening. It could then re-fetch the content after a few seconds and update it.
Sure, this isn’t as elegant as a message queue. But as I showed, it’s super easy and portable, requiring the addition of three or four lines of code.
@benwerd nice one! I’m currently working on video post-by-email. It almost worked here, next time should work flawlessly.
The nice thing about using email to post videos is that it’s asyncronous — I can send the email and then go do something else, instead of having to either wait for it to upload or do the “if I switch apps now will it stop uploading argh what do I do” dance.
Testing posting #indieweb videos via email and the iOS camera app:
Aw, the upload worked but embedding didn’t. Here it is:
Aral Balkan there’s been a lot of discussion recently about deletion of #indieweb content — some documented here: indiewebcamp.com/deleted and indiewebcamp.com/POSSE#Delete
E.G. if I’ve replied to one of your notes/tweets and stored a reply context so even if your copy goes down my content still makes sense, but you delete the original — should I delete it, devaluing my own content? Should I mark it as changed or deleted?
Taking distributed #indieweb actions on your own site, in context? Yes, webaction toolbelt does that:
To clarify, this is a page on news.indiewebcamp.com which supports inline webactions. When I click “Reply”, a pre-populated new note form from my own site is loaded into an iframe. It detects this, and adjusts its styling accordingly.
The #indieweb is a social network that works like the web
s/works like/is
Great work getting webmention set up and your content marked up with microformats!
At the moment of the method is built around a POSSE architecture. This works well for long form articles which can stand alone but address issues or ideas that are posted on an external website.
The evidence is against you here, as almost all known usage of webmention has been for short replies which don’t make sense without context.
But if that is all there is to webmentions it is just a nicer implementation of Pingback.
Pingback succeeded because it was simple. Webmention is even simpler, for good reason.
However the current workflow is awkward and i doubt it will catch on with the general public. Sophisticated Indieweb users can and will read an article on an external site and then return to their own to post a comment, but that king of behaviour is not intuitive.
I absolutely agree! I’m trying various different approaches to making this easier (and making web content more actionable in general), currently I’m using web action toolbelt to really quickly reply to content on other sites. There’s been a lot of discussion about this, and it’s something which everyone can work on as more people start implementing indieweb comments.
I make the comment on the external site and as part of making the comment I add my author url, that being the url of my own site. The external site then sends a webmention of the comment to my site. My own site could then scrapes my comment and saves a copy in my CMS. Otionall I could republish the comment in my blog or activity feed at my discretion. Thus fully implementing PESOS.
We actually discussed this exact flow at IWCUK 2012, but no-one ever implemented it because, with browser extensions, there’s no need to log in to other people’s sites (complex to implement) and have those sites post to each other (security hole).
Thanks for bringing these issues up, it’s great to have new people join the discussion! I’ll start documenting your points on the Indiewebcamp wiki — it’s there and on the #indiewebcamp IRC room where most discussion takes place.
“For a platform to be reliable, it must either have a single implementation, or be so utterly simple that it can be implemented uniformly. If we assume a practical need for open, freely implementable standards, the only option is simplicity.”
@jihaisse congratulations on getting #POSSE and #indiecomments working!
So I got in-stream reply contexts showing — perhaps summaries of #indieweb comments next? I like Facebook’s approach of showing the last 4, a total count and a “show me more” button, which could be implemented simply as a link to the note page initially.
Reply context stream example: http://waterpigs.co.uk/notes?tagged=reply
Still TODO: make the ↪ a link to the in-replied-to page, add the datetime to the title for that link, remove the in-reply-to info from the bottom of in-stream notes as it’s noise now
Glenn Jones yay! Looking forward to exchanging mentions :) #indieweb
Wey-hey! First #indieweb route published, if a little slow (the GeoJSON is not very optimised and served within the HTML, which is ugly). Now off for a walk/jog for further testing.
@willnorris really? The timestamp I have stored matches the one on your site — maybe the relative time is being calculated for the wrong timezone! Nice job getting #indieweb comments working by the way! Any plans to accept them too?