I'm running up against this too. What has evolved in this social
network are two parallel authentication systems, two web servers, two
databases, and parallel but different rosters and friendlists. It
can't continue this way, for us, and while I've known from the
beginning of ways to better integrate these two, unless I go
completely XMPP I can't escape the duality, and if I do, I lose the
advantages of the ease of implementation of the LAMP architecture. If
there were a simple abstraction, as Sergey mentioned, that would
allow me to use different transports, gateways, and authentications
under one umbrella, I would be in heaven.
Aaron
On Mar 31, 2008, at 4:56 PM, Sergey Nazarov wrote:
Anders, let me first note that I'd like XMPP to become an
infrastructure for the next-generation social networking services.
What I'm trying to do is to figure out, what is the best way to
implement such infrastructure. By "best way" I mean the approach
which will require less LOE, be scalable and service-independent.
On Tue, Apr 1, 2008 at 1:15 AM, anders conbere <[EMAIL PROTECTED]>
wrote:
Most social network services today provide tools for a set of people
with share interests. Be it TripIt, LastFM, or Facebook. For lots of
these networks they derive their valuation from a locked in user
model. But for smaller Social Network services they're value for the
creators is in (for the most part) the quality of the users
participating and the number of users participating. That means for
many services it behooves them to work on top of large pre-existing
social networks and leverage the mass of users and the low cost of
participation that affords them.
I'm suggesting that one of the most accessible and valuable networks
these social network service creators could leverage is the jabber
network.
Why?
1) it brings an API
Adding and removing friends is already taken care of, works across
networks, means you don't have to think about it. The authorization
type friend enforcement of XMPP rosters is perfect for social networks
and already designed
2) it brings tools that are harder to build
Creating your own messaging tools and systems is a pain, but they
are easy to build on top of XMPP. Presence is even harder, but is once
again elegantly handled with real time updates from XMPP servers.
3) it brings with is a large pre-existing network of users, tools for
management (chat clients), and it's distributed to interacting with
that network is easy.
4) it doesn't build value in other competing companies
That is, it's not OpenSocial on top of MySpace, and it's not a
Facebook app. The time and effort you put into it goes into a) the
network and b) your service.
so if you accept the premise that social network service creators are
looking for a tool like this (and you should based on the facebook app
and open social stuff), then it should be easy to see that XMPP is
bringing a whole slew of tools to the table for them. It's easy to
think of XMPP as only being about message and presence and forget that
they have a large pre-existing social network built in a powerful
distributed way, and that finding ways to use that network more
effectively is also an incredible purpose.
So to sum up
There are already tools out there, either in use or being created that
work to leverage the roster in XMPP (see importing contacts from
gmail). These services aren't getting the full power out of xmpp
rosters, they aren't pushing the data that the build in their networks
back into the jabber ecosystem, they are accepting users credentials
which means they can do "bad" things to users data, and more. That
means that xmpp is both missing out on providing those networks with
new tools, and ones that would be a net win for the ecosystem of XMPP,
but also not reacting to the new uses in ways the benefit the users of
XMPP.
This concept... for whatever reason is extremely difficult to sell to
XMPP people, and much easier to sell to social network creators.
~ Anders
Consider the following example. There is a social networking
service, The A. I've got a girlfriend and a friend. All of us are
"The A" users, and, of course, I have both my girlfriend's and my
friend's JId in my roster. Me and my friend are "friends" in terms
of "The A", but me and my girlfriend are not. In case our JIDs are
user IDs in "The A", XMPP will not know how to handle such complex
relationship between us.
On the other hand, using gateways will hide our real JIDs behind
aliases, making it possible to handle our relationships.
It would be very interesting to see the overall archetecture we
could use. Gateways seem to be the most suitable solution for me
now, but I'm eager to hear other suggestions.
--
Best Regards, Sergey Nazarov