Search 'archive' for: #indieweb
Page 8 of 9
<<     < >     >>
#

Ownership and control: how much do we really have?

The ideals behind the #indieweb and, to an extent, Micro.blog are about ownership and control: you own your content, not the network, not the platform, not a silo.

But let me play devil's advocate for a moment.

I wrote back in 2010 that the real social currency is relationships. Not likes, not retweets, not the number of followers but the actual relationships we have with them.

It is the relationships between people, relationships between us and our interests, relationships between data points and their intersections.

Big data.

The value of a social platform lies within its graphs, social and interest, the connections between its users, what they like and how that relates to others. Trends, patterns, spikes, correlations - everything that makes the data useful.

Who owns what?

What do we mean by ownership? Do we associate it with having control over our data or just mean having a copy of everything we post should the services we use disappear?

If it's the former we are deluding ourselves.

Even though we may hold the original version of our posts or photos, and even hold the keys to our base online identity, how much control do we actually have?

As soon as we pass our data to platforms or silos, as soon as we express our interests and connect with others we are handing control of so much more than our posts to those platforms.

Ownership extends far beyond the items themselves to the relationships and data points surrounding them as there is no way for us to own that.

Should we also be asking how much of this we need to own?

Do we need to hold every post, or reply? Is there really value in retaining everything? Or, is it merely our vanity?

Control

We claim to be taking back control from the silos but, if we cross-post in the name of distribution, they still have the power to mine our data (of which we freely hand them a copy) and use it for their own ends.

Unless we keep all our data within a silo of our own we will never have full ownership and total control but that flies in the face of the interactivity the indieweb movement tries to promote.

#

The duality of microblogging

Further to the points I made in "Self-hosted microblogging - where does it fit?" I've been having more thoughts on how best to use Micro.blog and fit it into my own online ecosystem.

As I carry my microposts on my own blog I opted not to use the two free months hosting reward from the Kickstarter campaign - although that is still an option I could exercise later - it was the different approach of being self-hosted that really interested me more than just the social networking side.

There is a duality to the service between hosted accounts and self-hosted that impacts what I do psychologically and introduces a second, virtual duality.

There are two approaches to data publishing and use as discussed on the #indieweb site:

  • POSSE, Post (on your) Own Site, Syndicate Elsewhere
  • PESOS, Post Elsewhere, Syndicate (on your) own site

The self-hosted side of Micro.blog takes items from your own site and publishes them to the network (POSSE) but using the iOS app makes it feel like a PESOS environment where you post to the network and it then feeds back to your own site.

There is an element of cognitive dissonance and takes a bit of getting used to.

The actual process is that the iOS app posts to your site using XMLRPC or micropub (depending on the type of site) which then pings the Micro.blog servers letting them know a new post is available. Micro.blog then pulls in that new post via your sites RSS feed.

Except for replies - which are held solely on the server (at least for now) which I feel is right, having written:

"Webmentions may provide reply notification to your blog but the conversation itself is purely, and should be, a social construct thanks to the context of its creation."

Holding back

Another duality exists in the nature of microblog posts which comes back to where you post influencing what you post.

Using the app with full view of the timeline is more likely to encourage social or conversational entries as opposed to posting off-network. It's an interesting challenge to maintain consistency even though everything is effectively coming from your own property.

For someone who backed the service and is, therefore, a de facto beta tester I'm not posting anywhere near as much as I could or should be.

I find myself resisting the urge to post so as not to have platitudes or socially oriented posts fed back to the blog. Context, in this regard, has a lot to answer for!

It's very much in my head and I need to either get over it or come up with a way around it.

I could just accept that I won't be posting directly to the service very much or separate the microblog from the long form posts. I like the juxtaposition of different post types, however, so think removing them from the main flow would be a loss.

It's going to take some time to settle on a compromise.

#

Valuing the right things

Chris Aldridge queried my current approach in making the blog an #indieweb property but telling people to reply on Medium - it's anathema to the ethos of ownership.

My response was that the blog is in transition, moving from one phase to another.

And I think a lot of the confusion is down to value: what is the value associated with what we do on the web? It's not always obvious, not the same for everyone, and not even the same for the same person at different times.

Stats and reach vs ownership and control.

When I first started blogging properly in 2003 I had total control, total ownership, and a static IP address from my ISP meant it was easy to self host at home.

I had the blog on SharePoint running on a server sat in my dining room. All my email was handled by my own Exchange Server - again at home - the MX records pointing to my static IP.

Although I had total and full control I didn't really value it; I was doing it because it was the geeky thing to do. I valued the nerd-factor.

I learnt quite a lot though.

When SharePoint was no longer a viable blogging platform (was it really ever?) I moved to WordPress. My wife had been trying to get me to switch for a while but I had been so invested in my own setup and mistook the value in what I had done technically for what mattered.

At that point the value was actually in having a modern, purpose built blogging platform.

Blogging was (and largely still is) a numbers game and a few lucky people became six figure bloggers - they were there at the beginning and seized an opportunity to turn it into a meta business - making money blogging about making money from blogging.

Then the rise of social meant that numbers were more important than ever. Reach, influence, followers, all these things were purely about increasing the what and bypassing the why.

We got sucked in.

When social really started catching on around 2008 I became involved in a lot of very interesting conversations and my "online stock" was reasonably high in certain circles. But everything I wrote about and stood for was predicated on promoting the mainstream adoption of social.

Guess what? Social got adopted, and how! I became lost and didn't know where to take what I was doing.

People drifted away, moved on to the next thing, while the conversation moved from blogs to social networks.

Rather than realise the value of what I had I lamented what I had lost so the drive behind what I was doing changed. I placed more value on the audience than control, first with Google Plus and then (to a lesser degree) with Medium.

That's not to say there isn't value in those places but the relative value is so individual that we can't discount things completely.

In an attempt to recreate the audience I got away from what made blogging special and I'm not too proud to admit it. This realisation was key to understanding what I should be appreciating.

It's taken me a while to get here but I'm glad I've arrived.

#

Indieweb adoption - how does a new way spread?

A conversation cropped up in the #indieweb slack about how wide its adoption currently was. It surprised me to learn that there were, at most, around 10,000 sites that could currently be described as indieweb properties.

While Micro.blog supports indieweb technologies (so will technically boost those numbers as it grows) it was wondered if its members were "all 'actively' seeking out an indieweb presence" and whether this actually mattered.

Does having it but not understanding make a difference?

Of course not.

Everyone uses the web and email without having a clue about how they work, about the protocols behind them or the RFCs these protocols originated in.

People don't need to know and the indieweb will be no different.

An understanding is currently required solely because it's the only way to get it set up: implementing it yourself, either completely manually or in conjunction with a selection of plugins.

Stealth

When I wrote about mainstream social media adoption back in 2008 I said it would happen by stealth. People weren't actively seeking a social presence, they didn't wake up one day and suddenly think "I'm going to join a social network!"

They fell in to social, they just wanted to talk to their friends and family.

Widespread indieweb adoption will be the same, it will happen by stealth because someone with a bit of clout decides to implement it.

What if, for example, Automattic (the company behind WordPress) suddenly decided that all standard WordPress.com themes were going to include microformats2 markup and support webmentions? You've instantly got millions of people with an indieweb presence who haven't got a clue what it is or how it works, just that things are a little different.

Attempts at getting microformats2 markup into the WordPress core, however, have so far proved unfruitful.

Trigger

Ideas spread slowly, organically, word of mouth and person to person, until a tipping point is reached.

Even though something may be ratified as a W3C standard it doesn't mean everyone is going to start using it.

Maybe there needs to a trigger, a light bulb moment, a catalyst that galvanises the decision. What if something like Micro.blog takes off and starts getting a lot of attention.

What would it take?

If such a moment did occur any widespread adoption certainly wouldn't be couched in indieweb terms; there would be new terminology. Perhaps it would just be described as a new way to present your information to make it easier to identify, respond to, and to interact with other sites.

After all, if the indieweb becomes mainstream it's no longer indie.

#

Sending likes and replies using custom fields

Historically, we would visit someone else's site to leave a comment or click a like button. Sometimes these interactions would be held within their own site's data but, frequently, they would be stored remotely - think Facebook Likes or Disqus comments.

In keeping with owning your content, part of the #indieweb ethos is to perform these actions on your own site but pass them back so they show in both locations. The original, however, is held by yourself.

The Post Kinds plugin for WordPress is designed to add support for "responding to and interacting with other sites" by implementing "kinds of posts" - specific post types with a particular purpose. So I thought I'd give it a try.

The plugin didn't work in the way I'd imagined, however, and caused issues with my theme due to the way it maps its own post types to those already in WordPress.

While new templates can be designed for how it integrates, all I really wanted it for was likes and replies so the effort required to get everything back as if should be seemed a bit counter-productive.

Back to the drawing board.

A different way

Once webmentions are enabled the actual markup required to turn a link to another page into a like or reply is actually pretty simple - specific classes are added to identify their purpose:

  • Reply = class="u-in-reply-to"
  • Like = class="u-like-of"

This would be easy enough to add to the post HTML but, as I avoid the WordPress back end as much as possible, I wanted an easier way.

What if I could automatically add this without a plugin?

As I post from my phone I starting thinking how I could pass a URL to WordPress along with the post; I was instantly reminded of the trick I used to tell it about the path to microcast episodes:

Custom fields.

A like is usually a short post so perfect for Drafts and Workflow - custom fields can be populated directly from the 'Post to WordPress' action.

Replies are more likely to be longer posts but Ulysses doesn't, natively, allow for the same behaviour. I would just have to add the custom field after posting as a draft.

Now that the link data could be included with the post how could it be added with the relevant markup to trigger webmentions?

Functions

I had already used code in functions.php to alter posts (the creation of hashtag links, for example) but this was purely a run-time change altering how the content was displayed, not stored:

add_filter( 'the_content', 'linked_hashtags' );

To trigger webmentions the links need to be included in the actual body of the post so modifying the_content wouldn't work. Luckily, WordPress includes a way to do this in content_save_pre which lets you modify a post's content before being saved to the database.

In order to build the webmention links I needed to get the page title as well as the link. The function file_get_contents() reads the contents of a file (in this case a web page) into a string and I used an example found on the web to extract the page title from that:

$str = file_get_contents($replyurl);
$str = trim(preg_replace('/\s+/', ' ', $str));
preg_match("/\<title\>(.*)\<\/title\>/i",$str,$replytitle);

Putting it together

With all the pieces in place, all that remained was to put everything together running a function to build the links when saving the post:

add_filter( 'content_save_pre', 'mentiontypes' );

Pulling the URL from the custom field is done using get_post_meta() specifying the post ID and field name. The required string is built and added to the front of the post content before being returned back to the post as the new body.

Because content_save_pre runs whenever a post is saved editing would cause the link to be re-added on each occasion. To prevent this I opted to delete the custom field using delete_post_meta() after the link is first inserted to avoid duplication.

The full code is included below. Let me know if you can think of any improvements.

Update: Jeremy Cherfas pointed out that some consider file_get_contents() to be insecure so advised using wp_remote_get() instead. The code below has been updated to reflect this change.

function mentiontypes ( $content ) {

  $id = get_the_ID();
  $types = array ( 'Reply', 'Liked' );

  foreach ( $types as $type) {
    $mentionurl = (get_post_meta($id, $type, true));

    if ( $mentionurl !="" ) {
      $url = wp_remote_get($mentionurl);
      $str = wp_remote_retrieve_body($url);
      $str = trim(preg_replace('/\s+/', ' ', $str));
      preg_match("/\<title\>(.*)\<\/title\>/i",$str,$mentontitle);

      if ( $type == 'Reply' ) {
        $mentionstr = '<p><em>In reply to: <a class="u-in-reply-to" href="' . $mentionurl . '">' . $mentiontitle[1] . '</a>...</em></p>';
      } else {
        $mentionstr = '<p><em>Liked: <a class="u-like-of" href="' . $mentionurl . '">' . $mentiontitle[1] . '</a>...</em></p>';
      }

      $content = $mentionstr . $content;
      delete_post_meta( $id, $type, $mentionurl );
    }
  }

  return $content;  
}

add_filter( 'content_save_pre', 'mentiontypes' );
<<     < >     >>