Shared interests on social networks

As we proposed earlier, sharing interests is the core part of our social network. Users express their interests in order to find others with the same tastes. There are researches available on the topic of interest-based social networking that we selected and evaluated to become familiar with. In this post we prepared a review of these studies.

Laura Dietz in the paper, ‘Inferring Shared Interests from Social Networks’ evaluated two relevant models of “the citation influence model” and “the shared taste model”. These two models focus on shared interests in social networks. The aim of these two models is exploiting the graph structure in order to learn shared interests by extending latent Dirichlet allocation. Dietz summarised her evaluation of the two models and pointed out, “the shared taste model identifies the common taste of each friendship and thus yields slightly more fine-grained topics, where the citation influence model learns topics shared by a neighborhood of nodes”.

In the conclusion of her paper, Dietz stated that

“in a society that suffers from information overload, inference of and filtering using shared interests will help people to focus on information the are ultimately interested in.”

Laura Dietz in another research devised a probabilistic model in which tastes explain both friend relationships and item interactions as latent factors. Dietz in the paper ‘Modeling Shared Tastes in Online Communities’ writes about the study of tastes that are shared by friends.

In this paper she mentions, many online community platforms store data about users, their relationships and their associated “artifacts” like songs, books, pictures, or scientific publications. Users in a social network gather in groups of shared interests where such interests drive friendships and friendships drive interests. Dietz compared Zune Social and Xing as running examples to support her argument.

Zune Social is the online community to go with Microsoft’s portable music player Zune. Zune Social allows users to subscribe to playlists of their friends. This functionality may be unsatisfactory if the friend listens to diverse kinds of music, of which only few aspects are shared with the subscribing user. Re-weighting the friend’s playlist to match the taste shared by both friends will improve the user experience. Most platforms display a user’s friends as a long and unstructured list of entries; some provide a graph representation, which is often too dense to provide the user with a meaningful overview. A few platforms such as Xing allow users to tag their friends manually, using those tags to improve search and visualization. This functionality can be further improved by automatically grouping friends or coloring/partitioning the friendship graph according to shared tastes, alleviating the user from manually creating and updating tags for their friends.

“Shared tastes can be used to predict common preferences of befriended users, predict further item interactions, and give an overview about the network of users that share the same taste”, Dietz concludes the research.

People with the same interest

Other studies read on the concept of interest-based social networks:

Posted in Related academic works | Tagged , , , , , , | Comments Off on Shared interests on social networks

APIs – Fetching User’s Interests from Existing Sites

To help make the process of adding interests to the user’s interest list easier, a number of APIs from other websites will be considered to fetch the user’s interest information if they are members of the other websites.

Facebook

To save users time and the trouble of registering, Facebook authentication can be used to allow users to sign into Hive using their Facebook account. When signing in, Hive will request access to certain information about the user from Facebook, and the user must accept this to proceed. Follow this link for more information: https://developers.facebook.com/docs/guides/web/#login

  • Facebook Platform uses OAuth 2.0 for authentication and authorisation.
  • The JavaScript SDK should be used to access Facebook’s API calls.
  • Hive must be registered with Facebook to receive an App ID which must be used to authenticate the website.
  • Using the “scope” attribute, Hive can request permission to access certain data from the user’s Facebook account – by default, Hive will receive the user’s basic information (name, user picture, gender, and locale, but these will not be saved without permission after login since they are optional details for the user to give), but it will also request the user’s email address using the “email” property, and the user’s likes (interests) using “user_likes”.
  • When the user initially signs in via Facebook, they will be presented with the fetched list of “likes” and asked to review and remove any that are not appropriate since some “likes” may not be an interest.

Spotify

Users of Spotify have a “Top List”, a feature on Spotify which lists a user’s top ten music albums and artists they listen to. Using the Spotify API, Hive can fetch the Information on the user’s favourite music. Additionally, a user’s Spotify music library can be fetched, with unique artists or bands added to their interest list. More information is available at: https://developer.spotify.com/technologies/apps/docs/beta/77bb3cd334.html

The API is known as the Spotify Apps AP and uses HTML5, CSS, and JavaScript, so it should be able to be integrated within Hive. An existing Spotify account is required, and it must be upgraded to a developer account. An App Concept Submission Form must be approved by Spotify before work can begin.

Netflix

The Netflix API has no call to retrieve a user’s favourite/most highly rated movies, only a user’s rental history. However, the API is able to give a user’s recommended movies, so this list of recommended movies could be a factor used to aid Hive’s own recommendations. Additionally, this list could be compared with other user’s lists for similarity which could increase the chances they are recommended to each other to become friends. More information is at: http://developer.netflix.com/docs/REST_API_Reference#0_53250

Hive needs to be registered with the Netflix Developer Network for a consumer key and shared secret. User login is done using OAuth authorisation.

Posted in Design, Project Ideas | Tagged , , , , , | Comments Off on APIs – Fetching User’s Interests from Existing Sites

Usability Evaluation

Usability is a measure of interface quality that refers to the effectiveness, efficiency and satisfaction with which users can perform tasks with a tool. Evaluating usability is now considered an essential part of the system development process. Evaluating a system’s usability is very important because it can tell you how usable the system is for the users. Sometimes developers are concentrating on developing the correct product in the correct way but they omit making the product usable, and as a result the users will not use it to it’s full potential.

Considering the above, we have to make sure that while developing Hive, we must consider that it has to be usable. Since Hive has not been developed by us, we could not conduct a proper usability evaluation, so we explain how the usability evaluation will be achieved after Hive is finished. For this, we state below the 10 rules of Heuristic evaluation by Jacob Nielsen, and we explain in every rule what we will consider and what measures we can take so Hive meets all of these 10 rules.

1) Visibility of system status

The system should always keep users informed about what is going on, through appropriate feedback within reasonable time.

Considering this rule we have to make sure that Hive keeps the user informed using techniques such as site maps and appropriate status messages.

2) Match between system and the real world


The system should speak the users’ language, with words, phrases and concepts familiar to the user, rather than system-oriented terms. Follow real-world conventions, making information appear in a natural and logical order.

Considering this rule we have to make sure that Hive’s messages and images will have a meaning to the real world too, so the users can understand them easily.

3) User control and freedom

Users often choose system functions by mistake and will need a clearly marked “emergency exit” to leave the unwanted state without having to go through an extended dialogue.

Considering this rule we have to make sure that Hive will give the opportunity to user to easily escape from an unwanted state.

4) Consistency and standards

Users should not have to wonder whether different words, situations, or actions mean the same thing.

So to make sure that Hive meets this requirement we will make Hive consistent without having unambiguous objects.

5) Error prevention

Even better than good error messages is a careful design which prevents a problem from occurring in the first place. Either eliminate error-prone conditions or check for them and present users with a confirmation option before they commit to the action.

Considering this rule we have to make sure that Hive will prevent users doing mistakes, by using confirmation buttons in almost every significant action they do.

6) Recognition rather than recall

Minimize the user’s memory load by making objects, actions, and options visible. The user should not have to remember information from one part of the dialogue to another. Instructions for use of the system should be visible or easily retrievable whenever appropriate.

Considering this rule we have to make sure that Hive is going to be as easy to a new user as an experienced user to use. This is achieved by making them recognizing options and objects, not recalling them.

7) Flexibility and efficiency of use

Accelerators — unseen by the novice user — may often speed up the interaction for the expert user such that the system can cater to both inexperienced and experienced users.

Hive will allow users to tailor their experience with frequent actions by including options such as hotkeys, or user-created shotcuts.

8 ) Aesthetic and minimalist design

Dialogues should not contain information which is irrelevant or rarely needed. Every extra unit of information in a dialogue competes with the relevant units of information and diminishes their relative visibility.

We will try to make Hive as minimalist as possible without using much pictures, colours or animations that are redundant and not needed. Also, the information given to the user will be as small as possible so the user observes the right information.

9) Help users recognize, diagnose, and recover from errors

Error messages should be expressed in plain language (no codes), precisely indicate the problem, and constructively suggest a solution.

Considering this rule we have to make sure that Hive will provide good error messages so the users understand what they did wrong and give them the opportunity to recover from them easily.

10) Help and documentation

Even though it is better if the system can be used without documentation, it may be necessary to provide help.

Every big project needs to have a help option that will guide the user how to use the system. Hive is not an exception so we will make sure that help options are provided.

So having set these rules we can evaluate Hive’s usability by a simple table.

Rule Rating
Visibility of system status
Match between system and the real world
User control and freedom
Consistency and standards
Error prevention
Recognition rather than recall
Flexibility and efficiency of use
Aesthetic and minimalist design
Help users recognize, diagnose and recover from errors
Help and documentation

To make sure the results are reliable we have to make sure that we will give this table to many people from different cultures, social status and educational status. Also we (developers) are going to rate the usability of Hive too.

Also if we want to be more precise we can break these rules into points so the users who will evaluate the system will understand better what each rule means. So for example, the rule ‘Aesthetic and minimalist design’ can be divided into some criteria as follows.

Criterion Rating
Use of color
Structural layout
Choice of media
Proper use of animations
Aesthetic style
Posted in Analysis | Tagged , | Comments Off on Usability Evaluation

Recommendation System of Hive

One of Hive’s most amazing features is the recommendations that users will get. Hive recommends users other users who are likely to be similar based on their interests. Also, a user will get interest recommendations based on their past behavior or their friend’s behavior. In this post we briefly explain what recommendation systems are, discuss the different approaches and then we will discuss how Hive’s recommendation system could work.

What recommendation Systems are?

Recommendation systems or recommender systems are a type of information filtering that is trying to present products (movies, books, music) or social elements (users, groups) that are likely of interest to a user. In other words, recommendation systems are trying to filter the information that is going to be shown to the user based on his recent behavior like purchasing a book, watching a movie or listen to music. A common recommendation from amazon is “Customers who bought items in your basket also bought…”.

To achieve this kind of information filtering, an effective algorithm is required. Today, many web sites are using recommendation systems such as amazon, IMDB, Google, Last.fm etc. For instance, a user registered to a movies web site declares that he likes war movies, either by searching war movies regularly or indicating that he has watched many of them. Then the recommendation system is able to understand this trend and will recommend him other war movies that he hadn’t watched yet. This can bring many benefits for a company and can boost its sales and that’s because many users may love things which they didn’t know existed. That’s why recommendation systems are trying to find similar things that a user likes and brings them closer by recommending them.

Recommendation systems can be used in Hive to recommend to users other similar users that share many interests who they didn’t know before; Hive is giving them the opportunity to meet. This can be used for interests too, so a user may find many new things that they would be interested in, using the recommendations of Hive.

Different Approaches

There are some different approaches to recommendation systems and each one has its advantages and disadvantages.

Collaborative Filtering

Collaborative filtering or user-based is an approach to recommendation systems and it’s widely used by many web sites. Its aim is to find similar users and then recommend to one what the other similar user likes.  How similar a user is with another user is defined by their distance. Distance can be measured by using n-dimensional Pythagoras or some other techniques.

Advantages:

  • Very good recommendation results

Disadvantages:

  • It’s not efficient to map every user to similar users within sites with many users
  • A new user cannot get good recommendations
  • Algorithms have more complexity

Item based

This approach finds similarities between items rather than users. This technique recommends items that are similar to those that a user liked in the past. specifically, various candidate items are compared with items previously rated by the user and the best-matching items are recommended. So for example if a user tends to buy sport shoes, then the system will recommend him more sport shoes that the system has classified as similar to the ones he already bought.

Advantages:

  • Good recommendations for a new user
  • Better efficiency if there are more items than users.

Disadvantages:

  • Limited in scope

These 2 techniques are the common techniques for recommendation systems. An example of each one is given below.

User-Based: A site that uses a user-based approach is last.fm. Last.fm creates a list of recommended songs for a user that users with similar tastes are listening too.

Item-based: A site that uses an item-based approach is Pandora. Pandora tries to classify songs into similar songs and recommends to users some similar songs to what they are currently listening to.

Hybrid Approach

A combination of the above techniques can result in a hybrid approach which can sometimes bring better recommendation results. Many web sites now use this technique because they can avoid the disadvantages of one technique while using the advantages of the other. Netflix, Amazon and Google have some of the most popular hybrid recommendation systems.

Hive – A Paradise for Recommendation Systems

As mentioned above, recommendation systems are trying to find similarities between users and items so they can recommend new items to the users based on these similarities. Because of Hive’s approach to connect similar people, the recommendation system can connect people who are similar by analysing the common interests of 2 users. Also, if two users are friends then they probably share many interests. For example if 2 users are friends and they both have pop music as the common interest, and user A likes a different artist or a song then user B will probably like it too, so Hive will recommend that item to user B as well.

Also most of the items in Hive will belong to a category. For example the movie Transformers 3 will belong to the category action, science-fiction, etc. So, since most items are categorized and we know which of them are similar, again the recommendation system can easily recommend the right items to a user.

So because of Hive’s nature to keep similar people and similar items together, a combination of user-based and item-based recommendation algorithms can be used to have a hybrid recommendation system that will use both user similarities and item similarities to recommend new friends and new items to the users.

Posted in Analysis, Design, Project Ideas | Tagged , , | Comments Off on Recommendation System of Hive

Hive – The Features

Registration/Adding Interests

  1. At registration, the user will be prompted to add their interests and optional details such as real name, location, gender and D.O.B (this personal information will not be shared with any third parties without the user’s permission, and will be stated in the terms and conditions).
  2. Users can import their interests from a number of social networking sites.
  3. Users can search Hive for a specific interest, and it will have its own page with public posts from people tagged with that interest. Users can add interests to their own interest list this way.
  4. Users can add additional interests to their interest list through their profile page; when they begin typing in a word, an auto-complete feature will display interests already on the Hive database.
  5. The recommendations page will show users some interests not yet added to their list, but are shared amongst many of their friends (algorithm may take other factors into consideration).

Posting/Navigating the Homepage

  1. When a user posts, they need to enter one or more tags for it; these tags must be things from the user’s list of interests.
  2. Users can filter their activity feed so that they see posts with a specific tag or tags – ignoring a tag.
  3. Users can embed images and Youtube videos in their posts.
  4. Unlike Facebook, users cannot ‘Like’ posts or comments – this is to encourage more active participation, i.e. writing comments.

Adding Friends

  1. To connect with another user, users must send a friend request which the other user must accept.
  2. Users can search for other users by username, full name, etc. (to find people they know in real life).
  3. The recommendations page will show users other users who have a large amount of mutual interests (algorithm may take other factors into consideration).
  4. Users can find their existing friends from Facebook on Hive, using their Facebook account.
  5. Users can invite other people from other social networks or via email, but they will not automatically become friends (since they may not share many interests, and it would defeat the whole idea of Hive if a user became friends with people who they never speak to).

Possible Future Features

  • Instant messaging chat facility.
  • Location-based recommendations – a user’s location could be a factor when recommending new friends, i.e. people with many common interests and live close to the user will be high on the list of recommended friends.
  • Mobile app with location-based features (recommended friends close by, etc.).
  • Groups – users create their own public or private groups for discussions on specific topics.
  • Personalised UI colours, other customisation.
Posted in Design | Tagged , , | 1 Comment

What Makes Hive Different?

Hive is a place for people to connect with each other through the things they love. It is a place where people can share, discuss, and discover. It is a place people can be passionate about their favourite things together, no matter who they are or how far away they are from each other.

Merges interest-based networking with ‘traditional’ social networking

There have been many new social networking websites appearing which focus on the user’s interests rather than go for the more traditional ‘Facebook’ method of representing your real-world social connections online. Rather than try to connect you through people you already know, sites such as Pinterest connect people with others who share the same interests. However, sites such as Pinterest are limited in that they usually cater to a single interest, and do not form lasting and meaningful connections between users. Users may follow other users or add them as friends, but it is unlikely a user will communicate with specific people regularly, or count them as a real friend. Hive aims to not only connect people with similar interests, but connect people with many similar interests, giving them lots of things to talk about, and to share new things with each other.

Make friends with people who you share the same passions as you

Within many social networking sites, users either add people they already know, e.g. Facebook, or add people who they don’t really communicate with on the level of traditional social networking sites, e.g. Pinterest. On Facebook, users will rarely find that most of the posts on their timeline interests them, and will ignore the majority.

With Hive, we aim to help users make new friends with people who will post content which will genuinely interest them, and therefore give them a reason to talk with each other. When meeting new people and making friends, people usually start talking about mutual interests. Imagine if you could find someone who was just as passionate about photography as you, likes the same unusual band that you do, and owns every single video game you like. There is a good chance you would want to be friends and talk about the things you like often.

Only see the content you are interested in

The friends you make on Hive will share many of your interests, but what about the interests you don’t share?

Every time a user posts, they have to tag it with keywords associated with what they are talking about. This way, other users can choose to only see their friend’s posts which are relevant to their mutual interests. You can even see non-friend’s posts if it has been made public. This tagging system will also allow users to filter their activity feed, so that they can see posts about specific things, giving them control of their experience.

Find people who love the same things as you, regardless of where or who you are

Hive will not only recommend you friends based on how many interests you share, but also

allow you to find people with specific interests or people with at least a certain amount of interest in common with you. One of the main goals of Hive is to connect people who love the same things, and to help form friendships between people who might never have met otherwise, regardless of who you are – it’s all about the interests.

Get recommended new things you’ll like

Ever unsure of what DVD to rent out next, or what video game to buy next? Hive is a place filled with real people who collectively, have had experience with just about anything.

Whether you want to know whether the latest blockbuster movie is really as good as the online reviews say they are, or you want to know which lens you should buy for your camera, the friends you make on Hive will have opinions which you will value because chances are, they are just as passionate about it as you are and want to share their knowledge.

We’re not trying to beat Facebook…we’re something different

While we will probably be compared to Facebook, Hive is something different. Facebook and other similar sites help maintain relationships people already have and connect people who may already know each other. Hive will help people make new relationships, and try to connect people who will likely have lots to talk about. A lot of interest-based site focus too much on the interest. We want to focus on communication amongst people thorough many interests rather than one.

Posted in Project Ideas | Tagged , , | Comments Off on What Makes Hive Different?

Use Case Diagrams

In this post, we show some of the main functionality of Hive, in a series of Use case diagrams:

Sign Up

Sign Up - Use case diagram

Sign In

Sign In - Use case diagram

Edit Interest Information

Edit Interests Information - Use case diagram

Post Comment

Post Comment - Use case diagram

Find Friends

Find Friends - Use case diagram

Posted in Design | Tagged , , , | Comments Off on Use Case Diagrams

Making conversations, not just connections!

Watch Sherry’s “Connected, but alone?” TEDTalk here: http://www.ted.com/talks/sherry_turkle_alone_together.html

Sherry Turkle studies how technology is shaping our modern relationships – our relationships with others, ourselves, and with technology itself. In this talk, “Connected, but alone?”, she states that “technology is so psychologically powerful, it not only changes what we do but also what we are”. She says, “I think we are setting ourselves up for trouble, trouble certainly in how we relate to each other, but also trouble in how we relate to ourselves, and our capacity for self-reflection”.

“We are getting used to a new way of being alone together”, she mentions in another part of her speech. She raises a concern that modern technology and, more specifically social networks, helped us have connections but unfortunately not having conversations. “We turn to technology to help us feel connected in ways we can comfortably control. But we are not comfortable. We are not so much in control.”

At the end of her talk she pointed out the need of reconsideration toward using social networks and “how we build it” and ended with a suggestion. “… [I suggest,] we develop a more self-aware relationship with technology, with each other and with ourselves”.

The reason that we shared this talk, which raises an important perspective of social networks, is that we are aware of this critical issue and we care about it. The core feature of our social network, Hive, is giving users the opportunity of expressing their interests and to initiating or join conversations about the things they like. The possibility of making events and adding people who would like to participate in that event helps people use technology to enjoy their real-world life. We would like to bring a platform for our users to find and express the things they love, together.

Posted in Related academic works | Tagged , , , , | Comments Off on Making conversations, not just connections!

Similarity breeds connection

In the 1950s, sociologists introduced the homophily principle, explaining the tendency of individuals to associate and bond with similar others. Marriage, friendship, work, advice, support, information transfer, exchange, co-membership, and other types of relationship structures network ties of every type. Sociologists Miller McPherson, Lynn Smith-Lovin and James Cook wrote in their classic 2001 paper on the subject, “Birds of a Feather: Homophily in Social Networks,” and “the result is that people’s personal networks are homogeneous”, that similarity breeds connection between people. In the first paper, the researchers showed how “homophily limits people’s social worlds in a way that has powerful implications for the information they receive, the attitudes they form, and the interactions they experience”.

In addition to these researches, researchers at MIT even published “Homophily in Online Dating: When Do You Like Someone Like Yourself?” to explain that people like someone like themselves most of the time, both in an online social network and offline society.

Homophily exists on a wide array of socio-demographic and behavioural dimension and divides the concept of homophily into “status homophily” and “value homophily”. Status homophily means that individuals with similar social status characteristics are more likely to associate with each other than by chance. By contrast, “value homophily” -which attracts our attention because of its application in our project- refers to a tendency to associate with others who have a similar attitude, belief, and value.

Homophily vs Hive

Hive is a social network in which people find the opportunity of expressing their interests and share their opinion about the things they love; based on that, find others with a similar taste to them.

In the existing social networks like Facebook, MySpace or LinkedIn we mostly see the application of status homophily. More precisely, in these social networks, users are connected with their classmates, colleagues, family and such like. In contrast, Hive targets value homophily, in which focuses on cultivating users connection based on their interests.

People with their interests in the real world.

People connected to each other in Hive based on their common interests.

By understanding the psychological behaviours of people based on the concept of homophily, Hive tries to empower the user and strengths the possibility of finding similar partners to establish an effective and active connection.

Hive provides a structure to support users; both in finding and building a virtual society of similar people to themselves, and observing other different tastes and experience different tastes.

Posted in Related academic works | Tagged , , , | Comments Off on Similarity breeds connection