Singpolyma

Archive for January, 2007

Archive for January, 2007

Mostly hAtom in the New Blogger

Posted on

While 100% hAtom support under Blogger is impossible, we can get close. What is the use of that? Well, doing this will allow you to use the Backup Tool for one thing. Most other hAtom-related tools mentioned on this blog will also work with the results of these changes. Plus, it’s just generally an all-around good idea. (These instructions will work with most templates on the New Blogger, but if you cannot complete any steps for some reason, just skip them and it may still mostly work.) So, here’s how:

  1. Go to the ‘Edit HTML’ section under the ‘Template’ tab.
  2. Find the code that looks something like this:

    <b:includable id='post' var='post'>
    <div class='post uncustomized-post-template'>

    and replace it with this:

    <b:includable id='post' var='post'>
    <div class='post uncustomized-post-template hentry' expr:id='"post-" + data:post.id'>
  3. Find the code that looks something like this:

    <h3 class='post-title'>

    and replace it with this:

    <h3 class='post-title entry-title'>
  4. Find the code that looks something like this:

    <a expr:href='data:post.url'><data:post.title/></a>

    and replace it with this:

    <a rel='bookmark permalink' expr:href='data:post.url'><data:post.title/></a>
  5. Find the code that looks something like this:

    <div class='post-body'>

    and replace it with this:

    <div class='post-body entry-content'>
  6. Find the code that looks something like this:

    <span class='post-author'>
    <b:if cond='data:top.showAuthor'>
    <data:top.authorLabel/> <data:post.author/>
    </b:if>
    </span>

    and replace it with this:

    <span class='post-author author vcard'>
    <b:if cond='data:top.showAuthor'>
    <data:top.authorLabel/> <span class='fn'><data:post.author/></span>
    </b:if>
    </span>
  7. Find the code that looks something like this:

    <a class='timestamp-link' expr:href='data:post.url' title='permanent link'><data:post.timestamp/></a>

    and replace it with this:

    <a class='timestamp-link updated published' rel='bookmark permalink' expr:href='data:post.url' title='permanent link'><data:post.timestamp/></a>
  8. Find the code that looks something like this:

    <a class='comment-link' expr:href='data:post.addCommentUrl' expr:onclick='data:post.addCommentOnclick'><b:if cond='data:post.numComments == 1'>1 <data:top.commentLabel/><b:else/><data:post.numComments/> <data:top.commentLabelPlural/></b:if></a>

    and replace it with this:

    <a class='comment-link' rel="comments" expr:href='data:post.addCommentUrl' expr:onclick='data:post.addCommentOnclick'><b:if cond='data:post.numComments == 1'>1 <data:top.commentLabel/><b:else/><data:post.numComments/> <data:top.commentLabelPlural/></b:if></a>
    <b:loop values='data:post.feedLinks' var='f'><span style="display:none;">There is an <a expr:href='data:f.url + "?alt=rss"' rel='alternate comments'>RSS Feed</a> for comments on this post.</span></b:loop>
  9. Save your template.

Moved to New Blogger

Posted on

Hello! I’m on the new Blogger! Finally! Can you see the difference? It isn’t major to the eye, but man does this backend feel nice to finally work with for real!

New Tools and XOXO Blog Activity

Posted on

After a long period of inactivity I have revived the former XOXO Blog as XOXO – A Semantic Weblog. The following new tools have been announced:

There is also a discussion of distributed social netoworking and a new WordPress plugin to start implementing the idea.

Distributed Social Networking

Posted on

I’ve recently been thinking a fair bit about distributed and what that could look like. To my surprise, so have other people! (Yes, I just used the much-hated link on random words technique. First time, I’m experimenting 😉 ). I usually think in code, so this has resulted in the hCard for Blogger Generator and XFN + XOXO + hCard Blogroll Generator. Turns out that this is just step #1 of the same kinds of things others are thinking of.

I have also created a first draft of a WordPress plugin implementing some of these ideas and those to follow.

What would distributed social networking look like? It would look like people from Facebook, MySpace, BeBo, etc adding me as a friend by entering the URL of one of my profiles (likely my blog home page). They then get all the features of the network with me and vice-versa even though I have no account with their service. This also means that Facebook people could add friends from MySpace and vice-versa.

To further the discussion (and my own code / implementations, theory is useless without practice!) I would like to propose the following ‘levels’ of distributed social networking:

  1. Publish an hCard for each blog author / web page owner. This would allow all services to identify whose profile that page is and acts as a basic profile. If Pingerati is pinged this would also allow a person to be found on an hCard search engine. This could replace the traditional social networking search completely. This is implemented by the hCard generator for Blogger (above) and the WordPress Plugin (above).
  2. Publish blogrolls as XFN. This implements friends lists that social networks thrive on. If this is mixed with hCard markup it allows your friends to be better identified and indexed as well. At this level one can view relationship networks with something like RubHub. This is implemented by the blogroll generator (above) and the WordPress plugin (above, WordPress already has XFN, adds hCard).
  3. Public/private profiles. If you are not my friend (or you are a search engine) you should see less of my information than if you are my friend. If I have marked you as a friend (XFN, level 2). How do I know you are my friend if it’s decentralised? We need a decentralised auth system. Oh, we have one! If you are logged in via OpenID and your OpenID URL is either linked to with rel=friend in my blogroll (or the page that I do link to has a rel=me pointing to your OpenID URL) you are my friend (you own a URL I have marked as friend) and thus can see more of my information. I doubt this can be done for Blogger, but it is implemented by the WordPress plugin (above).
  4. Messaging. At least we need a way to notify people that we’ve added them as a friend to give them a chance to reciprocate. I know of no standard for REST communication. I have hacked together a basic prototype for the WordPress plugin (above). Passing a GET string to a profile URL with the var from containing either your URL or email address, subject containing the message subject, and body containing the message body (i.e. ?from=http://singpolyma-tech.blogspot.com&subject=Hi&body=Hello there) emails the owner with that information.Certain subject could have special meaning. That was some kinds of messages could be turned off (to deter SPAM). If subject=add_friend then the body is ignored and the user is simply notified that from has added them as a friend. This notification could be done automatically when you add that person as a friend to your XFN blogroll.All of this is supported by the WordPress plugin.

Another thought is that to accomplish the college network, etc, features of Facebook and other existing services one could apply rel=tag to one’s own hCard.

We need a way to log in with OpenID in one place and then have all the little places (i.e. blogs) know you’re logged in. Can’t do that with cookies, but maybe something will be though of. Just putting it out there for discussion.

hAtom Backup Tool

Posted on

This backup tool will crawl your blog for hAtom or XOXO Blog Format content and put it all together in one file that you can save to your hard drive for backup purposes.

If you do not use the New Blogger you will have to have an archive list in your sidebar that has the class archive-list on it. With the New Blogger if you have an archive widget it should just work.