1. “…disruptive technologies don’t start out better than established technologies, as would seem intuitive, they start out worse. But for all their faults in comparison with entrenched, established competitors, there’s something radically different that opens whole new opportunities, and makes them disruptive.”

    — para-meta-quoted from Not Real Programming

    I’m aware the d-word is taboo, but I can’t help but think this perfectly describes and , as well as the reactions many people have to them.

  2. Marcus Povey: Thoughts: Simple distributed friend/follow/subscribe scheme

    @mapkyca nice brainstorming, loving the idea of key discovery for private content! (I publish a link to my PGP key on my homepage, if you want to test it out :)

    Have you had a look at PuSH v0.4? It’s way simpler than old PuSH and is no longer strongly tied to RSS/ATOM content.

    Note also that the “argh my little site got popular and is dying” thing can be solved even with your simpler system, by making the endpoint an external service. Woo hypermedia discovery over well-known URLs!

  3. myOpenID.com is dead. OpenID is dead. Long live Web Sign-In.

    I got an email saying the service will end on 2014-02-01, but the site appears to be down already. janrain.com, the company who apparently ran myOpenID, is also down, so I can’t find a “goodbye” post. Here’s the notification email:

    I wanted to reach out personally to let you know that we have made the decision to end of life the myOpenID service. myOpenID will be turned off on February 1, 2014.

    In 2006 Janrain created myOpenID to fulfill our vision to make registration and login easier on the web for people. Since that time, social networks and email providers such as Facebook, Google, Twitter, LinkedIn and Yahoo! have embraced open identity standards. And now, billions of people who have created accounts with these services can use their identities to easily register and login to sites across the web in the way myOpenID was intended.

    By 2009 it had become obvious that the vast majority of consumers would prefer to utilize an existing identity from a recognized provider rather than create their own myOpenID account. As a result, our business focus changed to address this desire, and we introduced social login technology. While the technology is slightly different from where we were in 2006, I’m confident that we are still delivering on our initial promise – that people should take control of their online identity and are empowered to carry those identities with them as they navigate the web.

    For those of you who still actively use myOpenID, I can understand your disappointment to hear this news and apologize if this causes you any inconvenience. To reduce this inconvenience, we are delaying the end of life of the service until February 1, 2014 to give you time to begin using other identities on those sites where you use myOpenID today.

    Speaking on behalf of Janrain, I truly appreciate your past support of myOpenID.

  4. Aral Balkan: @BarnabyWalters It’s up :) Looking forward to hearing your thoughts :) http://t.co/i3aivZq6L6

    Aral Balkan there’s some excellent+useful constructive criticism in there! I think you’re still misunderstanding the problem being solved and why indieauth evolved to work the way it does, as the solutions you suggest are in fact a big part of the problem. We wrote up a collaborative point-by-point response to your article here: indiewebcamp.com/On_Evolving_IndieAuth_Followup, which hopefully explains things better than I did previously.

  5. Scott Jenson: @BarnabyWalters FYI, this is how your tweet looks. I realize *why* of course but this feels only 50% POSSE http://t.co/dBGiKU0Rqi

    @scottjenson referring to the truncation? I know what you mean, I made the conscious decision to ignore the length of truncated copies of my content as I didn’t want what felt like an unnecessary limitation of Twitter limiting my self-expression.

    Others (Tantek Çelik in particular) care more about the quality of their POSSEd notes, and build UIs which inform them when their notes go over tweet- or retweet-safe lengths. This is one of the places diversity of implementations helps us experiment without having to argue about stuff :)

    One interesting alternative is to spread the content of notes which are too long for a tweet over several tweets, but that leads to all sorts of weird directionality changes, potential for them to be interrupted, extra permalinks, etc.

  6. Ben Werdmuller: Government - the last great gatekeeper - is ripe for disruption.

    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.

  7. I just faked having a task queue for 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:

    Further 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.