Skip to main content

Social Networks: The power of symmetric relationships

A recent post on the blog by Joshua Porter, highlights the difference between relationships on Facebook and those on Twitter. Essentially on Facebook, relationships are made when a request for friendship is accepted by a person, adding both on each others contact list. If in time one person removes the other, the relationship is broken as the other will notice they are unable to contact the former friend without sending another friend request. This is a symmetrical relationship as it goes both ways, the other type of relationship is the assymetrical type that Twitter uses, you can follow some one without them following you, this allows people to expand their follow network without having to wait for confirmed friend requests, similarly others can follow you without requiring explicit confirmation. Essentially the default nature of Twitter conversations is as a broadcast to ALL that care to listen, where as with Facebook, the broadcast is to those who reciprocally wish to "hear" one another.

The argument is made in the post that the assymetric model is better for Facebook to persue because of the ability to allow users to rapidly expand their social network without requiring confirmations. I agree that in a social network such as Twitter it is better, as the broadcast model is best served but there are some important constraints architecturally to the choices. Twitter's broadcast to any , assymetric model makes the process of updating followers significantly more tedious than for a symmetric model which has a relatively limited number of managed relationships. The Twitter API showed the weakness of the need to propagate so many updates to so many followers per tweet in the early days when it had many outages. As it grew it stuttered under the sudden spikes on the architecture when tweet floods propagated through the system. Even today, the site still experiences "the whale" when load spikes. The real time nature of Twitter that makes it so valuable as a means of notifying "who ever is listening" also exerts crushing demands on the architecture. The assymetrical model allows fast scaling of a users social network but exacts the cost from the fragile infrastructure of Twitter. A recent architectural redesign has mitigated some of the issues but as it continues to grow , the exponential nature of broadcasting assymetrically will continue to dog the infrastructure. Conversely, Facebooks symmetrical model is much less prone to the effect of spikes as users send status updates. The scope of the updates is limited to their friends , which tend to be significantly smaller than the number of followers on twitter. Recently the addition of "Pages" replicates the asymmetrical model of Twiiter. Facebook is much bigger than Twitter and has over all more load but it also has a much larger infrastructure of nodes distributed across the globe to handle the load. However, the usefulness of assymetric networks varies with the social network. In a business that has an intranet that allows employees from different departments to collaborate, having an assymetrical model for some users and symmetrical model for others could be very beneficial. For example, for the members of various departments in the company , the social network should be restricted only to the members of those departments. Sales, Tech, Biz Dev...etc. This ensures that the conversations had between members are relevant to the department they share. However, the ability to have assymetrical communication between say the CEO and the rest of the company (regardless of their department) should also be possible. In a business social network a hybrid of the two models, controlled by relevant security is ideal. The goal in this case is not to reach as many people as possible but on the one level (department) reach specific people sharing work related functions, and on another it is reaching everyone in the company. By granting selective ability to broadcast events to these different users based on the position of the sender in the company, greater utility can be made by the business of the service. Allowing the relationship types that are most efficient for the networks that arise in business is important and will vary from business to business. So far, neither Facebook or Twitter allow this functionality for a business...allowing the business to control the social networks within its virtual walls by weaving the use of symmetric and assymetric forms and tying the interactions under a secure umbrella. The site provides this secure combination of network types and allows businesses to deploy and manage them easily using what are called TimeLine Events. I'll be revealing more on TimeLines and how they facilitate efficient business networks in subsequent posts.


Popular posts from this blog

Highly targeted Cpg vaccine immunotherapy for a range of cancer


This will surely go down as a seminal advance in cancer therapy. It reads like magic:

So this new approach looks for the specific proteins that are associated with a given tumors resistance to attack by the body's T cells, it then adjusts those T cells to be hyper sensitive to the specific oncogenic proteins targeted. These cells become essentially The Terminator​ T cells in the specific tumor AND have the multiplied effect of traveling along the immune pathway of spreading that the cancer many have metastasized. This is huge squared because it means you can essentially use targeting one tumor to identify and eliminate distal tumors that you many not even realize exist.

This allows the therapy for treating cancer to, for the first time; end the "wack a mole" problem that has frustrated traditional shot gun methods of treatment involving radiation and chemotherapy ...which by their nature unfortunately damage parts of the body that are not cancer laden but …

Engineers versus Programmers

I have found as more non formally trained people enter the coding space, the quality of code that results varies in an interesting way.

The formalities of learning to code in a structured course at University involve often strong focus on "correctness" and efficiency in the form of big O representations for the algorithms created.

Much less focus tends to be placed on what I'll call practical programming, which is the type of code that engineers (note I didn't use "programmers" on purpose) must learn to write.

Programmers are what Universities create, students that can take a defined development environment and within in write an algorithm for computing some sequence or traversing a tree or encoding and decoding a string. Efficiency and invariant rules are guiding development missions. Execution time for creating the solution is often a week or more depending on the professor and their style of teaching code and giving out problems. This type of coding is devo…

AgilEntity Architecture: Action Oriented Workflow

Permissions, fine grained versus management headache
The usual method for determining which users can perform a given function on a given object in a managed system, employs providing those Users with specific access rights via the use of permissions. Often these permissions are also able to be granted to collections called Groups, to which Users are added. The combination of Permissions and Groups provides the ability to provide as atomic a dissemination of rights across the User space as possible. However, this granularity comes at the price of reduced efficiency for managing the created permissions and more importantly the Groups that collect Users designated to perform sets of actions. Essentially the Groups serve as access control lists in many systems, which for the variable and often changing environment of business applications means a need to constantly update the ACL’s (groups) in order to add or remove individuals based on their ability to perform certain actions. Also, the…