http://www.red4est.com/ifiknewthen/onlinecommunity.txt Time-stamp: <2004-02-10 11:55:03 lrc> Outline for architecture for an online community The community would need to be supported either by being entirely peer-to-peer, donations, or subscription for some service. Features: All communications would need to be digitally signed (or ideally encrypted and signed) to prevent spam, assure access control, etc. There are some features that would be most efficient if hosted on a central server. Ideally this data could be mirrored on other servers, even though that would mean propagation delays when data was updated. Things like pictures, blogs etc. would be best stored on peers on the network, with pointers to the data stored at an appropriate place (or on the central server and mirrored) Have an online calender feature where you can send people calendar entries, like you would email (though they need to be signed and accepted before going into your calendar). This way events for clubs and such can be sent in a calendar format. Do an online version of the nexus book, or friendster's interests. The model that I've been thinking of is a heirarchical model, where you can follow interests down trees: Dancing victorian, ballroom Swing East Coast, West Coast, Country, Lindy Hop Savoy Hollywood Vehicles Motorcycles British Japanese Honda Racing AFM AMA Marques German Cars Marques British Austin Healey MG MGB roadster GT 1969 Midget Triumph Jaguar Japanese Honda Toyota Mazda Racing SCCA Improved Touring ITC NASA Of course, to do it right, you should be able to set up linkages so that Vehicles-Cars-Racing-Laguna Seca gets you to the same place as Sports-racing-Laguna Seca-Cars This would probably just require string matching when people add new groups in the hierarchy where they can put in links to equivalent nodes. There would also be temporal based connections, kind of like the way classmates does it. It could be nifty to make any interest be a potential discussion forum. People would have the option of various means of notification about new messages in that forum, and whether or not they even wanted to be notified. Rather than marking an interest as a boolean value, it could be a scalar. That might improve using interests for matching. It would also be good to be able to list interests as private or public. Someone may not want the world to know that he has an interest in erotica->pictures->smoking->hedghogs but even so, wouldn't want to miss out on the the latest pr0n. ------------------- If you want to do dating matches, have questionaires that get filled out with numerical values. Each question would have several fields: my value the ideal value of the person that I'm looking for minimum acceptable maximum acceptable importance (multiplier) Point value for perfect match ---------------------- This data might be for physical characteristics height, weight, measuerments Personal opinions strongly diagree to strongly agree behaviour ( how often you smoke, drink etc.) Some values might actually work best as logarithms -------------------------- There's a new site, okcupid.com which seems to do something similar to this. They have multiple choice questions, and a weighting system for the answers. Users can add their own questions. It'd be better if they allowed you to catgorize questions, so you could fill out the questions for "sexual preference", or the questions for "dancing" or "hobbies", political alignment. ---------------------------------- By keeping track of date and location of birth, this numeric data could also be used to see if there were any basis for astrology. Apply an FFT to each question and look for periodicity. ------------------------------------ There should be more than one geographic locale available Home Work Play Possibly multiple locations for each. For example someone might live in 95018, work in 94063 and play in 95616 -------------------------------------------- Values used for matching should be stored on a central database, though they could point to a questionaire and the text of the questionaire could be stored elsewhere. -------------------------------- Make it possible to "rate" people's profiles, pictures ads etc. You can either do so anonymously, or "sign" the rating. ----------------------------------- There should be discussion groups/forums ala usenet or BBS's Some may be private, or by invitation, others, public. ----------------------------------- There should be a blogging feature. Perhaps using the forum software. Possibly like slashdot where the person who owns the blog will post something and others can comment on it. ---------------------------------------- Able to post ads ala craigslist. They should be able to be posted anonymously, i.e. so that noone but the system administrators could see who posted them. It would be tricky to do this on a mirrored system and still maintain privacy. --------------------------------------- Able to turn off visibility to any portion of your personal data, except in an as granted permission basis. ------------------------------------ The concept of a network of friends, ala friendster is cool. It would be nice if they could map them out more than one layer deep. It would also be cool if when you asked about someone, all your connections were listed, even if you already had a direct connection. --------------------------- Rate the strength of connection. Each edge has a weight of 1. Though it would be cool to rate the strength of a connection, 1 would be someone extremely close, 10 someone not very close. Connections are added like networks of resistors. If you have a direct connection to someone, you have a rating of 1. If you both know one person in common, then you have a rating of 2. I.e. two 1 ohm resisters in series. If you know two people in common then the it would be a rating of 1, i.e. two 2 ohm resistors in parallel. There would be some threshold below which connection paths would not be added. ------------------------------ It would be fun to combine the b-geek incest chart (charting intimate connections) with friendster. Perhaps have different sorts of connection trees: friends co-workers family lovers So some of these trees may be directional (parent/child, boss/employee) ...