2010/3/27 Matt Lee
<address@hidden>
On 03/27/2010 09:08 AM, Carlo von Loesch wrote:
> No Matt, I have to disagree with this impossible design goal.
> If we stay in PHP playground land without a proper backend protocol
> we will only be able to make yet another web-based social engine
> without a scalable real-time link to the rest of the world.
Please don't be disparaging to PHP.
> A social network in a Facebook style generates events a go-go.
> Each time a user adds a comment somewhere, each time a user likes
> something, writes an update, joins a group or adds a friend.
> Every time a notice needs to be distributed to all peers.
> This is a one-to-many operation that hasn't got a ghost of a chance
> of scaling if implemented as a round-robin series of HTTP calls.
How many friends does the average Facebook user have? Even it's its
10,000 -- I can't see why if I publish a status update, 10,000 other
servers couldn't access a URI, similar to an RSS feed, and get the info.
FYIL From facebook stats:
http://www.facebook.com/press/info.php?statistics
Average User Figures
Average user has 130 friends on the siteAverage user sends 8 friend requests per month
Average user spends more than 55 minutes per day on Facebook
Average user clicks the Like button on 9 pieces of content each month
Average user writes 25 comments on Facebook content each month
Average user becomes a fan of 4 Pages each month
Average user is invited to 3 events per month
Average user is a member of 13 groups
Even on the cheapest and nastiest of web hosting.
> Is there some magic trick I am not familiar with that allows us to do
> real protocols on persistent TCP connections on so-called "commodity
> webhosting" or should we rather create such a profoundly important
> technology that will influence "commodity webhosting" in such a way
> that it will become common to support gnu social?
We should focus on making something simple, which publishes its own
updates in a way that other servers request them in a timely manner,
rather than the individual server pushing them out.
And we should do that in the lower common denominator possible -- PHP
with a RDBMS.
Only then will the average computer user be able to quickly set up or
obtain/purchase GNU social service from a willing provider.