?

Log in

No account? Create an account

March 11th, 2010

Making Social Networking better...

This is a technical overview of my ideal Social Networking experience; one which I'd even be interested in creating, given enough time...

We begin, of course, with a user, who creates an account and populats their account with their meta-information including the person's name, email address, birth year, birth month, birth day, work locations, alma maters, etc.

Every piece of information provided to the site has an associated access control list (acl, or ackle) which is a set of rules processed in sequence to determine whether a person trying to access the content has permiss.  A rule is very simple, it specifies "who" and "access".  "Who" can be either an individual or a group.  "Access" is always 'permit', or 'deny'.

Any user can create an ackle group, which exists only for the user and identifies multiple users.  For example, a user can create an ackle group for co-workers, and populate it with all of their relationships which are co-workers.  That co-worker ackle group will exist only for the user that created it and will not be accessible to any of the co-workers in the group.  Ackle groups exist solely for permitting and denying access in an ackle.

There are three default ackle groups: 'everyone', 'members', and 'acquaintances'.  Any rule for 'everyone' really means 'everyone except me', and will affect access by all users excepting the owner regardless of whether the user has an account or not.  Any rule for 'members' will affect access by only the members of the site.  Any rule for 'acquaintances' will affect access by only people with an existing relationship with the user.

The first rule of every ackle is always an 'everyone' rule.  By default, all information shared with the site excepting usernames begins with the ackle "everyone: deny", which is the highest possible privacy setting.  Usernames begin with the ackle "everyone: permit".

A new user must change the ackles on their personal information in order to become findable by whomever they desire to be findable by.  Keep in mind that at this point, the user has no existing relationships, so only information that is available to 'everyone' or to 'members' will make them findable.  It would therefore be a good idea for the user to set at least some of their fields with an ackle of:
  1. everyone: deny
  2. members: permit
which would allow any other member to search for the user based on the criteria made available.

Relationships can be established by finding any other user on the site and adding them as an acquaintance.  Relationships are uni-directional; they do not need acknowledgment.  When a relationship is established, a message will be sent to the person who is being added.


I'm out of time for right now.  I'll pick this up where I left off in my next post...

Making Social Networking better, part 2

As I was saying...

Relationships can be established by finding any other user on the site and adding them as an acquaintance.  Relationships are uni-directional; they do not need acknowledgment.  When a relationship is established, a message will be sent to the person who is being added, giving them the option to become an acquaintance in return.  Becoming an acquaintance can actually serve to provide additional access or further restrict access if you choose.  For example, if a stalker adds you as an acquaintance, you have the option to add them back and then add them to an ackle group which the user can arbitrarily call 'assholes', and then add the rule 'assholes: deny' to any ackle.

When a relationship is added, it is treated like any other piece of information.  The existence of the relationship will have its own ackle, permitting or denying others from seeing that the relationship exists.

For convenience purposes, ackles can receive arbitrary, user-determined names and thereby be re-used.  If an ackle name is used for setting restrictions on any piece of information, updating the rules within that named ackle will automatically change restrictions on any piece of information that uses that named ackle.  Because of this, modifying a named ackle will automatically prompt a user to determine whether they want to actually modify the ackle or to create a copy of the ackle and associate it with a new name.

At any time, a user can review all pieces of information that are affected by named ackles.

At any time, a user can view their own information as if they were any other user, in order to review and verify that the correct information and only the correct information is being presented.


I _think_ this is the end of my discussion on accounts and access.  Again, I'm out of time, and will begin a new entry to discuss how entries are managed.

Profile

xsg
XSG - 1 G 2 Many
miscreants 3.0

Latest Month

June 2010
S M T W T F S
  12345
6789101112
13141516171819
20212223242526
27282930   

Tags

Powered by LiveJournal.com
Designed by Teresa Jones