social-discuss
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Social-discuss] Which framework?


From: Adrian Thurston
Subject: Re: [Social-discuss] Which framework?
Date: Sun, 28 Mar 2010 10:59:13 -0400
User-agent: Thunderbird 2.0.0.23 (X11/20090817)

Hello GNU-Social,

My name is Adrian and for a long while I have been interested in distributed social networking. I'm the person behind DSNP, which has been mentioned here before. DSNP has been a great learning experience for me, and fun too. At one point I had my immediate family using my 2-node network of social-networking sites.

Unfortunately, it has grown to the point where it's too much work for me to do alone. Either I must redirect my efforts to another project with momentum behind it, or stop development. I'm hoping that GNU-Social can be that other project. For that to work there needs to be some harmony of design ideals. So here I present mine:

Separating a social application into backend and frontend is the right approach.

The backend is basically a message distribution system and associated database that is aware of social concepts. I think we should not be afraid of designing and implementing a new protocol. A new protocol will give the maximum freedom to make what we need. Piggybacking on other protocols means also piggybacking on the design goals and limitations of those protocols.

The frontnend provides the user's view into the social space. For this you use a language like PHP.

-Adrian

Henry Litwhiler wrote:
I've said it once, and I'll say it again: PHP is a valid frontend option for GNU Social, but I would strongly question it's suitability for the backbone of a project such as this. A small, fast, desktop application that users run to change settings, and serve out data to other users could be written in something like Python.

How about such an application runs in the background on all GNU Social computers (or, because it's been suggested, ARM-based power-outlet-sized computers) at all times, receiving new posts (if it gets turned off, it will load everything it's missed from the network) and sending out data. Rather than having everyone running their own server, with their own GNU Social PHP install serving data to /everyone/, we could use the PHP install as a /private/ GUI - users point their browser to 127.0.0.1, and load up a Facebook-like application with *all* their friends' latest posts, images, videos, etc.

This particular itch (the need for an easy, extensible GUI) is certainly best scratched by PHP. But to make PHP the backbone of GNU Social would be a gross misuse of PHP - it simply isn't designed for (nor is it best for) such a task, whereas something like Python /is/.

The Python application wouldn't display things to the browser, and I'm not saying that we use Python to replace PHP's role as our web application language - instead, we can use it to manage the backend communications between GNU Social users.

--
Henry L.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]