User:Sraden/sandbox

Major Functions
The functions of an information system are the mechanisms by which it works; Diaspora's major functions are the mechanisms most critical to delivering the intended user experience and enabling its back end infrastructure. In the case of Diaspora, these major functions are contacts, posts, messages, Stream, and Pods; these are the basis of relationship establishment, broadcast communication, private communication, content consumption, and back end infrastructure respectively - all things critical to a social networking system.

Description
Providing access to the information of other users is the basic purpose of any social network, Diaspora included. In Diaspora, users are exposed to each other as "Contacts". Each entry in a user's contact list defines a direct connection between the user and the contact; the establishment and management of this connection is a key function of Diaspora. Management is accomplished through the definition and assignment of "Aspects". An aspect is a name given to a subset of contacts - the implications of its title being that members of that subset are defined by their presence in various aspects of the user's life. The default aspects that Diaspora predefines for new users are "Family", "Friends", "Work", and "Acquaintances". New aspects may be defined as needed by the user. The user must explicitly associate a contact with an aspect for that contact to be a member of the aspect. However, when contacts are added, the user interface prompts the user to enter which aspect a new contacts belongs to; this can be interpreted as aspects being a subset of contacts, or as contacts being the union of all aspects with equal correctness. These user-defined sets of contacts are accessible in many other functions of Diaspora, and serve as the basis for filtering communication both sent and received by the user to and from its contacts. The creation of aspects, while relatively simple, is a critical function of Diaspora that enables more precise control of Diaspora's other functions without excessive overhead on the part of the user. The user interface for contact functionality has two primary elements: the first is the "Contact" button that exists in the upper right hand corner of every user's main page. If viewer has the owner of the current page as a contact, then the button displays the aspect to which that user belongs with a green background; otherwise, it displays the text "Add contact" on a grey background. Clicking on this button will cause the display of a drop-down menu of the viewer's aspects; clicking on these aspects will toggle the contact's membership to that aspect. The second element of the contact UI is the contact page; in the drop-down menu of the user's profile options is a link titled "Contacts"; the destination of that link is a page containing and index of the viewer's contacts, displaying the contact's name, Diaspora ID, profile picture, and a "Contact" button with identical functionality to the button in the upper right-hand corner of the user's page.

Algorithm
The algorithm for this function is a very simple, user managed, relational database. Each aspect is represented by a table containing identifiers that relate to entries in a table of the user's contacts; the user creates new entries in the table of contacts by establishing new contacts, and adding a new entry in an aspect table involves creating a new entry related to records in the contacts table. Rather than the more common mutual user-user relationships, the Diaspora Contact relationship is unidirectional; User_2 being a contact of User_1 does not imply that User_1 is a contact of User_2. Adding a contact allows the user to share its information with the contact, but not to access the contact's information - access to other user's information is predicated upon the that user's relationship to the viewer, and not the viewer's relationship to the other user. The Contact function is not the database, but the exposure of the user to the database as an entity that can both access and modify it - this database is private to each user, and thus modifications to the database cannot affect anything outside the scope of that user; this allows the user extensive control of its interactions with others, transparent to other users, although this comes at the cost of adding complexity for the users.

Data Organization and Structure
The primary type of data used by the contact function is the "person" type; the purpose of the function is to allow users to establish relationships between items of these types - namely themselves and other users.

Description
Posting is the most basic user-facing function of Diaspora; it is the primary form of user-to-user communication, and requires minimal user input beyond the content of the communication itself. Posts utilize a filtered broadcast style of communication; they may either be public (visible to all), or restricted to the poster's contacts or aspects (visible only to those specified by the poster). Posts are the primary form of user generated content on Diaspora; the user generated portion post may contain text, links, hashtags, mentions, images, and embedded content; the "Post" function is means by which users can generate this content in a form that Diaspora can store, parse, and distribute. A sub-function of posting is commenting; comments are more simplified user generated content that are distinguished by their close relationship to the post to which they belong. Commenting may be performed by any user that is allowed to view the post. The user interface for posting on Diaspora is a text-entry field at the top of the user's home page; a menu bare below this field allows for higher level functionality bypassing text input, such as adding multimedia and choosing the intended recipients of the posts.

Algorithm
Viewed from a high level, the algorithm for consists essentially of creating new entries in Diaspora's database of posts. A lower level view reveals a more complex and nuanced view of this functionality: the user input creating the posts is very much abstracted from the database, so this input must be parsed and then merged with back-end data to form a complete "Post" from the perspective of the database. Between the extremes of user-generated and back-end data, there is also a middle ground: the interface for determining who the posts is shared with - this is restricted to options that can be practically accomplished by Diaspora, and requires back-end data on the users, but it is contingent upon the user's choice which of these options to implement to communicate in the desired fashion. Also of note is the implementation of comments associated with these posts; each post has its own table of comments that is related back the post by the post's unique identifier; the commenting interface functions by parsing the user-generated content of the comments to create a new entry in the related comment table.

Data Organization and Structure
Posts themselves are an information item, stored in Diaspora's database; the posting function is the means by which the user can create and modify entries of this type in this database.

Description
Where posting is a filtered-broadcast method of communication, messaging is a private, point-to-point communication that facilitates user interaction in isolation from the rest of Diaspora's social network. Related sequences of messages between users are called conversations. Messages are more restricted in terms of content than posts; to create a message, a user specifies the user to whom it is directed, and then types in a text field. Text fields also exist directly below the page areas displaying conversations; messages typed in these fields implicitly belongs to those conversations. Conversations are ordered chronologically in sequence.

Algorithm
The algorithm for messaging creates a new entry in a message database storing the content of the message as well as back-end data. A database table exists for each conversation; messages are formatted to a template and then displayed for the viewers.

Data Organization and Structure
Conversations require dedicated data storage accessible only by specified users; each conversation is its own table, which impacts the overhead of this mechanism - as conversations are generally shorter and less data-intensive than the more globally accessible posts, the data costs of setting up the tables are rather high relative to the amount of data stored; however, as messaging is more infrequent and less processing-intensive than posting, the cost to Diaspora's infrastructure overall is marginal.

Description
Stream is an aggregator that delivers the user-generated content of Diaspora to a user; page areas dedicated to the display of Stream and its controls occupies the vast majority of the page-space on a user's home-page; it is the user's most general form of access to the information of other users, and thus is the crux of Diaspora's user experience. Stream is the display of results from a query of Diaspora's databases, with the results of the query organized sequentially in chronological order. Many of the parameters of this query are implicit; by default it returns all accessible content from the user's contacts, and any publicly available content that matches the user's list of followed hashtags. Further specificity may be accomplished by the use of more specific parameters, such as the the aspects the content authors belong to, specific hashtags, the user's interaction through comments and "likes" of the content, among parameters. The user interface of Stream occupies the a page area on the left-hand-side of the of the user's home page; it consists of controls for modifying the parameters of Stream's queries to gain more specific results.

Algorithm
The algorithm for stream is exceedingly simple, if somewhat involved computationally: stream queries Diaspora's database, and formats and displays the results to fit the Stream template.

Data Organization and Structure
Stream utilizes much of Diaspora's to accomplish its functionality; the database of users is needed to select the posts that are returns, back-end data of post-times is needed to order the sequence in which posts are displayed; search functionality for hashtags of public posts is also necessary. Stream is the filtered aggregation of all content Diaspora's delivered to a user: it follows that all of Diaspora's resources are used to deliver it.

Description
Pods are the infrastructure of Diaspora; they are one of the biggest differences between Diaspora and other social networks. Diaspora is a distributed, open source social network - each "Pod" is a node in this distributed infrastructure. Any desiring user may create a pod; the source code and environments needed to run it are made available by Diaspora. Each node implements an SQL database, an application server, and a web server; as an open source project in its alpha phase, Diaspora's codebase is updated daily - management of these daily updates is also incorporated into the Pod software base. Each pod has its own URL, and its own client base; it connects that client base to users in other pods via communication with the other pods - each pod is responsible for the data and processing tiers of its client base, and has the addition responsibility of distributing its clients' data to other pods. There is no user interface for a Pod; it is the back-end infrastructure that drives the user experience, but its functionality is obscured from the user; beyond registration for Diaspora (when one chooses one's pd), the user is never exposed to the distributed architecture of Diaspora - that is the function of the pod - manifesting Diaspora's distributed infrastructure as a single service to the users.

Algorithm
There is no single algorithm for the Pod; its functionality is far too complex and varied to be treated as a single discrete algorithm. However, the key functionality of pod, networked communication transparent to the client, can be described from a high level as a single process. When fulfilling requests for its users, the pod must determine whether or not the scope of those requests is outside the pod, and then coordinate with any other necessary pods to fulfill that request, before constructing the information delivered to the user.

Data Organization and Structure
The data organization and structure of pods involves globally shared and updated tables of unique content IDs and the pods which they are associated with; this allows pods to know whether to direct their queries locally or to other pods.

Introduction
When modeling information, we keep track of four major components of information: types, attributes, value patterns, and relationships between types. An info type can be any entity that shares a general set of attributes within it’s own entity. Take for example the info type “person”. All people share the general attributes of name, address, city, gender, etc. Values are what we put inside those attributes, specific to that particular type, which in this case is a person. An instance of this would be the value “Katie” for the attribute “name” or the value “female” for the attribute “gender”.

Diaspora is very similar to Facebook in that it is a social networking site that focuses on people, their interests, and how they are related. Just like Facebook, each person has their own profile (representing one information item) that contains all their values for the given attributes. Likewise, there are several pages that keep track of other information types ranging from bands to places, companies to movies, and just about everything in between. Here are the most important five information types that Diaspora records and some of their attributes:

Person

 * Attributes:


 * Name
 * Gender
 * Age
 * Birthday

The person is the core of Diaspora. After all, it is a social networking site, so it's main concerns are people and their networks. When modeling the information, it is often the "hub" of the information network since they a part of the majority of the links between other types. A person does not necessarily have to share a relation with something of another type. Just within the type person itself is a huge information model called a social graph. This would consist of just people, no other type, and would link their relations: friends, brothers, sisters, co-workers, etc. This would be a relatively simple information model, though it becomes significantly more complex when we add more types.

Discussion
To study and understand the connection between people on social networking sites would be a fascinating thing. People are all so connected, more connected than they might think and I love applications on facebook and other social sites that display those connections and the hubs and spokes and such. There is also the Kevin Bacon study (I think that is what it is called) where every single person is within 5 links to Kevin Bacon. So I may be connected to a friend who is connected to a friend who is connected to Kevin Bacon. Or something like that. All very interesting.

I completely agree. These connections really come to use with the mutual/shared friends on social networking sites. You can't imagine who all you could be possibly linked to on Diaspora once or if it becomes as popular as leading social networking sites. For example, a few years ago, my birth father was able to contact me on Myspace because of our mutual connections. Searching my name alone resulted in more than one answer... Thanks to the latter model in social networking sites, I now have a relationship with my father, which I didn't have for 10 years before so.

Place

 * Attributes:


 * Name
 * Address
 * Phone number
 * Open hours

Places are another significant information type because it is more than likely that people on Diaspora will find at least one place in which they can affiliate themselves with. For example, an attribute of a person could be where they live. In this case, an item of type place would be able to fill in its value. Other relations could be so-and-so "is at", "works at", or "is from".

Discussion
Being aware of the location type of a person is very useful on social networking sites, and especially smaller ones like Diaspora. If I were to receive a friend request and didn't recognize the person's name (attribute), determining their type location (place) would most likely be the next step. If the name (attribute) of their location is not specific enough, I would rely on attributes such as their career, or if applicable, their contact number. After determining the attributes of their type location, I should have a good idea whether or not I know the person. DENY!

Even though social networking sites like Facebook and Diaspora are mostly concerned with people, I would say that the second most important info type they keep track of is place. The majority of a certain person's social network would likely consist in a single geographical area, specifically wherever that person lives. I think it would be interesting if something like a "social map" existed that would look something like a social graph, but also include the locations in wich all the friends live.

Great observation! I've never really payed attention to that. Now that I think about it, I notice that even on Facebook, probably every four out of five of my friends are in the same geographical area as I am. Moreover, most of the remaining friends are in the geographical are in which I previously lived, or friends who have moved to another area themselves. Interesting! But does that defeat the purpose of a social network like Diaspora? Or is connecting with people you know really that significant to a social network's objectives?

Event

 * Attributes:


 * Name
 * Time
 * Date
 * Description

Events can be created by people and can occur at places. The links between types types can already be seen as the relation becomes more apparent when these things start to come together. The fact that an event is its own type is especially important because if a value ever changes, if affects everyone affiliated with that event. Had Diaspora not kept track of information the way it does, each person would have a different value for the same attributes of a certain event. Everyone would have their own individual location and time, essentially defeating the purpose of an event.

Discussion
Events make it super easy to plan things out and make it so much more convenient when collaborating. Our group for our Seattle communities project actually planned out the whole thing using events instead of just calling everyone individually. I think as these social networking sites become more advanced and implement more of these kinds of features, people may begin to rely on them more and less on their phones and email.

Thats awesome that you actually used the event thing. I have never found a huge use for it except on a couple of occasions. I can definitely see how useful it is for organizing events though. I mean you don't have to send out any cards or contact people, you just put the information up on the site and then notify people that its there and whoever cares will look at it. I have been invited to many events and its so simple to get the information you need to know.

Exactly! When I was Senior Class VP, using the "events" feature became extremely useful! For example, I was able to remind people of deadlines of events, and notify them of new ones instead of relying just on posters and fliers. Another neat attribute to events is being able to make it private and just invite those who you want to invite.

Post

 * Attributes:
 * Author
 * Content
 * Hashtag
 * Time posted

Anyone can make a post, comment on a post, or search for a post. One attribute of a post that is a differentiator of Diaspora from Facebook, but then very similar to Twitter is the hashtag. This can be particularly useful when making a SQL search and used to mark keywords or topics in an update. For example, select: "author" and "content" from: "posts" where: hashtag = "#funny".

Discussion
I like how Diaspora opted to include a hashtag when posting things. It's more like a combination of Facebook and Twitter now, which is actually pretty convenient. It's much easier to "follow" and keep up with other people because the process is more passive. It's just too bad there are barely any people using Diaspora right now to really follow, but maybe in the near future things will change.

I also agree that Diaspora made a great decision by making hash tags an option for posts. I'm sure that they did this because it is a combination of the ever-so-great Facebook and Twitter, and maybe one day it will pay off! However, it is interesting that Diaspora copied the hash tag right from Twitter, but as someone mentioned in another discussion, they changed the "like" button to the "love" button for pages.



Group/Aspect

 * Attributes:
 * Name
 * # of members
 * Accessibility
 * Picture

What is unique about groups (aspects) is that all people inside the group generally have if not the same, very similar relations. For example, all members inside a group made up of a small business will share the relation "co-worker" with everyone else in the group. This type is essential to breaking down social networks, allowing you to give more specific named relationships other than just "friends".

Discussion
This group aspect idea is so advantageous because of the hierarchical organization structure. If Diaspora did not allow its users to separate it's contacts into subcategories, such as co-workers, acquaintances, family, best friends, etc., then everything would be in just one area. Furthermore, users can choose to update a status that is only view-able by certain groups, which is nice. Attributes such as the # of members in a certain group may also be a deciding factor for who you want to see your status.

I think that's one of the differentiators that separates Diaspora from Facebook. I think it's kind of interesting how even though this is an open source application, it's still managing to develop features that can one-up its competitors. There are a lot of flaws that I can think about Facebook, but maybe in the next couple of years - or less - Diaspora will make ease of those problems, and perhaps we'll all start migrating to a new social networking site.

The group feature in Diaspora can go even deeper than other website groups. Since Diaspora is open source and people make their own servers, everyone connected to that server is kind of in a special sort of group, and then they also have groups on the Diaspora program. People who are connected to that server can be from anywhere, but everything they do can be controlled by the owner of the server and so people probably want to know, or they communicate with the people who run the server, putting them in a special little group of their own.

Diagram of Info Types and Examples
The following are diagrams of the five Diaspora information types with some of their attributes and example values. The "value" column represents one info item of the type.

Type: Person                                      Type: Place                                       Type: Event

Attribute        Value                            Attribute         Value                          Attribute         Value

Name:            Katie                             Name:             Starbucks                    Name:             Concert

Gender:          Female                          Address:         1234 Easy St.               Time:              8:00 pm - 10:00 pm

Age:               23                                 Phone #:         (555)-555-5555              Date:              12/15/11

Birthday:        11/11/1988                     Open hours:     6:00 am - 9:00 pm         Description:     Taylor Swift will play a 2 hour set!

Type: Post                                          Type: Group

Attribute        Value                            Attribute         Value

Author:           Lauren                           Name:             FIG 98

Content:         "OMG Finals :("              # members:      21

Hashtag:         #collegeproblems           Accessibility:    Closed group

Time posted:   9:37 pm                         Picture             trollface.jpg

Introduction
Once we have we have multiple types involved, we keep track of how they are linked. For example, the relationship between a type person and a type group is that a person “belongs to” a group. In the following diagram, the ovals represent information types while the arrows represents how they are related. Notice that some types have multiple relations. Typically the more relations a type has, the more important it is because it has more stake in the program. In the case of Diaspora, the person is the most valuable because almost every other type is concerned with it.

Discussion
Nothing too surprising here in my opinion. I expected it to look just like Facebook's model, considering both keep track of the same info types. One thing I find a little interesting and actually kind of hilarious is that instead of "liking" a page, it's called "loving" a page on Diaspora. I'm not sure if that's due to copyright issues or something or the developers are just encouraging of extreme emotion. Either way, that's technically a relation between types that doesn't happen in Facebook. And again, the type person is the "hub" of the model as expected as the entire site and every other info type is in some way or another related to it.

Kind of a cool diagram. It really shows all the different directions and how all the different types could be connected. People can be connected through posts, relationships, etc. It turns into a bit of a spiderweb, but in a good interesting kind of way right. It would be impossible to actually display all the different ways people can be connected. I mean people don't even have to know each other, but they can be connected through an event and then they can become actual friends. These sites are like meeting spot central if you really want to find some new people.

With Diaspora connecting the different types of people and groups, I believe understanding the relationship between types is beneficial. For example, relating back to Facebook, the more popular a type person is, the more information that person is able to obtain, rather than a person who has less connections or relationships.

Understanding the relationships between types is such an interesting concept. Before being exposed to this information and this excellent diagram, I never really payed attention to the relationships between types. Now, however, I understand the relationships and why they exist! I can now also further understand the relationships between types on other social networking sites, such as Facebook! As stated before, I'm pretty sure, though, that these relationships are not very different or unique.

Introduction
Organizational structures are the foundation to successful businesses; they provide proper arrangement in terms of objectives. On Diaspora, and on the Web in general, organizational structures are more commonly known as information architectures. The information on the web is what's being organized, and there are several different structures in which they are organized, which is described as the architecture. Information architectures are usually hierarchical, but other ways that Diaspora structures its information include indexes, and sequences. The objective is to provide a a fair amount of controls, yet balance it with simplicity.

Introduction
Sequential organizing is a method where the information is placed in order from most recent to oldest or from first to last, etc. This method is used in things that have priorities, like a planner where you put the most important thing on top and then sequentially go down to the least important thing or your last thing to do. Sequences also allow you to have things that want you to view items in an order from first to last, in terms of relevance.

Example
Diaspora uses sequential organization to show the user posts from other people. It puts the most recent post from the things that you follow at the top of the list. Diaspora and newspapers use this same method for the same reason. They both use sequential organization so that the most current information is the most prevalent.


 * 12/7/11 Comes first in list
 * 12/6/11 Comes Second in list
 * 11/20/11 Comes third in list

Discussion
Sequential organizing is useful, but not really my favorite. In the case of news it is definitely good, but I just hope the algorithms for figuring out what the user actually wants to see advances significantly. I don't like having to scroll through everything and then occasionally finding something I actually like. Although maybe that is a fault on my part for having too many bogus friends.

I kind of like sequences. I find them to be actually very useful and convenient. For example whenever I'm just browsing through Netflix, I'll get a list of movies ranked in order of popularity or most watched or something, and I tend to like whatever it may be. It's also kind of cool because whatever is least important I can just ignore instead of having to waste time scrolling through movies that I'm never going to watch.

Another advantage of the sequential organizational structure is its relevance! If Diaspora did not organize its posts in a sequential manner, then posts would be in a complete random order. Think about it, would it be more interesting and relevant to read a post from two weeks ago and then one from three years ago, or to read two consecutive posts within the last two minutes. I think I'd rather see my post organized by a date sequence. However, the other option, which is relevant too, is seeing the best "rated" posts or most commented on post first. This kind of reminds me of page rank in Google's queries, but like with Google, there are disadvantages such as displaying posts that aren't even important at the top.

Since Diaspora connects different people and groups, I believe understanding the relationship between these types is beneficial. For example, relating back to Facebook, the more popular a type person is, the more information that person is able to obtain, rather than a person who has less connections or relationships.

Introduction
Links are a connection from one point to another. These are used to take a user from one web page to another web page with a single click. Links are often all over websites, but there is a difference between using links as an organizational method and using them throughout a webpage. Links, when used as organization, connect you directly to a page that you want to see. Links, that are used throughout a webpage, connect you to different pages, but a user is usually just browsing around at that time.

Example
"#"tags, or hash tags, on the Diaspora website are often used as a method of organization because they are words that are associated with the page and information that the user may want to go to. People mark their posts with these tags and if you follow it then on your home screen there is a new hash tag on the sidebar and it will take you to a page with all comments that used that tag.

Discussion
Links are probably also one of the most useful organizational structures. Although they all seem pretty useful, links are most useful when a user wants to do nothing but browse with ease. The users sees what they want, clicks it, and voila!

It's a little funny to me because while links are the most disorganized, they are at some times the most practical. I guess that's one thing to learn about modeling information: sometimes not having a structure is the best structure. I can see how if every single bit of information was organized in a hierarchy or link, the structure of the site would kind of crumble on itself and defeat its own purpose.

Hash tags are an excellent way to describe links. For example, by clicking on the hash tag, you are brought to a page with the related information. From that page, you are also provided with even more hash tags, or links, to other sources of information.

Introduction
Hierarchies are the most commonly used form of organizational structure or information architecture. A hierarchy consists of a set of categories and subcategories where one item is either "above" or "below" another. In a hierarchy, one option will provide you with several more options, and then these options will most likely provide you with even more options each. Hierarchies, essentially, could go on and on farther than you could imagine, but that would defeat the purpose of simplifying the accessibility of desired information. On Diaspora, hierarchies are extremely useful for easily presenting information, such as photos, names, and objects. Although hierarchies present things neatly and make it functional and easy for any user, it allows creators to provide more information and more complex information, but in separate locations, as apposed to all in one place. In other words, hierarchies effectively create a balance between control and simplicity.

Example 1


In order to allow the user to access and manipulate their account settings, Diaspora uses a hierarchical information architecture that divides its settings into categories and subcategories. Moreover, just accessing the "settings" feature alone is presented in a hierarchy. As an example, here is a hierarchical process for accessing Diaspora's profile settings, which eventually divides into many settings:

User's Name --> Settings --> Profile Settings, Account Settings, Privacy Settings, Services, Applications

Profile Settings --> Your Public Profile, Your Private Profile

Your Public Profile --> Your Name, 5 Word Description, Your Photo Your Private Profile --> Your Bio, Your Location, Your Gender, Your Birthday



Example 2
Contacts on Diaspora are also organized in a hierarchical manner. Using this hierarchical structure, Diaspora allows the user to organize their contacts in subcategories. Along with accessing "settings," Diaspora organizes its "contacts" option in a hierarchical manner too. You will find an example below that shows the process in which a Diaspora user can easily find his co-worker, Tom, in his contacts, using the simple category --> subcategory hierarchical process. This user is also aware that contacts can be moved from one list or subcategory to another, or removed completely, in case they are no longer co-workers and just acquaintances. Keep in mind, though, that contact lists are presented as an index, reaching that list is where the Diaspora uses the hierarchical structure.

User's Name --> Contacts --> My Contacts, All Contacts

My Contacts --> Family, Friends, Work, Acquaintances, (+ Add an Aspect)

All Contacts --> Shared Contacts/Mutual Friends

Work --> (Index) Sarah, Tom, Ty, Valerie, etc.

Discussion
My favorite type of organization is Hierarchical. I always do that with all my files and it makes life so much better. Sometimes I get to organized and I make my information hidden way deep within the file system so it takes 5 minutes to just get to, but at least I know where it is. How do you think the Diaspora system stores all of its information? Organizational wise.

I couldn't agree more that hierarchies are one of the most useful ways of organizing information. Like you said, you can have so much information so hidden, yet it is so easy to get to, after several categories and subcategories. Because of the conveniences of hierarchies, I wouldn't doubt that it's the way Diaspora has chosen to structure its data.

Hierarchical structures make it easier for any beginning user of Diaspora to navigate, since the information is provided in categories and sub-categories instead of all in one area. This allows the user to access specific settings they are looking for and not, and they don't have the information just thrown out at them. Also, by using this hierarchical process, you can contact one group of your contacts, rather than all of them at once. Essentially, hierarchical organizational structures just make it much easier to locate information on Diaspora.

Introduction
A method of organization that groups items together based on similar traits and has a link to the original location. In the case of a book index it organizes the words alphabetically based on their first letter and has a “link” or page number to where that word is found. That makes it so you can quickly go through and find the word you are looking for by finding the section with the same first letter and then you can quickly go to the word within the book.

Example
Diaspora uses indexing with its friends list. When you add a friend Diaspora puts them into a list that is organized alphabetically by first name. By going into your friends list you can easily search out the contact you are looking for by going through the list alphabetically by first name.

Discussion
Indexes to me are really only useful if I know what I'm trying to look for but don't know where to find it. If I'm just browsing information, it isn't exactly practical to just look through alphabetical order. However if there is a certain keyword I'm trying to track down then the index is the way to go.

I can imagine how stressful it would be to maintain information if it weren't for the indexing organizational structure. For example, if my friends on Diaspora weren't indexed (listed in alphabetical order), it would be extremely ineffective if I wanted to find "Tom." I would have to spend so much time going through each and every one of my friends until I saw Tom's name! Luckily, though, Diaspora makes use of the indexing organizational structure, not only to make information more accessible, but to make it look neater, too!

If Diaspora did not use indexes to structure contact lists, the possiblity of finding information or finding someone you are looking for would be very difficult.