Google Soc 2008 Proposal about Plone Social Networking

2 views
Skip to first unread message

Rudá Porto Filgueiras

unread,
Mar 31, 2008, 3:42:02 PM3/31/08
to plone-socia...@googlegroups.com
Hi,

Follow my Google Soc 2008 Proposal about Plone Social Networking.
I'll enjoy any comment to improve the proposal quality. ;-)

 Introduction
============

Plone is one of the best open source Content Management System - CMS, has a lot of features in the core and many nice third party products that makes it widely used for Internet and Intranet web sites. It is also build on top of a framework stack compound of Python, Zope2 and Zope3 components, delivery a good flexibility to extend and customize the system to particular use cases.

Plone has been used to create community and company portals but at this time it don't has basic components to implement social networking oriented features. In future, with an consolidate social networking stack and components, web sites like "plone.net" should make use of it to be more "people oriented" and can have browse and search features to easy get information about people, company, groups, etc, using the relationships between social actors (social capital).

 
Implementation
==============

New components/modules to handle social networking features in Plone will be implemented using Zope Component Architecture - ZCA:

 * Actor
 * Activity
 * Relation
 * Network

Actor components are responsible to define base social actor interface, define an abstract actor implementation (BaseActor) and most used actors like Person, Community, Organization. The user profile information can be delegate to an adapter like schema extender concept of b-org project. To integrate it with Plone membership/group management (Plone Pluggable Auth Service - PlonePAS) "membrane" product should be used.

Activity components are responsible to adapt actors and store/get information about user like profile access of other users, content creation or modification, user profile update. It should support extension components writing adapters to deliver use case specific needs like monitor ticket submission, mail list participation, subversion commit, etc.

Relation components are responsible to abstract social relation interface and define a set of common relationships implementation: friendship, co-worker, owner, participation, etc. Possible relationships between source and target actors can be discovered via multi-adapter look-up. It will be based on "plone.relations" package and should specialize the existent relationship index utility.

Network components are responsible to define social network interface to introspect about registered actors, relationships, activities and global properties, policies and permissions. In Plone it can expose ISocialSite or ISocialNetwork utility that will know where user profiles and data will be stored, which content types will be available to be used, etc. In Plone control panel a configlet should expose these global configurations. Social Network will delagate some responsible to specific components, but it will act as a central point of control and access to social information, including search, browse and registration features.

Road Map
========

Step one: preparation and components/packages definition (april 14 - may 26):

 * be in touch with discussions about Plone Social Networking are happen in "plone-social-networking" Google Groups list/site and use cases documented there.
 * refine the boundary of this application and define framework components/packages that should be constructed to support Plone Community common and particulary use case.
 * find and study existent Plone, Zope and Python components that can be used to construct and integrate social networking in Plone, ex: membrane, plone.relations, borg.localrole, b-org, OpenID.

Step two: implement defined components / packages (may 26 - June 29):

 * first interaction: code defined components
 * write documentation and tests with python doctests

Step three: mentor review (June 30 - July 14):

 * work with mentor to review implementation
 * prepare midterm evaluation
 * alpha release

Step four: mentor review (July 15 - August 17):

 * second interaction: continue to code components, bug fixes and unit tests
 * beta release

Step five: final work (August 18 - Setember 1)

 * one or two release candidate and preparation for stable relase
 * first stable release


Future Work
===========

After develop basic social networking for Plone some future work are:

 - Apache Shiding: Gaget/OpenSocial Container implementation in Python
 - Plone support for OpenSocial applications using Python Gaget/OpenSocial Container implementation

About Me
========

I'm acting as a Zope and Plone consultant since 2004 and develop some web portals and Intranets:

 * www.gestaosocial.org.br
 * www.arqedesign.com.br
 * intranet.mlnordeste.com.br
 * www.roxgt.org
 * www.gnu.frb.br
 
Since 2006 I'm working at Weimar Consultoria and work to maitain a webservices layer on top of SOAPpy to delivery webservices content to this web portal: www.sebrae.com.br. Write unit tests for remote webservices, cache layer control and police, nagios plugin to monitor webservices quality (network responsiness and bussines rules) are one of my taks.

I have some experience in develop PAS plugins for LDAP, SQL and Werservices and contribute a little with collective SQLPASPlugin.

At Faculdade Ruy Barbosa (www.frb.br) I'm doing Computer Science graduation and research about on-line social networking sites (final graduation work). I also do some work at university Linux user group GNURuy.
 

--
Rudá Porto Filgueiras
Weimar Consultoria

http://python-blog.blogspot.com

Hospedagem Plone, Zope e Python?
http://www.pytown.com

Dylan Jay

unread,
Mar 31, 2008, 7:10:44 PM3/31/08
to plone-socia...@googlegroups.com

Hi Ruda,

 

It’s a great idea using SOC to get some work done but I actually envisioned us getting some code out much earlier than this. Like in the next month.

Perhaps it can be more advanced, like “Make Plone an opensocial container by building on plonesocial”, or “Make any plone site into a Facebook app by building on plonesocial”? I’d vote for the 2nd one.

 


Rudá Porto Filgueiras

unread,
Mar 31, 2008, 9:07:40 PM3/31/08
to plone-socia...@googlegroups.com
On Mon, Mar 31, 2008 at 8:10 PM, Dylan Jay <dja...@gmail.com> wrote:

Hi Ruda,

 

It's a great idea using SOC to get some work done but I actually envisioned us getting some code out much earlier than this. Like in the next month.


Have you some code to share?
 

Perhaps it can be more advanced, like "Make Plone an opensocial container by building on plonesocial", or "Make any plone site into a Facebook app by building on plonesocial"? I'd vote for the 2nd one.


I begun to study java opensocial implementation in shinding, and it's not so dificult and not so easy.
If Plone Foundation accept the proposal, we can talk with mentor and discuss in plone-social-networking list what is the most important thing to do, and not repeat youself.

Regards,
 

Dylan Jay

unread,
Mar 31, 2008, 9:30:40 PM3/31/08
to plone-socia...@googlegroups.com

Sounds like some work might go on in the upcoming sprint, but if not, I’m going to set aside some time and start work on what I’ve outlined in the component model. Then there would be code to share.

 

Yours sounds like another good plan to get something happening so go for it. And please try to keep it aligned with our efforts here, including all the use cases and component models we’re discussing and working out now. See the Google pages for this group.

Rudá Porto Filgueiras

unread,
Mar 31, 2008, 9:38:00 PM3/31/08
to plone-socia...@googlegroups.com
On Mon, Mar 31, 2008 at 10:30 PM, Dylan Jay <dja...@gmail.com> wrote:

Sounds like some work might go on in the upcoming sprint, but if not, I'm going to set aside some time and start work on what I've outlined in the component model. Then there would be code to share.

:-)

Yours sounds like another good plan to get something happening so go for it. And please try to keep it aligned with our efforts here, including all the use cases and component models we're discussing and working out now. See the Google pages for this group.


I'm off last two weeks but I'm follow all efforts to document and discuss some use cases.
I'll try to contribute more in discussions and use cases.

Regards,

Dylan Jay

unread,
Mar 31, 2008, 9:39:06 PM3/31/08
to plone-socia...@googlegroups.com

Actually even more important to me would be make plone implement the google gadget api rather than be an opensocial container.

 

I’m creating an application that I want to have its own model of a social graph and its own ability to invite, but then be usable within facebook or myspace or whatever too. Rather than create another facebook or myspace that lets other gadgets exist inside it.

 

Ie, I want to create a neiche social network on a particular topic that is as viral as possible so its easy to use and register no matter what you’re already signed up to. Having plone implement the gadget api and the facebook app api seem to be the way to do that.

 

 


From: plone-socia...@googlegroups.com [mailto:plone-socia...@googlegroups.com] On Behalf Of Rudá Porto Filgueiras


Sent: Tuesday, 1 April 2008 12:08 PM
To: plone-socia...@googlegroups.com

Rudá Porto Filgueiras

unread,
Mar 31, 2008, 9:53:42 PM3/31/08
to plone-socia...@googlegroups.com
On Mon, Mar 31, 2008 at 10:39 PM, Dylan Jay <dja...@gmail.com> wrote:

Actually even more important to me would be make plone implement the google gadget api rather than be an opensocial container.


Goolge opensocial container is an extension of Gadget container.  But there is Gadget Server Container and Gadget Javascript Container and the same to opensocial.

I'm creating an application that I want to have its own model of a social graph and its own ability to invite, but then be usable within facebook or myspace or whatever too. Rather than create another facebook or myspace that lets other gadgets exist inside it.

Plone must be implement all the stack to do it: Gaget Server / Javascript container and Opensocial Server / Javascript container.

If I'm not worng, the javascript code released in Apache Shiding can be shared across different Gadget Servers implementation, there is Java and PHP at this time. We need only to take care about JSON interfaces used to integrate server side (Java, Python, PHP, etc) and client site (Javascript).

Ie, I want to create a neiche social network on a particular topic that is as viral as possible so its easy to use and register no matter what you're already signed up to. Having plone implement the gadget api and the facebook app api seem to be the way to do that.


I know anything about Facebook support, only about Google Opensocial support. :-(
 

Dylan Jay

unread,
Mar 31, 2008, 10:44:40 PM3/31/08
to plone-socia...@googlegroups.com
You misunderstand me.

My understanding of the google apis are there are containers and there are
gadgets. A container is a site like myspace that lets you add other peoples
gadgets like for instance a photo slide show gadget like slider. A gadget is
a software as a service application, like a phot slide show gadget.
In terms of google terminology, I think a facebook app is like a google
gadget.

So we could make easy for Plone to be a container, or we could make it easy
for it to be a gadget. Both are perhaps useful.

Plone as a container:-
- It would be useful to be able to put a weather gadget in as a portlet or
into a users dashboard for instance.
- It would allow anyone creating a small social network site that is general
in nature (ie facebook clone), to have a huge range of plugins instantly.
- but it doesn't make your Plone instance more viral. It does nothing to
help get people to your site.

Plone as a gadget:-
- Allows someone to offer functionality or content made in Plone to others
inside the sites they normally use e.g. other opensocial containers.
- It allows a way for people to start to use your app or site, and share it
with their friends easily. By using it in facebook etc, and then hitting the
share button and picking from your list of users to share with.
- It helps make any given Plone site more viral.

For me my goal is to make a small social network which is very viral. So
Plone as a gadget works for me. What about others?

> -----Original Message-----
> From: plone-socia...@googlegroups.com [mailto:plone-social-
> netwo...@googlegroups.com] On Behalf Of Rudá Porto Filgueiras
> Sent: Tuesday, 1 April 2008 12:54 PM
> To: plone-socia...@googlegroups.com
> Subject: Re: Google Soc 2008 Proposal about Plone Social Networking
>
>
>

Rudá Porto Filgueiras

unread,
Apr 1, 2008, 12:48:40 AM4/1/08
to plone-socia...@googlegroups.com
On Mon, Mar 31, 2008 at 11:44 PM, Dylan Jay <dja...@gmail.com> wrote:

You misunderstand me.

My understanding of the google apis are there are containers and there are
gadgets. A container is a site like myspace that lets you add other peoples
gadgets like for instance a photo slide show gadget like slider. A gadget is
a software as a service application, like a phot slide show gadget.
In terms of google terminology, I think a facebook app is like a google
gadget.

Ok, opensocial apps are like google gadgets ;-)
 

So we could make easy for Plone to be a container, or we could make it easy
for it to be a gadget. Both are perhaps useful.
 
Plone as a container:-
- It would be useful to be able to put a weather gadget in as a portlet or
into a users dashboard for instance.
- It would allow anyone creating a small social network site that is general
in nature (ie facebook clone), to have a huge range of plugins instantly.
- but it doesn't make your Plone instance more viral. It does nothing to
help get people to your site.
 
You mean Gadget Container Javascript? Like iGoogle?
Plone can show gadgets in viewlets or some iframe, like an iGoogle do, it's should be easy. :-)
But have some UI nice features, resize, borders, drap and  drop, etc, can be more difficult.

Plone as a gadget:-
- Allows someone to offer functionality or content made in Plone to others
inside the sites they normally use e.g. other opensocial containers.
- It allows a way for people to start to use your app or site, and share it
with their friends easily. By using it in facebook etc, and then hitting the
share button and picking from your list of users to share with.
- It helps make any given Plone site more viral.

You mean Plone as Gadget Server? It will receive a xml application, interpret it and wrap in container javascript code and return to client browser. It's not so easy for Plone to be a Gadget server, it must support the server side API.

To be an opensocial container we need all components defined in: http://incubator.apache.org/shindig/.


Patrick

unread,
Apr 2, 2008, 2:21:03 AM4/2/08
to Plone Social Networking
I can't speak for the technology side, but this is what I think of
Plone in a general sense:

Plone started out as a content site. So, it makes sense to start from
there and include "more": what do you do with the content and with
whom do you do it. That involves several activities such as
"collaboration", "sharing" and "viral marketing": the first 2 deal
with the content and involving others, the last two deal with the
marketing aspect of your content: being able to push it as far down
the network as is possible.

It does not make sense to me, to start the other way around. That
would be something Ning for example could do: they start out with the
viral, and the sharing and now they build in tools to create workflow
and other processes.

So in conclusion I'd have to be with Dylan here: you try to involve
others to participate on Plone content and you try to create
applications that will allow Plone's content to be used on other
platforms.

To do all at once strikes me as highly ambitious, but hey.. who knows
it's possible.

Dylan Jay

unread,
Apr 2, 2008, 2:50:32 AM4/2/08
to plone-socia...@googlegroups.com

I find their terminology very hard to understand.

I think we want to make it easy to make a opensocial app.

http://code.google.com/apis/opensocial/gettingstarted.html

Things like the examples here http://opensocial-examples.googlemashups.com/

 

Not to build a opensocial host.

 

So is that hard to do or not?

What would could we built to make it easy to make a plone site and opensocial app?

Rudá Porto Filgueiras

unread,
Apr 2, 2008, 9:23:57 AM4/2/08
to plone-socia...@googlegroups.com
On Wed, Apr 2, 2008 at 3:21 AM, Patrick <farlang...@gmail.com> wrote:

I can't speak for the technology side, but this is what I think of
Plone in a general sense:

Plone started out as a content site. So, it makes sense to start from
there and include "more": what do you do with the content and with
whom do you do it. That involves several activities such as
"collaboration", "sharing" and "viral marketing": the first 2 deal
with the content and involving others, the last two deal with the
marketing aspect of your content: being able to push it as far down
the network as is possible.

People and Community can be content in Plone, using b-org / membrane.
Activities are about content manipulations/visualization.
 

It does not make sense to me, to start the other way around. That
would be something Ning for example could do: they start out with the
viral, and the sharing and now they build in tools to create workflow
and other processes. 

So in conclusion I'd have to be with Dylan here: you try to involve
others to participate on Plone content and you try to create
applications that will allow Plone's content to be used on other
platforms.
 

To do all at once strikes me as highly ambitious, but hey.. who knows
it's possible.

My intent is to create generic infra-structure for Social Networking and not do all at once.

Christian Scholz / Tao Takashi (SL)

unread,
Apr 2, 2008, 9:29:22 AM4/2/08
to plone-socia...@googlegroups.com
Trying to clarify here:

- An OpenSocial container is an extension of being a Gadget container
- you can install gadgets in a gadget container
- opensocial gadgets are basically the same but have access to further APIs related to social networking: relationships (friends), local storage and activity streams (e.g. you can add something to the activity stream of the container network like apps on FB can add something to the Facebook activity streams)
- Gadgets are nothing more than HTML and JavaScript. You can access the gadget and opensocial APIs of the underlying container via JavaScript
- being an opensocial container means to implement the gadget container (which is Shindig) and adding the APIs for OpenSocial

Thus IMHO it only makes sense for Plone to be a opensocial container, not a gadget/app. Of course you can provide some JS libs to make it easier to access a Plone site somewhere but I think an app is a very specific thing so I am not sure what making a Plone Site being a OpenSocial app might mean.

As for the project I think it makes sense though to first build the underlying infrastructure. Before making Plone a container we of course need something the APIs can work on which means we need concepts like friends and relationships between them. And this is IMHO what we should start with.

-- Christian
--
Christian Scholz
Tao Takashi (Second Life name)
taota...@gmail.com
Blog/Podcast: http://mrtopf.de/blog
Planet: http://worldofsl.com

Company: http://comlounge.net
Tech Video Blog: http://comlounge.tv
IRC: MrTopf/Tao_T

Rudá Porto Filgueiras

unread,
Apr 2, 2008, 9:29:48 AM4/2/08
to plone-socia...@googlegroups.com
On Wed, Apr 2, 2008 at 3:50 AM, Dylan Jay <dja...@gmail.com> wrote:

I find their terminology very hard to understand.

Yeah! I'm not sure about all yet.

I think we want to make it easy to make a opensocial app.

http://code.google.com/apis/opensocial/gettingstarted.html

Things like the examples here http://opensocial-examples.googlemashups.com/

 

Not to build a opensocial host.

 

So is that hard to do or not?

What would could we built to make it easy to make a plone site and opensocial app?


You need only a Iframe to show opensocial apps in Plone.
But if you want to let opensocial apps use Plone content, it must implement all opensocial stack.
The architecture turn easy to create social apps but hard to server site.
The Apache Shiding project was created to turn easy the server site implementation.

Christian Scholz / Tao Takashi (SL)

unread,
Apr 2, 2008, 9:36:46 AM4/2/08
to plone-socia...@googlegroups.com
btw, for people in the London area, there is a Hackathon (what non-Zope people call a sprint) on Sunday:

http://opensocialapis.blogspot.com/2008/03/opensocial-hackathon-in-london-6th-of.html

There is also some talk about OpenSocial on the DataPortability mailing list:

http://groups.google.com/group/dataportability-public/t/330fa9d59cbfd9a9

-- Christian

Dylan Jay

unread,
Apr 2, 2008, 9:46:51 AM4/2/08
to plone-socia...@googlegroups.com

Making plone an opensocial container might seem on obvious way to go but think about it this way. How many opensocial containers does the world really need? Orkut, hi5, ning, etc etc. All are big sites with lots and lots of users. If someone is going to create a new site with plone its not going to be a ning, or hi5. ie a generalized social network that lets you share anything and everything with your friends.

Instead its going to be a neiche social network, like for sharing stories and spots to collect butterflies for example. Or for Chocolics or something.

So lets say I’ve built my new chocoholic plonesocial site. Whats the first thing I want to do? Get more users. How? One way would be to take a subsection of content or application from my site and let people use it from inside facebook or hi5 and share it with their friends inside facebook or hi5. Making my site more viral. How? By implementing the opensocial app api. For example, lets say I created a portlet which shows the current users fav chocolate recipes they selected from the site. What if the site admin, with one click can turn that portlet into a opensocial gadget/app, that users can add to their hi5 profile? And then other hi5 users could see and install into their profile? And each user could then click through to my chocoholic site and become a user of the actual site, increasing my userbase.

That to me seems more immediately useful than allowing my chocoholic users to put weather gadgets on their plone dashboards.

 


Patrick

unread,
Apr 3, 2008, 5:21:46 PM4/3/08
to Plone Social Networking
All: the process that Dylan describes is exactly the dynamics we are
facing. I would imagine 1000nds of sites where you would face the same
situation. I do not see how on earth Plone could lift itself to the
level of an facebook etc.. as a container, where anybody in his right
mind would use Plone for that.

Also see comment Alec... I think he makes it abundantly clear that one
should limit oneself and not go for something as broad as a container.
So.. I totally agree with the idea of first inviting the social graph,
and then developing your content in such a way that it's easily
pluggable in the BIG networks. That, philosophically also makes much
more sense in a networked world, where you want your plone site to be
one of the many hubs in a network, then.. THE MAIN hub.. where all can
be embedded on my Plone dashboard.

So my feeling would be that plone is an organization website, a niche
group website etc.. and you want to push that content as far through
your network as you can. Yes you want to be able to implement stuff as
well, but:
1) The trend is NOT to more myspace, but to less myspace and more
niche. In fact you will go to a structure where the social graph is
not even explicitly used anymore. In that context I think if you want
to create a Myspace-Plone you're way too late.
2) What IS a trend however is that websites: companies, NGO's and
communities alike, need a social component. So.. if you want to have a
CMS with a social component then that is what you can achieve.

We will definitely ask our team to move along this road instead of
working at some generalized Plone Social structure.


Christian Scholz / Tao Takashi (SL)

unread,
Apr 4, 2008, 5:30:19 AM4/4/08
to plone-socia...@googlegroups.com
Hi!

Just my thoughts on a container: Yes, we first should do other things but being a container makes IMHO also sense
in the long run. Don't think of being the next Facebook or MySpace but think more along the lines that social interactions
on websites might become pretty common in the future. Having something in place to allow adding applications might make
sense then.

The idea here might be: I have my site I like which does a special thing quite well and I am still able to add applications to it and does not need to move somewhere else. I also don't see that BIG networks in the future. The idea of Data Portability might lead to a way where such big networks are not needed anymore and you can plug'n'connect your own social apps together which are distributed over the complete net and not inside some walled garden.

Regarding turning Plone into an application I honestly have no idea how this should work.. Then it would IMHO make even more sense to code it in JavaScript directly and run it on Plone as a container and then move on because I doubt that some translation will work that seemlessly.

But maybe I am wrong. In any case though I'd think that such a thing comes later. That being said, if somebody wants to port Shindig to Python this would be a cool thing nevertheless and might connect us to that community around OpenSocial which might not be a bad thing in itself.

On Thu, Apr 3, 2008 at 11:21 PM, Patrick <farlang...@gmail.com> wrote:

All: the process that Dylan describes is exactly the dynamics we are
facing. I would imagine 1000nds of sites where you would face the same
situation. I do not see how on earth Plone could lift itself to the
level of an facebook etc.. as a container, where anybody in his right
mind would use Plone for that.

Also see comment Alec... I think he makes it abundantly clear that one
should limit oneself and not go for something as broad as a container.
So.. I totally agree with the idea of first inviting the social graph,
and then developing your content in such a way that it's easily
pluggable in the BIG networks. That, philosophically also makes much
more sense in a networked world, where you want your plone site to be
one of the many hubs in a network, then.. THE MAIN hub.. where all can
be embedded on my Plone dashboard.

So my feeling would be that plone is an organization website, a niche
group website etc.. and you want to push that content as far through
your network as you can. Yes you want to be able to implement stuff as
well, but:
1)  The trend is NOT to more myspace, but to less myspace and more
niche. In fact you will go to a structure where the social graph is
not even explicitly used anymore. In that context I think if you want
to create a Myspace-Plone you're way too late.

As said, that's not the goal. But you maybe also don't want people to move away from you because you don't offer an app container.
The idea about the social graph might be more that it's not bound to a particular site but moves with you. That's what the goal of the DataPortability project is,
 

2) What IS a trend however is that websites: companies, NGO's and
communities alike, need a social component. So.. if you want to have a
CMS with a social component then that is what you can achieve.

We will definitely ask our team to move along this road instead of
working at some generalized Plone Social structure.

Please also note OpenSocial != generalized social structure. It's really just an app framework. There might be parts though which can be reused for e.g. DataPortability purposes such as the opensocial contacts API.

But of course there are many ways to implement your social infrastructure on a site. Are asymmetrical relations shown or not, how does the signup work and so on. It probably will need some experimenation and experience to come up with some general but also configurable enough parts. And they should be small so they can be replaced easily if you need something else.

-- Christian

Kamon Ayeva

unread,
Apr 4, 2008, 7:52:17 AM4/4/08
to plone-socia...@googlegroups.com
Hi,

I think I agree with both of you, Patrick and Christian.

Let's start with "adding social components" idea, and later give
ourselves the possibility to implement complete niche social networks.

On Fri, Apr 4, 2008 at 11:30 AM, Christian Scholz / Tao Takashi (SL)
<tao.t...@googlemail.com> wrote:
> Hi!
>
> Just my thoughts on a container: Yes, we first should do other things but
> being a container makes IMHO also sense
> in the long run. Don't think of being the next Facebook or MySpace but think
> more along the lines that social interactions
> on websites might become pretty common in the future. Having something in
> place to allow adding applications might make
> sense then.
>
> The idea here might be: I have my site I like which does a special thing
> quite well and I am still able to add applications to it and does not need
> to move somewhere else. I also don't see that BIG networks in the future.
> The idea of Data Portability might lead to a way where such big networks are
> not needed anymore and you can plug'n'connect your own social apps together
> which are distributed over the complete net and not inside some walled
> garden.

Yes.
In the future, social networks might indeed be decentralized as
offline social groups are anyway.

Regards,
Kamon

Christian Scholz / Tao Takashi (SL)

unread,
Apr 4, 2008, 10:02:06 AM4/4/08
to plone-socia...@googlegroups.com
As a side note: Chris Saad will do a keynote presentation about DataPortability at The Next Web Conference in Amsterdam in 10 mins. Live stream here:

http://thenextweb.org/2008/04/03/the-next-web-conference-live-videostream/

There will also be a meetup with him in London on sunday (I will be there):

http://upcoming.yahoo.com/event/462878/

-- Christian
Reply all
Reply to author
Forward
0 new messages