This weekend, I think I'm going to start working on a new system project. I really just decided to start working on it, and I haven't really solidified the idea yet in my mind, but it's basically a public face for my family. My family consists of myself, my wife, and two daughters who are surprisingly computer literate given their young ages (7 & 3).
I am a technology consultant and in addition to keeping my resume online, I typically communicate with my customers, friends, and family through e-mail, iChat, Skype, twitter, facebook, flickr, and a handful of blogs. My wife is a housewife, who communicates with family and friends using e-mail, iChat, MSN Messenger, Skype, and Facebook. My oldest daughter keeps a blog and communicates with family members through e-mail and iChat. My youngest isn't quite ready for written communication, but could probably figure out something like Skype if she had her own computer (which she will once she graduates to Kindergarden).
So we have a variety of systems that we use to communicate with friends, family, and, in my case, business contacts. My wife hasn't complained about it, but I personally hate having to use 8+ different systems to communicate. I want something a little more consolidated, and something my whole family can use.
I've decided that the system I want to build should be a social networking system that builds a community around my family, and allows myself and my family members to communicate with that community. I want this system to be reproducible so that I can give it to my extended family, so my parents can have their own social network, so my brother can have one for himself and eventually for his family when he starts one. I want to give it to my wife's family as well, and eventually, to families around the world. I could also see this system making the jump to companies, schools, and other "families" of all sorts.
Why would I want to do this (besides consolidating all of my social networking tools into one)? I want to do this primarily because all of the existing social networking systems out there are geared towards the individual. I have a personal facebook account, and so does my wife. But we can't really have a family facebook account, even though sometimes that's what we really need. I can't count the number of times my wife has been frustrated that she doesn't have ownership of the images that I upload through my facebook account, even though she's just as much an owner of them. So I want to develop a system that takes more than just individual ownership into account.
So what are the basic features that the system needs? I want to include at least the following functionality:
Each member of my family should be able to keep a personal blog. Blog posts should be taggable, support comments, and, since this is a consolidation of all my blogs into one, have the ability to set distribution channels. When I create a blog post on this system, I should be able to indicate that I want the post to be distributed not only through my personal blog, but also show up on my work blog, or the family blog, or any of the other blogs to which I contribute. Comments on any of those blogs should make their way back up to the parent post, and from there back down to all the other distribution channels, keeping the comments from all systems in sync.
I also want to build in a micro-blogging system, similar to twitter. I don't necessarily want to write a full blog post every time I feel like saying something to my network. I haven't fleshed out the functionality that I'd like to see here, but I'm thinking it should at the very least be able to integrate with twitter and facebook. Posts to my personal micro-blog would be sent out as tweets or facebook status updates.
The wall is a way for my community to communicate back with me. It would need to aggregate @replies sent to me through my twitter account, posts to my facebook wall, comments to my blog posts, and allow my community to post directly through my page.
In addition to my wall, I want a more private way of communicating. So I should be able to send and receive direct messages. This needs to tie into twitter's DM feature, Facebook's private messaging feature, e-mail, and instant messaging.
It should be real time, or as close to real-time as possible. It should support text, voice, and video. It should be able to inter-operate with Jabber, MSN, e-mail, facebook, twitter, skype, and SMS.
I should be able to upload photos from my computer (or phone) and distribute those photos through multiple "photo streams", including on my flickr account, mine and my wife's facebook accounts, and of course multiple streams directly on the system. I should be able to tag and geo-tag photos.
I should be able to upload videos from my computer (or phone) and distribute those videos through multiple streams, including youtube, flickr, facebook, and within the system itself. Videos should also be taggable and geo-taggable.
Several features, such as blog, micro-blog, photo and video streams, and the wall, all lend themselves quite readily to being syndicated through RSS, so everything should have RSS capabilities.