What is a bare-bone social network?
So, what does a social network, gnawned off all flesh, look like? What’s the bare-boned of all bare-bone social network functionality?
As I am thinking through a social networking platform-to-be, I have to weigh between tools users need to gain a benefit of participating in the net — i.e. their reason to participate at all — and efforts/expenses resulting from offering those tools.
Having Xing in mind, you might think: anything less than what they offer in networking capabilities, hardly can be called at social network at all: User Profiles, Contact List, the chance to message other Xing users, the chance that a user sets up own groups, plus group management, including an event calender for every single group, group member administration, group ‘profile’ page, a forum which can have multiple threads, and multiple messages each thread. It looks like being little — but in fact already is a lot.
Ning and Mixxt, just to mention some white label social networks I am aware of, at least lack the chance that your users (i.e. of the network you set up) set up groups. That’s only a minor compared to all the rest of what Xing offers also. But it is an important minor: It reduces the number of chances your network’s users can take advantage of participating in your net: They’re hindered from parting from other groups of your platform, they cannot define their own goals, nor set up their own events: Every single participant is nailed to stick with the rest of the network. — So, what do you think what big can your network grow?
However, skipping my critics on some white label social networks and how Me Too many social platforms look like, for now, if you’re going to build some social network framework of your own, I think, the most fundamental bit of it is to implement the fundamental social graph: To enable your users to participate on your social network, however rudimentary it may be, originally, the most important and probably only thing your users cannot do without, is a login — which makes them being members of your platform — and a chance to connect to other members — which results in the social graph of your platform.
Creating the login might be easy — so far, I didn’t do this by myself: You need a single table, featuring username, password (or hash of a password), and e-mail address. For a basic social network you don’t even need to know the user’s real name, address, gender or whatnot. You neither need an avatar image for the user. But later on, you might want to add these.
The next thing you need is to give the user the tools they need to create their personal one-degree social network — that is establishing links to their contacts. Therefore, key for doing so is the contact list: People fill their fellows to that list, effectively creating that one-degree network of their own. — To provide your users with that chance equals providing matching tools to your users: Let them search for known nicknames/mail addresses, let them add the fellows they found to their own contact lists.
Whenever your users don’t find someone they look for on your platform, offer them the chance to invite people from the outside. If the buddy list allows a user to throw a glance at peer profile pages, your platform already implements the core — and already features one asset, one thing people — especially if they’re new to social networks — often demand: a chance to collect all their friends. — Apparently, that’s also what the beforementioned white label social networks mainly offer; but after having entered the third social network, people usually get fed up adding their friends again and again, hence they the begin to skip this step — and if they do so, what benefit does a platform provide that focuses especially on this feature?
(Another thing is what makes a social network be anything special. My personal opinion in this here is, that any social network that wants to be successful — in terms of attracting and keeping users –, needs something special in it. Have a look at LastFM, Couchsurfing, 43 Things or beforementioned Xing to get an idea of what I mean. In my humble opinion, a white-label network per se cannot provide any such special feature, simply because being white lable, those are directed to be a tool for lots of different networks, i.e. people. If each of these networks would like to be something special, the white label social network provider would need to either fulfill these demands for every single demander, or they’d need to open their API. Whereby the latter might increase security risks largely. Therefore, they can go neither way. Therefore, I think, white label networks probably can never serve anything special.)
As mentioned above, I didn’t implement any social network from scratch so far. So when anyone of you is aware of some code (preferably Ruby/Rails or PHP) which demonstrates implementing the fundamental social graph, please let me know in the comments!