So I'm trying to make my own private network, where my friends share my data and can get updates if they like.
The first use case is for family histories: I've started collecting histories of my ancestors, and I'm part of an organization with a large family database. Now, I've put up a search where someone can find histories for people in their own ancestry. The next step is to enable a text search through those histories, and also allow people to add other histories to the collection... but I've realized that, rather than build a central internet service where people go, I'd like to make it easy for people to have their own copies and use it all in their own private network. I plan to share history (or even personal) files such that friends will get updates easily, then allow for tagging the history files with genealogical identifiers so that people can pull the ones of interest... and maybe even just pull pieces of data, such as small bits of data that might be part of my own ancestral database.
Does this kind of stuff already exist? If so, please send me pointers. If not, this may deserve a name... maybe P2P with events.. P2P3. :-)
Here are some some other projects and people I'm watching closely:
- anything about the "personal data store/locker"
- Pull by David Siegel
- VRM, information cards
- Google's Data Liberation Front
- Phil Windley, Doc Searls, Dave Winer
- Diaspora (a distributed social network)
- something Sam Curren is doing (dunno what yet)
(Wow. I started writing this to share some concrete ideas, and it just devolved into a general overview with no details; I even published that stuff above, forgetting my original intent.)
Here are my requirements:
- Share files with selected people
- Share groups of files with groups of people
- Share between individuals without the need of any central server
- Notify me about changes to files, and show me just those changes
- Notify me about new files someone has added, and let me choose whether to add it to mine
- Ideally: do the same for bits of information, such as ancestor data found in a history
- Install easily on Windows, Mac, Linux
So here's my somewhat-more-concrete plan:
- Find some P2P program to leverage for sharing files (AllianceP2P looks interesting)
- Build plugins or something that defines which files to share and with whom
- Manage additions, eg. when a history file is added then my network will be notified of the addition
- Manage updates, eg. when a blog file is updated then my network will be notified of the update and be able to review the change
- Manage changes to linked data (and this part could be really fun), eg. have an ancestor database that notifies me when there's a change to the dataset (RDF?) in the histories in my ancestry while ignoring changes to branches that aren't in my line
- I can use AllianceP2P to define my own network of people and files to share. Use that as the transport to sync files, and write a local app to detect changes to files and allow me to see the updates.