1. The medium with which you choose to express a message shapes that message — be careful it doesn’t contradict it.

    Case in point: A Rational Web Platform (via @brucel)

    • hosted on google silo
    • long complex ugly URL
    • presentation tied to paged dead-tree media with ugly results: text breaks across artificial “pages”
    • no author URL, just corporate silo email, and email != web
    • javascript required
    • no microformats2 or even semantic HTML article markup — even js-generated markup is predictably disgusting with vast quantities of nested divs and spans with inline styles
    • Redirecting to different (non-canonical? difficult to tell due to ugliness) URL due to large amounts of traffic, likely indicative of infrastructural problems or incorrect medium
    • Broken on mobile devices:
      the body text is tiny and does not wrap, the high-traffic warning is truncated and unreadable

    Everything about this is anti-web, practically screaming “ignore me”.


    • Host on personal site or project commons with CC license
    • Short, consistent, readable URI
    • Static semantic HTML with microformats2 h-entry for easy citations, archival and replying, no JS required — this would also solve infrastructural problems as HTML is pretty easy to serve and much faster than JS-rendered DOM-heavy “documents”applications
    • Author attributed by name+personal (non-silo) URL, with profile photo/logo for quick human association
  2. Indiereader

    goal: by 2014-01-01, no longer be using twitter.com to read+reply to my friends’ content.

    It’s already possible to use web action toolbelt to add indieweb reply/bookmark buttons to twitter.com and weave to expand POSSEd copies into full posts, but I think that’s as far as the “progressively enhance the twitter UI for indieweb support” train goes. Remaining pain points:

    • Ads and other UI noise
    • Lack of good search
    • Lack of control over timeline — lists, following and blocking are the only ways to control what you see
    • Very weird in-timeline threaded conversation view

    Pieces in place allowing a seamless transition from using twitter.com:

    • A whole bunch of indiewebcampers publishing their notes+articles on their own sites using microformats2
    • An open source microformats2 parser
    • App.net mark up notes with microformats2 h-entry and h-card
    • h-card and xfn for follow lists, e.g. my contact list
    • Shim to parse twitter.com into microformats2 data
    • twitter-activitystreams to consume personal twitter feed as microformats2

    Pain points still to be resolved:

    • How to fall back to subscribing to someone’s twitter feed if they don’t publish their notes on their own site?
    • Whether or not to support ATOM+RSS — sure there’s a lot of it around, but it’s a nightmare, and I don’t want to encourage publishing invisible DRY-violating data. Perhaps superfeedr’s normalisation will be of use
    • What to do about all the wordpress blogs around with half-baked microformats support — auto-detect and use their ATOM feed? Try to find a related twitter account?
  3. Playing with Yahoo Pipes for the first time. This is the UI I’ve been dreaming of for years. The data sources are bogged down with nasty RSS/ATOM semantics, but that’s mostly irrelevant. The important things:

    • Live, context-sensitive debugging. Want to know what the data looks like at a particular point in the graph? Click there. What if I change this parameter? It updates. WHY ARE PEOPLE NOT RAVING ABOUT THIS? THIS IS HUGE!
    • All parameters are programmable, but with the ability to specify defaults
    • Everything is declarative — not only textually, but visually.
    • One-click publish and deploy, with facilities to create basic UI and pre-fill it
    • Ability to clone and reuse pipes — each pipe is a module you can use in other pipes. Take someone elses pipe and view source, change it, reuse it.

    I made a Pipe to convert h-feed/h-entry markup into RSS from scratch in about 15 mins, having never used the tool before (bear in mind also that this is not a tool built for consuming mf2 data structures): Convert Microformats to RSS. The tiny feedback loop the Pipes tool provides, both in deploying, sharing and debugging, enabled Tantek Çelik to find a bug in his site’s markup.

    Again: WHY DOES NO-ONE KNOW ABOUT THIS? If it’s because processing stodgy, outdated, DRY-violating formats is its bread and butter, fair enough. Let’s rebuild this with microformats2.

  4. v0.2.0 update to php-mf2 (BREAKING CHANGES) contains lots of goodness, including

    • support for the new, safe, consistent e-* property parsing rules
    • improved API, parsing mf2 from HTML now only requires one function call
    • PSR-0 namespace update (mf2Mf2)
    • improvements to the way classic microformats are supported
    • vastly improved documentation

    Go get it now from Packagist, or try it out at pin13.net/mf2

  5. From now on I am framing all web standards-type discussions with the question “what is it reasonable to demand that authors do”

    For example, it’s not reasonable to demand authors publish content in more than one format. It’s not reasonable to demand that authors learn how RDF works. It is reasonable to require authors to publish HTML. It is reasonable to require authors to add some simple microformats like rel-author, h-entry or h-card.

  6. The fact that I’m considering splitting examples lists into “publishing” and “consuming” is testament to the progress which has been made in the past month