Add ability to have blog interface with other drupal-based blogs

socratesone - November 7, 2007 - 18:27
Project:Blog Client
Version:HEAD
Component:Miscellaneous
Category:feature request
Priority:minor
Assigned:Unassigned
Status:active
Description

I realize that this may sound like a large project, and it probably is.

I just got the idea today and realized that this really is the next step in blogging.

I was asking myself what kind of problems still need to be solved on the web, what direction the web was heading, and I realized something: The issue is the centralization of content.

Take two of the largest social networking sites on the net right now: myspace and youtube. There are several reasons why these sites are popular, but it really comes down to connnection. Youtube is arguably not the best vblogging site around, yet it is the most popular. The reason for this has to do with interface features and speed and many other things, but the primary reason is the user base. Those that use youtube and myspace primarily use it because there are so many other people that use it.

This creates a problem of centralization. The interaction between these sites and the rest of the net is minimal. Youtube has its ability to embed most of the content on other sites and even some rss feeds for channels, but if you want to become a part of the youtube community and comment, post video responses, and subscribe to other users, you are forced to use that service.

What if we could decentralize these features using a combination of rss feeds (or some other xml-based interface), bookmarklets (much like stumbleupon and del.icio.us's use of bookmarks to interface with it's servers), and a standard framework for the creation of content (like drupal)?

For example:
I have a blog. John has a blog. I read John's blog. John says something that I disagree with and I want to respond, and I also want to post my response on my own blog. As of right now, I have the following options:
1) post my comment, then copy and paste it to my blog.
2) post a link to my blog on his blog.

What if we created a book marklet that triggers something on his blog and my blog simultaneously that posts a comment with a link to my blog on his blog, and automatically created a link to his blog on mine? Think of this as the youtube interface for posting video responses across multiple servers and domains. As long as both sites are using the same software (drupal blog), or are running software that use the same standards, it should ok.

This "next generation" type of social networking could then be used to do other things, such as have "friends" or buddy lists across multiple domains, "subscriptions" and subscription tracking across multiple domains, and even tracking of views and subscription count to third party servers. For example, a search engine can crawl these specific kinds of sites an grab info from them to organize centrally, but this centralization wouldn't be controlled on any one central server, but rather function like google's "centralization" of the internet or technorati's "centralization" of the blogosphere. It would be virtual centralization, where the metadata would be standardized, much like rss is now plus a few other bits of information.

I realize this isn't specifically Drupal-centric, but I figured that, given the popularity of Drupal, it would be the perfect staging ground for this kind of new wave of social networking. I also think that, if it caught on (which I think will be inevitable, whether it's this idea or something else), it would be a promotional tool for Drupal.

A simple rss doc like this might look like this:

<xml>
<rss version="2.0">
<channel>
<title>Blog title</title>
<link>http://www.mydrupalsite.com/myblogpath</link>
<description>
                  <subscribers>34</subscribers>
                  <subscription_link>http://www.mydrupalsite.com/subscribe</subscription_link>
                  <subscriber_data>http://www.mydrupalsite.com/subscribers</subscriber_data>
                  <friends>7</friends>
                  <friend_data>http://www.mydrupalsite.com/friends</friend_data>
                </description>
<language>en-us</language>
<image><!-- normal image data --></image>
<item>
<title>Item title</title>
<link>http://www.mydrupalsite.com/node_reference</link>
<guid>http://www.mydrupalsite.com/node_reference</guid>
<pubDate>Wed Nov 7 08:31 EST 2007</pubDate>
<description>
                           <views>345</views>
                           <comments>3</comments>
                           <response_to>http://www.Johnsdrupalsite.com/node_reference</response_to>
                           <respond_link>http://www.mydrupalsite.com/respond_to/node_reference</respond_link>
                        </description>
<author>Author name</author>
</item>
                </item>
<item><!-- more item data, etc... --></item>
</xml>

It would probably make more sense to use a standard xhml-compliant micro-format for the descriptions rather than xml in order to be compatible with existing rss readers, but I think the point is clear.

The bookmarket for subscriptions would function as follows (psuedocode):

load_needed_scripts(); // scripts would be located on your server and paths set up when you create the bookmarklet
subscribe = get_subscription_link(); // traverse that current drupal page for the subscription link
ajax = new Ajax(subscribe);
update_my_subscriptions = get_update_link(); // Get the link from the script located on your server
ajax = new Ajax(update_my_subscriptions);
refresh_page(); // set a session cookie to let the current site know that you are subscribed and reload the current page.

 
 

Drupal is a registered trademark of Dries Buytaert.