Archive for the ‘blog’ Category

[links] libs for my prototype develop

Thursday, December 20th, 2007

Will begin to build the Social Blog prototype, I will use Microsoft ASP.NET MVC CTP#1 as web framework, I may need to use following open source libraries:

[1] Microformats parser for .Net: http://www.codeplex.com/microformat

[2] Feed library:

 http://www.codeplex.com/FeedDotNet

or http://www.codeplex.com/ASPNETRSSToolkit (seemed too much for me)

[3] OpenID library:

http://extremeswank.com/ (temporally not available?)

[4] HTML parser: http://www.codeplex.com/htmlagilitypack

Blog circle/group widget?

Tuesday, December 18th, 2007

Saw some great feature in sohu’s new blog design, severl blogs could join a group, and the group blog roll will appear on every member’s blog. 

It’s a cool feature, however it’s only for sohu users only.  I would be great if there are some service that can create a “group” and every one post inside by trackback, and then it provide a Javascript widget to be able embed into different blogs.

It can also use RSS to pull the latest update of each group updates.

Actually the “friend” blogroll is a special case of such a “group”.

Is there any ready made service like this idea?

Structured Blog / Semantic blog / meta blog…

Saturday, December 15th, 2007

It seemed to be a good idea for a long time, however not much progress was made…

links:

http://blog.iia.ie/2007/adding-structure-to-blog-posts/

http://www.semanticblogging.org/semblog/blog/default/

http://structuredblogging.org/

What if there is a “structure center” service, user can select the “structure template” to use directly and can contribute structure for others. There are some common keywords/category/tag which can be used to discover information from various self-defined structure.

More idea on Social Aggregator…

Sunday, December 9th, 2007

This based on the idea in the social blog prototype

A social aggregator can aggregator various information (not just RSS feed of a blog or Flickr account!) from many feed sources, store data in local cache(db) for performance and queries, user can apply different filters to get very interesting result. 

  • What’s inside user’s feeds?

Can be anything. Blog, of course.   Any RSS feeds, e.g. flickr, del.icio.us, …

If users can put some meta lists, things will be more interesting! e.g. reading list, wish list, selling items, …

  • Social Aggregator

Get the feed data, store it in local DB, and execute the query.

some operation may cost long time since data is not ready in cache.

  • Use LINQ as query language?

LINQ is a great new query language, and LINQ can be extended easily. We can implement something as LINQ provider so we can use LINQ to describe the filter of the social aggregator!

Very interesting results that a social aggregator can generate:

  • Social streams: my stream, a friend’s stream, a group of friend’s stream
  • What are my friends reading/wishing/selling/reviewing…?  (if any one published such meta data inside his feed)

What “social aggregator” can’t do?

  • social aggregator only aggregate limited feeds, and it’s one user centric application, so it can tell questions like “who are reading my blog…”, “who are reading the book I read?”, but it should be easily to discover “…. in my friends circle.”

Social blog thoughts…(continued)

Sunday, December 9th, 2007

Continue on the social blog ideas and the prototype design/implement. (Last thoughts on white board: “Social blog ideas…“)

Since it’s a prototype, I set some goals and non-goals:

Goals

  • Simple, just be able to verify the concept and test the user experience is enough
  • Easy to try for any blogger ( so previously planned to develop a  wordpress plugin may not be a good idea), a simple online service site, the easist way to try is copy/paste a code snip to blog side bar.
  • Copyleft source code available, any one can download and play around.
  • Not tied to any blog platform (if this idea can be proved, people can implement for different blog platforms)

Non-goals

  • a  full product or service

I plan to implement the prototype with ASP.NET’s latest ASP.NET MVC framework (if public preview version of ASP.NET MVC can be released soon as ScottGu said.) Of course, such an open idea may be looks like cooler if it is implemented with LAMP solution, however I need to learn ASP.NET these days. :)  Since it’s open, it doesn’t matter what language and platform it is implemented.

The prototype will contain 3 modules:

  • Social Contacts

This is core part of the social blog, it’s basically a simple personal contact management module.

    • import contact method from external sources, and more import method could be able to extended easily. 
    • Based on the above import contact feature, it can scan a URL and find if any meta data can be imported
    • Of course, user will be able to manual input data to it

The social contacts module can output/export its data for external modules or applications.

    • It can be easily generate a widget trough a kavascript,
    • or provide a page or HTML snips which include microformats ( to allow other application, or another instance of “social contacts” to import.
    • It should support an API for advanced usage

It should also be able to:

    • provide an interface for the owner to operate (add, edit, remove)
    • provide a pingback interface for automatic notification (if others add this user)

In the prototype implementation, I will make the prototype support multiple users account, however each user account will work like stand along instances, they will only communicate through web interfaces.

* Social Aggregator

Simply speaking, social aggregator is like a special RSS aggregator, there are already many social aggregator services, so I will not spend too much time in this part. Maybe I will just use a simple server side RSS aggregator to proof the concept.

The different in my idea is, this social aggregator:

  • Get feed information from “social contacts” module. 
  • Support a “filter” with a configurable interface

Maybe I  will explain this part later in another blog.

Social aggregator is not a core module in social blog idea, it should rather regard as one “application” sit on top of social blog architecture: it use data from “social contacts” and generate output.

* a Firefox extension

A firefox extension may be implemented to improve the usability.  It will looks like the “microformats” bookmarklet or ff extension.  It can be configure with “social contacts” API (and account information) to make users much easier to add “friends” during they browse the web sites

This module is a plus for making user experiences better, but it’s not a MUST-HAVE module.

Social Contacts:

image

 

Social Aggregator:

image

[draft 0.0.1] Social Blog: turn blog into a decentralized social network

Thursday, November 22nd, 2007

Really tough for me to write it in English…  but I am working hard…post the draft out and hope to get some feedback…

Social Blog: turn blog into a decentralized social network

Robert Mao

Abstract

Social networking has been proved to be one of the most important type of Internet service however today’s social networks are lack of openness, lack of port abilities, users get sick of involved into too many similar but separated networks. In this paper we discussed a decentralized architect that turn user’s blog into a social network based on open standards, with this approach, user will be able to create, store, manage their profile, social graph on their own site and be able to sharing data among different sites. A prototype will be given as the proof of the idea and also be used test the acceptance and the usability.

Keywords

Social network, blog, social network portability, decentralize, Microformats

Introduction

Social networking service is becoming red hot in the last five years, there are already too many social network sites, e.g. Friendster.com, MySpace.com, Facebook.com, Linkedin.com, Orkut.com, Xing.com, Mixi.com, etc., however more are coming. There are also sites that provided specific services but also offering build-in social network features, e.g. Flickr.com, Del.icio.us, Youtube.com, etc. More and more site creators realized the importance of offering those “social features”, so it’s not a surprise that they will become a standard part of future web sites.

Today’s social networking sites have several common problems:

1. They are not open, each of them is like a stand alone “walled garden”. When users come to a new social networking sites, generally they have to enter their profile information again and declare their contacts (friends) to establish “relationship” again, there is no standard way to share data from existing services;

2. Users have very little control on their own data, users’ information (profiles, contact lists, activities, etc) are stored in many different sites, some are duplicated, some are missing. It’s also hard for users themselves to control their own data. Some sites even does not allow user to delete their account;

3. People have already been bored of registering and re-declaring relationships in too many different sites which have similar social features. There will be a high demand from the users side to make join different social networks easier and control their own social data better.

Facebook platform provided some kind of openness to third party applications, however it means every application need to be based on facebook platform, that obviously not possible. The recent released Google Open Social API is also trying to define a standard API to enable gadgets be able to run in different facebook alike web platforms, unfortunately, Social Open does not bring anything new in openness of a social network.

There are already some pioneers discussion on the “decentralized social network” and the “social network portability”, there are already some researches, papers, experiments, prototypes available. There is already a few common viewpoints:

1. It’s not a good idea to build another centralized service to solve today’s problem, and actually it’s almost not possible to build such one-rule-all super service;

2. Existing standards, protocols, formats, solutions etc. will be used as possible instead of inventing brand new things.

3. It should be user centric and keep the minimal impact of the user experience, users are not really interested to understand those concept of decentralize, portability etc.,

Blog has become very popular in the last few years, blog already have great social features, bloggers have established implicit social networks through blogrolls, links, comments and trackbacks, some blog gadget applications which generally sit on the blog sidebar bring more features. Blog is a great success example for providing online decentralized personal service. However, the social features come with blog are implicit and since blog is more specific on content publishing the usability for those social elements are not well designed.

We are introducing an approach which add some features into a blog, and turn the implicit social features into explicit ones. By adopting existing open standards, such as Microformats, this approach will be able to interop with existing third party software or service.

Existing social features in blog

(this part will analysis the social feature in today’s blog system, blog add-ons, and also compare the blog against the social networks to see what blog already offered and what blog lacked, TBD)

There are already many social network elements inside a blog.

· Blog roll

· Outbound links

· Comments

· Trackback

Why not email?

(this part will discuss why blog is better and why email is not, since email also have many social features. )

Future base stone social network features

(this part will describe what we foresee of the future social network)

Social blog: turn blog into social network

(this part will describe the architect of social blog)

Prototype

(This part will describe a protype which turn Wordpress or DasBlog into a social network)

Conclusion

(the conclusion part)

References:

1. Brad Fitzpatrick, Thoughts on the social graph, http://bradfitz.com/social-graph-problem/, 2007

2. John Breslin and Stefan Decker, The future of social networks on the Internet, IEEE Internet Computing, 2007

3. Dina Mehta, My blog is my social software and my social network, http://radio.weblogs.com/0121664/2004/01/27.html, 2004

4. Microformats, , http://microformats.org/

5. Social network portability, http://microformats.org/wiki/social-network-portability

6. XHTML Friends Network, http://www.gmpg.org/xfn/

[links] Portable social networks

Tuesday, November 13th, 2007

[1]PSN: http://django-psn.googlecode.com/svn/trunk/readme.html

[2]Your single social network  http://www.gyford.com/phil/writing/2006/11/19/your_single_soci.php

[3]Building Blocks for Portable Social Networks

http://www.brianoberkirch.com/2007/08/08/building-blocks-for-portable-social-networks/

great post

(links) Blog .VS. Social Network

Sunday, November 11th, 2007

Dina’s classic post:  My Blog is my Social Software and my Social Network: http://radio.weblogs.com/0121664/2004/01/27.html

Decentralized/Portable social network

Sunday, November 11th, 2007

[video] request for a decentralized social network: http://www.metafluence.com/request-for-a-decentralized-social-network/

The basic concept is that with an identity layer, the blogosphere could be upgraded to have the features people value on social networks. People could still easily sign up to join (vs. installing a blog) on services like Wordpress.com or Blogger. The missing link is friend management. I want to be able to login one time, not on everyone’s site, and I want to be able to control the access a person has based on who they are. I think two pieces that could be leveraged to accomplish this are OpenID and XFN. I’ll put a more detailed post together explaining how I think these pieces could be used and some starting point standards for the open social network.

The 4Cs of the decentralized social network: http://www.metafluence.com/the-4cs-of-the-decentralized-social-network/

Identity flow chart

 

More thoughts on portable social networks: http://adactio.com/journal/1212/

A decentralized social networking platform:  http://www.krishworld.com/blog/social-platform/a-decentralized-social-networking-platform/

We need a decentralized social networks based on open standards.

[online groups]http://groups.google.com/group/social-network-portability

[ppt] David’s presentation on web 2.0 berlin: http://www.slideshare.net/daveman692/web-20-expo-berlin-open-platforms-and-the-social-graph

An old but good article (written in 2003!) Smarter, Simpler, Social: http://www.headshift.com/moments/archive/sss2.html

Current implementation of Open Social Networks:

 

NoseRub

 

 

 

 

http://noserub.com/

NoseRub only defines the social network and some basic content types like media, links, micropublishing and text. You can now add all your contacts to a NoseRub network and aggregate several social networks into just one.

And you always have full control of your data, as you can install NoseRub on your own server and have it connect to other servers out there

http://knowee.org/

Your Contacts, the Webby Way

knowee is an open-source web contact organizer (or “online social graph manager” for better buzzword compliance). It’s decentralized and lets you aggregate, track, organize, and share information about you and the people you know.
knowee data flow

 

Sites support FOAF: http://esw.w3.org/topic/FoafSites

More links on Open Social Network (Microformats & openID)

Sunday, November 11th, 2007

Why Mircroformats + OpenID will kikk Facebook: http://lucidplot.com/2007/07/12/microformats-kill-facebook/

Plaxo’s OpenID support: http://www.notsorelevant.com/2007-07-18/plaxo-openid-and-microformats-support/

OpenID’s 6 applications: http://simonwillison.net/2007/Feb/25/six/

How Microformats relate to semantic web: http://www.metah.ch/blog/2007/10/31/how-microformats-relate-to-the-semantic-web/

Microformats Diagram

RDF vs Microformat: http://www.semanticfocus.com/blog/entry/title/microformats-vs-rdf-how-microformats-relate-to-the-semantic-web/

What RDF allows (and Microformats lacks):

  • Resources are represented as URIs, allowing you to access metadata remotely
  • Infinitely extensible and open-ended design
  • A powerful Ontology language (OWL) that is built upon it
  • The ability to utilize, share, and extend any number of vocabularies
  • No reliance on pre-defined “formats” (i.e. not limited by the types of data that can be encoded)

Microformat cheatsheet: http://suda.co.uk/projects/microformats/cheatsheet/microformats.cheatsheet.pdf

Firefox extension to handle Microformats:

Tail: http://blog.codeeg.com/tails-firefox-extension-03/

TailScript: Tails allows users to customize the functionality of the extension using Tails Scripts http://blog.codeeg.com/tails-firefox-extension-03/tails-scripts/

Close
E-mail It