User:Andy Huynh/My sandbox

This is SoundCloud
SoundCloud is the world’s leading social sound platform where anyone can create sounds and share them everywhere. Recording and uploading sounds to SoundCloud lets people easily share them privately with their friends or publicly to blogs, sites and social networks. It takes just a click to share sounds to Twitter, Tumblr, Facebook and Foursquare. SoundCloud can be accessed anywhere using the official iPhone and Android apps, as well as hundreds of creation and sharing apps built on the SoundCloud platform.

Introduction
Most web systems are composed of three tiers that enables that system to function. These three tiers are the presentation, processing and data tiers. The specific functions of each of these tiers vary greatly based on the system being looked at and the information that the system focuses on, but their overarching purposes remain the same.

The presentation tier is most often just the browser of the user and is the tier that displays all of the information in a visual format. In some cases though a small part of the server also aids in the presentation tier. In general this tier takes HTML from the processing tier and interprets it, displaying the specific components of the site. These components can range widely but some examples are images, text, banners, colors, the user interfaces, videos, etc. This is the tier that the user interacts with the closest and thus is very important to get right as it will heavily impact the user experience. Everything you see on a SoundCloud webpage was processed and put there by the presentation tier with the intention of making a good-looking, well designed and easy to use web system.

The processing tier is one or multiple servers that play the role of a relay between the presentation tier and the data tier. User interactions in the presentation tier are sent to the processing tier to determine what their outcome will be and whether they will have any effect on the data tier. Essentially this tier is collecting information from both of the tiers on either side of it and deciding what should be done with it. If an action taken in the presentation tier does in fact change some of the information stored in the data tier then the processing tier will give the instructions of what the data tier has to do with that information. All of these interactions are accomplished through the use of many algorithms that allow the servers to make automated decisions about what to do without people having to manually do every process. In a more basic sense, the processing tier could be considered the middle man between the data stored and what the user is doing.

The data tier is one or multiple database servers that store all of the information and data that the system is focused on. For popular web systems like SoundCloud, Facebook, Youtube, etc. this tier will store millions upon millions of individual piece of information. The processing tier interacts with this tier by reaching into the database and accessing, adding to, or changing the information stored there. This tier is the most distanced from the user and thus is rarely interacted with directly by them.

Combined these tiers provide the framework for all processes withing the system to achieve the desired goal. Without all three of these tier it would be very difficult, if not impossible, for a web system to function properly and effectively.

Presentation
For SoundCloud the presentation tier is the actual website that the user interacts with. All of the images, text, buttons and other visual aspects for each SoundCloud web page falls under the presentation tier. This tier takes the information sent to it from the processing tier and formats it into what the user sees. Due to the presentation tier being the closest to the user, most of their user experience is based off of how the information they want to interact with is displayed. SoundCloud tries to make this tier present info in the most conducive for its users to easily view and share music. This being the main goal of their site, they accomplish this by having some of the first things you see on the site being a button to upload or record music, a search bar to find music, tabs to look at the different info types (Tracks, People and Groups) and much more. On SoundCloud this tier facilitates all of the actions a user wants to perform and all the information they want to view. An example of this is that for each Track that you ever see on the site, the presentation tier will display text (name of song, comments, etc.), a unique waveform image for that song, a big orange play button to start the song and many other features that it receives the HTML for from the SoundCloud server.

Processing
For SoundCloud the processing tier is located on the SoundCloud servers and handles all the algorithmic processes of the site. This tier is located between the presentation and data tiers and thus provides a connection between the two. From the presentation tier it will take user actions, process them and then determine what, if anything, it needs to get from the data tier. In the cases where information is requested the presentation tier will then basically forward this request to the data tier which then will return the desired info. The processing tier will then process this information into a format usable by the presentation tier. The final step is that the processing tier sends this freshly formatted information back to the presentation tier where the request originated. In SoundCloud this tier is where most of the algorithmic parts of the sites functions are executed. When a user loads the SoundCloud page or interacts with the site in some way, the processing tier is what enables SoundCloud to accomplish all the tasks needed to provide the user with the best site functionality.

Data
For SoundCloud the data tier is located on the many SoundCloud database servers. This is the tier were all of the information used by the site is permanently stored. This is the tier where all of the site information can be accessed by the processing tier and then sent to the presentation tier for display. The SoundCloud data tier is in charge of storing all of the data on its users, songs, apps, comments, groups and other important info types. All the relationships between the types are also located here and thus this tier essentially makes up the info model for the site. Whenever a user does something on the presentation tier that would impact data, the processing tier takes that message to the data tier and then makes the appropriate changes to the stored data. Some examples of these changes could be adding a new piece of data, altering a part of an already existing piece of data or deleting data. Overall the data tier is the source all the information that users can view and interact with on SoundCloud.

Functions
Functions are the main processes that a system is capable of executing. Making up each function are several components which include: a purpose, a user interface, a user procedure, an algorithm and the info types/ organizational structures it alters or uses.

Each of these five parts of a function can be defined as follows:
 * The purpose is the what the particular function in question's end goal is and what it wants to accomplish.
 * Ex. The purpose of the sign-up function for Facebook is to allow users to create a Facebook account so they can use the service.
 * The user interface is what the user sees that allows them to start a function and interact with said function.
 * Ex. The user interface for the Facebook sign-up function is made up of several text boxes that users can input info into and then a big "Sign-up" button that executes the function.
 * The user procedure is the steps an end user has to take in order to use a function.
 * Ex. The user procedure for the Facebook sign-up function is that they have to fill out all of the text boxes and then click the "Sign-up" button.
 * The algorithm is the more technical process of what actions the servers and clients have to take to accomplish the function.
 * Ex. The user executes the Facebook sign-up function by clicking "Sign-up" and then the information they input is taken to the Facebook server and processed before it is finally stored in the Facebook database server.
 * The info types a functions alters or uses are just those that a function will interact with throughout the course of its execution.
 * Ex. The info type that is used in the Facebook sign-up function is the People info type of which a new one will be added to the database tier each time someone signs up.

Overall, the functions of a system essentially determine what the ways in which a user will be able to interact with that system. Most often these functions are those that aid the system in reaching its overall goal and purpose. A site like SoundCloud therefore would have functions that are related to its purpose of providing a social networking site for people to listen to, share, create and distribute music. There are many functions on SoundCloud, but the most important are the: Start a Group Function, the Gift Function, the Record or Upload Soundtrack Function, the Sign-up Function and the Search Function.

Purpose
The purpose of the start a group function is collect people together that have similar interests.

UI
The user interface contains many controls and content so the user can communicate with the server.
 * 1) The cancel button will exit the page and remove the function.
 * 2) The "Save group" function registers all information and runs it through its algorithm, then saves it into its database.
 * 3) Users can upload an image with the "upload image button", which creates a profile picture for the group.
 * 4) The user can request a help guide by clicking the "?" button by the image heading.
 * 5) Users can check or un-check the box below the image section. Checking/Un-checking this box means that you either allow or deny a certain function, in this case "automatically approve tracks added to this group".

User procedure
The steps every user must take in order to correctly start a group.
 * 1) The user is required to enter a group name (marked by a red asterisk).
 * 2) The other text boxes are optional but users can describe the purpose of the group or people of interests they want to attract.
 * 3) Users have the option of uploading an image for the cover of their new group.
 * 4) When the user is done filling out their information, they click the "save group button" to complete the form.

Algorithm

 * 1) Once the user has filled out the form to the server's satisfaction. The "save group" button will submit the data that has been entered.
 * 2) The information will be sent to the database where it can be stored.
 * 3) The information comes back through the processing tier.
 * 4) The user is presented with a new page in the presentation tier where the information is organized. With the all of the information that has been entered, they are placed in visually appealing places where it appears simple and clear.

Information Type and Organizational structure
The "start a group" function uses the "group" info type. This function fits the criteria that "groups" requires. Users must follow a certain format in order to start a group. It may be extremely specific such as an email (aaa@bbb.ccc) or it could be as open as they like. In this case, users have the freedom to choose their group title with as many characters as they like. The "Short description" text box has a lot of freedom as well, but the space availability is less than the "group description" text box. This function also has "group" type qualities by its ability to allow uploaded images for a profile picture. This function doesn't have a definitive organizational structure, however after the group has been created, it becomes part of another page where all groups are displayed altogether. One may think of this idea as either an index or a sequence.

Purpose
The purpose of the gift function is so SoundCloud can make money off the Premium account. Another purpose is a marketing scheme, when users buy a gift and send it to a friend they are more likely to use SoundCloud from a friend rather then a free trial from SoundCloud.

UI
The user interface of the Gift function are:
 * 1) Has four plan option for a user to pick from.
 * 2) Has text boxes to fill out address information and payment information.
 * 3) Drop down menu to fill out county, state and type of payment with an expiration date drop down menu.
 * 4) Buy Gift button

User Procedure
The steps of the Gift function user procedure are:


 * 1) The user decided which plan they would like to purchase. By scrolling down you can see what you get for each plan.
 * 2) After the user pick a plan and click on the plan image it will take them to the payment page.
 * 3) At the payment pay the user fills out the address and payment information.
 * 4) The user then click the Buy the Gift button.
 * 5) The user then will receive an activation code.
 * 6) The user can now email the activation code to the person being gifted.

Algorithm
When you finish filling out the information it gets sent to SoundCloud server and the data is stored. The credit card information is sent to a place to be verified and if it passes your transaction clears. Then the SoundCloud server send you the activation code for the gift you bought.

The steps of the Gift function algorithm are:


 * 1)    The system takes the information the user filled out in their browser and send it to the SoundCloud server. It also send the payment information to another server where the information can be verified.
 * 2)    Once in the server the information is processed.
 * 3)    Then depending if the payment passed verification or not two options may occur.
 * 4)   If the payment verification passed the data is stored.
 * 5)   If it failed the data is rejected and the sever send you back an error.
 * 6)    The final step is if the payment passed the server send the user an activation code email for the gift the user just bought.

Information Types and Organizational Structures
The gift function only interacts with the People info type and it does this in two ways. The first is that it is required for you to be a user in order to use this function, so when you go the the Gift function user interface SoundCloud has to make sure you are logged in as someone stored in their databases. After this is done you can go to the payment screen where you input the information needed for you to pay such as your name, billing address, credit card number, etc. This process most likely also adds or fills out some hidden attributes (aka can't be seen by other people) for the data stored on you on the database. These hidden attributes most likely store the values you put into the user interface for the function like your name and billing address, but probably not your credit card info. By storing this data, SoundCloud eliminates a good amount of work that you have to do whenever you want to buy a gift. Every time you buy a gift from now on you don't have to re-input all the values and that makes you more likely to buy again as the hassle of the function is greatly reduced. The gift function could also be considered a form of viral marketing as it allows friends to send gifts to each other. When a person gets an email from their friend saying that they gave them a gift from SoundCloud.com that person is way more likely to go check it out than if they just received some spam email from SoundCloud. People put more value in what their friends do and therefore a gift from SoundCloud is a very good way for the site to advertise itself and attract more users.

Purpose
The purpose of this function is if anyone wants to upload and share a song they created they can and share it with the whole site by simply uploading it or recording it right at that moment. Without this function sound cloud wouldn't be in existence because the whole idea of sound cloud is people being able to upload and share there sounds/music with the whole site.

UI

 * 1) There is an "Upload" button, which allows the user to select a file from their own hard drive and add it to the SoundCloud Database.
 * 2) There is a "Record" button that allows the user to create their own audio file and add it to the SoundCloud database.
 * 3) The "get more minutes" button directs the user to another page where they can add more credits to their account, which allows them to upload more audio files with a total time less or equal to the amount they have been accredited.

User procedure
You can either chose to click to upload a song or sound, or record a song or sound at that moment. If the user clicks the "Choose file" option:
 * 1) The user's OS (Operating system) opens and requires a selection of an audio file. The audio file must be a specific format in order to be uploaded properly (AIFF, WAVE, FLAC, OGG, MP2, MP3, AAC, AMR and WMA).
 * 2) After a valid file has been selected, the user is directed to the next page where track details (image upload, description, genre, tags) can be written.
 * 3) When finished, the user can either save the file or cancel all operations.

If the user clicks the "record" option:
 * 1) Recording begins immediately after the "Record" UI is clicked.
 * 2) If your microphone has not been validated or is not found, a browser popup will appear and require you to troubleshoot or confirm that you have resolved the issue.
 * 3) Once the user has finished his/her recording, there are two options. If the user is not satisfied with their newly created file then he/she can click "start over". This erases the previously recorded data and a new "record" button will appear. If the user is satisfied then he/she can click the "Upload your recording" button.
 * 4) The user is then directed to the next page where track details (image upload, description, genre, tags) can be written.
 * 5) When finished, the user can either save the file or cancel all operations.

Algorithm

 * 1) When a file is recorded or uploaded, it passes through the processing tier.
 * 2) After a file has been successfully uploaded, it is stored in the data tier.
 * 3) When a user requests a track to play, the request is sent to the data tier. In the processing tier, the song is buffered, track details and comments are uploaded and then displayed and played on the presentation tier.

Information Types and Organizational Structures
The information type that this function uses is Tracks and Users because it this is the function that actually lets a user upload and post a song. Each time a song is uploaded a new item for the type Track is added to the database table for Tracks. At the same time the relationship between the Track and the User that uploaded it is preserved so that now they are associated to one another as the song and the creator. This way whether someone searches for a User they can access all the Tracks they have uploaded or if a search is performed for a Track they can see the User that uploaded it.

Purpose
By signing up for SoundCloud you are able to explore the site, upload and create new music, and connect with other people and musicians and listen to their creations.

UI
The user interface for the sign up function includes:
 * 1) Space to type in user name and password.
 * 2) A button that allows you to sign up through Facebook.If you are signed into Facebook on a computer and click that you won't even have to type in your information. Many websites have gone to connecting to Facebook because so many people are part of the Facebook community and it makes it easier for them.
 * 3) A box to check to sign up to get their emails as well as a box you check to agree to the terms of use and privacy policy.

User procedure
The user procedure involves:
 * 1) Typing in the requested information into the spaces.
 * 2) Click sign up.
 * 3) Or click sign in using Facebook.

You are then part of SoundCloud. It is a simple procedure and if you do not sign up for Soundcloud you cannot do very little on their site, so it is often necessary to sign up.

Algorithm
When the user clicks sign up:
 * 1) The data is sent to the server.
 * 2) The data is processed and stored in a data warehouse.
 * 3) The server sends the user an email confirmation code.

Information Types and Organizational Structures
The information types for the sign up function are Users. Every time someone signs up for Soundcloud their information is added to the database tier. This is done by adding a new row (item) to the database and filling out all of the columns (attributes) with the values that the user input into the user interface of the function. Overall this function is a standard one for most sites nowadays and is made relatively simple so the barrier preventing people from joining the site is minimized.

Purpose
The purpose of the Search Function is to assist the user in finding information relevant to what they input as their query.

UI
The user interface of the Search function is comprised of:
 * 1) A text box that the user can type their specific query into.
 * 2) "Search" button that initiates the search.
 * 3) Three tabs for Tracks, People and Groups which the user can select to refine their query to one information type.
 * 4) A check box under the Tracks and People tabs that, if checked, allows the opening of the advanced search options for these types.
 * 5) These advanced search options are comprised of different text boxes and buttons structured with the aim of allowing the user to narrow their search.

User procedure
The steps of the Search function user procedure are:
 * 1) The user can enter their search terms into the search box found on the upper right-hand part of every SoundCloud page and click enter.
 * 2) Alternatively, the user can just click enter in the empty search box to be taken to the more advanced part of the search function.
 * 3) On this advanced page, the user decides whether they want to see the results for Tracks, People or Groups first and then selects the appropriate tab.
 * 4) After selecting this tab they can choose to check a check box indicating activation of the advanced search option for that type.
 * 5) If the advanced search option is turned on then the user can input information relevant to what they want returned from their search.
 * 6) This is done by both typing into the new provided text boxes and selecting certain buttons.
 * 7) Then the actual search query can be entered into the main search text box and either the "Search" button or the enter key can be clicked to submit the search.
 * 8) After the search is done, the user can then switch between the tabs to browse the results of the same query for the other info types.

Algorithm
The steps of the Search function algorithm are:
 * 1) The system takes the search query and any advanced search options that have been selected by the user in their browser and sends them to the server.
 * 2) Once in the server these search terms are matched with all Tracks, People and Groups stored in the database that contain text matching that of the search query. While this is happening, the search is narrowed down further by filtering out all of the results of the chosen type not matching with the advanced search options selected by the user.
 * 3) After the final set of info that matches the user query is determined, it is sent back from the server to the user's browser.
 * 4) The first information to show up is the more refined results on the tab of the type the user chose.
 * 5) Along with this, the numbers of results found from the same query of the other two info types are presented in the corresponding info type's tab.

Information Type and Organizational Structure
The info types that this function interacts with are the Users, Groups and Tracks. When a user submits a search by typing something into the search box the browser sends this information to the server that then sends a request for these three types to the database servers. The data that is relevant to the user's search for the three types is then returned to the user's browser via the processing tier. All of the various items returned for the three types are then organized using a sequence. This sequence is based on an internal algorithm made by SoundCloud that shows the most relevant result first based on the user's query. The presentation of this information is therefore similar to that used in a Google Search where the relevancy to the query decreases as the user scrolls down the page.

Introduction
Information is what people want to consume online and an info model provides a way to see how the information is structured and presented to the user of an online system. The most broad level within an info model are its info types. The info types for an online system are the kinds of information that the system cares to create, store and display. For example, on SoundCloud the main info types are Users, Comments, People, and Groups.

The next level down consists of the attributes that make up each type. The attributes can vary a good deal for the various info types on different systems, but most of them are relevant to what the user wants to achieve when using a particular web system. For SoundCloud an example of this is the Track info type that has an attribute of "Song Name" which will enable the user to find specific tracks they want to hear based on the name of the song. A few more examples of attributes from the Track info type would be "Song Length", "Song Creator", "Song Audio File", etc.

The final level of the info model is comprised of all the values which are specific instances of the various attributes. Each value must also follow a value pattern that more or less determines the format/ structure that is allowed to be used for the value of a particular attribute. If you look at the attribute "Song Length" from the a particular Track on SoundCloud, the value would be the specific time that the track you are looking at runs for. The value pattern for this value would be a time that follows the form of a number of minutes followed by a number of seconds (Ex. 2:23).

When combined all of these components create an info model and provide a convenient way to see how information is structured on a web system in order to best serve the user.

SoundCloud's Model


This diagram represents the structure of the info model for the SoundCloud system. In a diagram such as this, the nodes (blue ovals) represent the info types of the system, while the links (orange arrows) represent the relationships between the types. Along with each link is a short description that makes it easier to understand exactly in what ways the info types are related. An info model diagram like this can look incredibly different depending on the web system it is modeling. This particular one only displays five of the most important info types on SoundCloud and the relationships between them. The main info types highlighted here are Tracks, Users, Comments, Groups and Apps though there are certainly more (albeit somewhat less important) info types for SoundCloud than just those shown here.
 * 1) Tracks (aka what SoundCloud calls songs) are definitely one of the most important types seeing as the entire purpose of the site is to provide people a place to listen to, upload and distribute music. This is supported by the number of relationships leading to and from the Track info type to all the other info types which implies a strong central position in the information structure of SoundCloud.
 * 2) Users are another one of the more important info types on the site. The reasoning behind this is that in order to use the site to its full potential SoundCloud has people create user accounts for themselves. Each person then is then considered a User on the site and can interact with all of the other info types. These interactions vary greatly and can range from uploading a Track to joining a Group to downloading an App. Users have the most relationships branching off from and going to them in the info model which is another sign of a prominent role in the information architecture for SoundCloud.
 * 3) Comments are a often considered a less important info type on other sites, but here they are one of the most important types. This is because SoundCloud introduced a unique feature for this type that is not found on many other sites with the type Comments. This special feature is that Users on SoundCloud can post comments at specific times within a song which is not something many other systems offer. This adds another attribute to the type Comment which is the "Comment Time" attribute that stores information about at what point in the song the User wanted to post the comment.
 * 4) Groups are another central type due to their close ties to both Users and Tracks. Groups allow users to gather and listen to music that has a common theme and that they have a common interest in. This ability to be in a community of people with similar musical tastes as you is an important part of SoundCloud and helps support the social network aspect of the system.
 * 5) Apps on SoundCloud provide users ways to download or purchase applications that either support, augment or expand a users interaction with the system. There are not many relationships between Apps and the other info types, but it is a fairly unique component of the SoundCloud system and they devote a decent portion of the site to this type.

Overall an info model diagram is a simple way to provide a basic outline of how the info types will be structured in relation to each other for any info system.

Type

 * 1) Track

Attribute

 * 1) Song title
 * 2) Artist
 * 3) Comments
 * 4) Length of song

Value Patterns

 * 1) 1 to X characters
 * 2) Name
 * 3) 1 to X characters
 * #:# (Minutes:seconds)

Value Examples

 * 1) A Lesson Never Learned
 * 2) Asking Alexandria (Celldweller Remix)
 * 3) "this is awesome!"
 * 3:45

Diagram, Example and Discussion
The main idea of SoundCloud is to be able to share and blog about songs that are uploaded or recorded. The organizational structure that the info type "tracks" uses is the strategy of "hierarchy". Track is another term for song and with a song comes attributes. The attributes are qualities that all tracks have. They include: a song title, song length, artist, comments by users and more. Note that attributes are an idea rather than an actual word. The values attached to each value are more specific. Values are actual characters that define the attribute (Song length has a time, artist has a name, etc.). Every value has specific format that must be followed called a "value pattern". In this case, a song length's value pattern would be #:# (minutes:seconds), and a comment would have certain number of minimum characters to a maximum number of characters (3-25 characters).

The screenshot below is an example of the info type "Tracks". Types, values and attributes are color coded as green, red and yellow, respectively. On this page, the drop menu at the top labeled as "Tracks" is highlighted as green. After a user has searched for a song, they end up on a track page. In this example: "Ordinary People" by John Legend is the page that the user sees. As stated in the discussion above, attributes are an idea rather than an actual value. One may notice that the actual values of this track are in red ("Ordinary People","John Legend", "4:23"), the idea of what that value is, is the attribute. Which is denoted by yellow arrows (song title, song length, artist).

Type

 * 1) User

Attribute

 * 1) Profile image
 * 2) First name
 * 3) Last name
 * 4) City
 * 5) Country
 * 6) Occupation

Value Pattern

 * 1) Image.jpg
 * 2) Character 3-25
 * 3) Character 3-25
 * 4) Character 3-25
 * 5) Drop down menu
 * 6) Check Boxes

Value Examples

 * 1) PeterSmithPicture.jpg
 * 2) Peter
 * 3) Smith
 * 4) Seattle
 * 5) United States
 * 6) Musician

Diagram, Example and Discussion
The idea of users in SoundCloud is that the user are able to upload, share ,comment, and blog about the music they make and have feed back form the community. The diagram below is a model of a basic user profile. The user is the type and from that type the connecting arrow are relationship between the type to the attribute and value pattern. Every user has the ability to input any kind of value for each attribute as long as it follows the value pattern. A value pattern is a basic guide line of what you can input as a value. Example: For the drop down menu for county you can't type anything you have to select from a list that is already predetermined. Another example is city, you would think they would have a drop down menu for city because there are only so many city in the world but they don't. Instead the user can type any city he wants as long as it has a character of 3-25 "DragonLand" could be a usable value because it follows the value pattern guideline.

The screenshot below is an example of the info type user. Types, values and attributes are color coded as green, red and yellow. On this page the user can edit his information, to get to this page the user clicks on the username associated with his profile in this case it "Peter Smith". In this example: Everything that highlighted in yellow is an attribute that can't change it's value. While everything highlighted in red can have different values. Example: the attribute "first name" can have many more values then "Peter" it could be anything with a 3-25 character.

Introduction
A value pattern is a simple format that the user fills in. For example if a web site ask you to fill in your email address you can’t just put in any amount of letters and numbers, it would have to fit under a simple pattern of (aaaaa@bbbbb.ccc) and if what the user types in the site doesn’t fit under this format it will reject it and ask you to submit a valid email address.

Type

 * 1) Group

Attribute

 * 1) Group Name
 * 2) Group Description
 * 3) Members
 * 4) Group image

Value Pattern

 * 1) One to multiple words
 * 2) One to Multiple words/ paragraphs
 * 3) Multiple user names
 * 4) File name

Value Examples

 * 1) The Underground
 * 2) Let me take you on a trip...
 * 3) jollyjumper, Zeb Early, etc.
 * 4) Underground.jpg

Diagram, Example and Discussion


This diagram is simply showing the type &rarr; attribute &rarr; value pattern relationship and how it looks inside of sound cloud. It shows how each type can have multiple attributes and at some times can grow into the hundreds or more. Then each attribute has at least one value pattern. An example of all this is a group (type) in sound cloud has a group image (attribute) and each group image has specifications like each group image has to have a name and be formatted in .jpg (value pattern).

Sound cloud is trying to create a simple layout for users by placing the text around the page in a manner that they think appeals to your eyes. I think sound cloud is doing a good job with this because they are creating the music the main thing in the page area so your eyes will go straight to that item.

Introduction
A app is short for application and it is just a simple piece of user inter face that can be downloaded to any smart phone.

Type

 * App

Attribute

 * 1) Name of app
 * 2) Creator
 * 3) Publishing date
 * 4) Tags
 * 5) Screen shots

Value Pattern

 * 1) One to many words
 * 2) Name of person or company who created it
 * 3) yyyy-mm-dd
 * 4) Multiple words
 * 5) Multiple file names

Value Examples

 * 1) iShred
 * 2) Frontier Design Group
 * 3) 2011-11-05
 * 4) iPhone, Guitar, Effect, etc.
 * 5) iShred.jpg, iShredExample.jpg, etc.

Diagram, Example and Discussion
An app or application is a program you can purchase and/or download for free. It can really be anything and can be downloaded and used through computers, tablets, or smart phones. It has become increasingly more popular with the growing popularity of the smart phone and there are pas for just about everything. Apps can be used to make people's lives easier like many of the apps on cell phones that give directions or do other simple tasks. They can also be used for entertainment purposes such as games, getting information about what is happening in the world, trends, and celebrity gossip. There are even apps that tell you funny jokes daily or give you recipes. Basically anything you need on a phone or computer you can find an app for. Apps are an important part of Soundcloud and you can find them for many different things, although most of them are music related.



Soundcloud has hundreds of apps that you can download for free. Some examples of Soundcloud apps include iShred and Hindenburg Journalist. iShred is an app which allows you to create songs using guitar chords and sounds. Hindenburg Journalist allows aspiring journalists to record and edit their stories to share with others. Soundcloud isn’t just about music. There are plenty of apps that are not music related, and also a lot that are. The three main types of apps are create and record, share and distribute, and discover and listen. The create and record apps include programs like iShred, Thumbjam, and Guitarstudio, which all involve making music. The share and distribute apps are more about getting your music, music collection, writing and etc out there for others to see. Storify is an example of a share and distribute app. You can take media from Soundcloud, Facebook, and other sites and make it into a multi media blog. An example of a Discover and Listen app is the Facebook Fan Page Creator, where you can connect your music to your Facebook page.

Type

 * 1) Comment

Attribute

 * 1) Commenter's Name
 * 2) Commenter's Profile Picture
 * 3) Comment Content
 * 4) Time since comment was posted
 * 5) Time within the song the comment was posted at

Value Pattern

 * 1) 3-25 characters
 * 2) File name
 * 3) Multiple words
 * 4) Number of minutes, hours, days, moths or years
 * 5) Time (minutes:seconds)

Value Examples

 * 1) T-STAR
 * 2) T-Star.jpg
 * 3) Yea!!!
 * 4) 3 days ago
 * 5) 0.29

Diagram, Example and Discussion
The info type comments are used on SoundCloud as a way for users to add their input and opinions to tracks. This is one of the most used ways of communication on SoundCloud as it gives the users who are listening to the tracks a way to give feedback to the user that created the tracks. A unique feature of the comments on SoundCloud is that users are able to select specific times within the song to comment on. The way users can do this is by clicking on the blue bar that is below the SoundCloud player on each track. Clicking on this bar will prompt the user to input a comment that from that point on will be stored at the corresponding time of the track. Any user that listens to the track after the comment is posted will then see a small thumbnail with the comment in it appear when they reach the time in the song it was posted at.



A user can also post regular, not timed comments on a track but this feature is rarely used it is more difficult to reach than a comment you can post by just clicking on the song itself. To write a regular comment a user has to click on the name of a track and then scroll down to a lower point on that page in order to find where you can compose and post it. Therefore the convenience of the timed comments make then a more noteworthy info type for SoundCloud than regular comments. As a final note there is one other info type called Comments that are posted on a User's page, but this feature is almost never used and most most users have zero comments on their page.

Organizational Structures
Organizational structures are ways in which a system can organize and display information. The four common organizational structures are: Hierarchies, Indexes, Sequences, and Links. By using these structures a system is able to present information in a more understandable and useful way. Efficiency of a website is what all companies strive for, and the convenience of organizational structures help users navigate through the site with little difficulty. For example: tag clouds are built as an index, a organizational style that lists the most popular searches alphabetically or numerically. By displaying the most popular genres (with larger text depend on its popularity) and in alphabetical order, users can find their preferred genre of music quickly. A popular feature of SoundCloud is structured as a sequence. The ability to comment during specific times of a song allows users to view comments in a sequential flow as the track plays.

Introduction
A Hierarchy is a organizational structure that uses sub groups that branch from a starting group which defines the content of the website. Each level of the hierarchy can be defined as tiers. Tier 1 is the starting level and the most broad in terms of preciseness. As Tiers begin to go deeper, the topics get more specific. To simplify the idea of a hierarchy, a popular demonstration is a family tree. In a family tree there are, parents and children. Starting at the top of the tree there is a person (or two), this person has kids which branch off a level down. Afterwards, the first generation kids will have children, then the second will have children and so on.

Tier 1
Drop menus displayed at the top of the screen are a form of a hierarchy in organizational structure. Users begin at Tier 1, which lists links to different pages based on the category that the menu has been chosen. In the example below: the category is "People"; the options from this list are: "Explore people", "Find Friends", "You Follow(number is shown based on how many people to currently follow)", Following you(number is based on how many people who currently follow you)", "Your contact list(number is based on how many people you have previously register into your contact list, which is found on a separate page)" and "Search People".

Tier 2
After the user has made his/her selection from the drop menu, the link of their choice connects them to another page that has more options. In the example below, Tier 2 shows the that the user has selected "Explore people" which is organized in a "sequence" format. On the following page, it branches options to the user and allows them to choose different artists.

Tier 3 & 4
The user enters Tier 3 when he/she has chosen an artist. The artist's page is displayed, showing songs, history, tracks, lyrics and their activity. Tier 3 also has links that branch off into Tier 4. The options that a user can click to reach Tier 4 are: "Spotlight" (Views featured songs by the artist), "Tracks(number is based on how many songs the artist has uploaded)", "Sets(number is based on how many playlists the artist has created)", "comments(number is based on how many people have commented on the page)", and "favorites".

Introduction
Huy

An index is a way to organize information by listing key terms in an alphabetical or numerical order that links the item of info to where useful material relating to that term can be found. As an example Google has a full text that takes every word of every page and alphabetize, records where the word position is and adds links. So when a user searches Google index, Google algorithm can sort through the index quickly and produce a result.

Example
Below is an example of SoundCloud tag cloud. It is an alphabetical list of music genres and when you click on one of those genres it takes you to another page where that kind of music genre is displayed. Another key point is the larger the text the more the specific genre is used more and popular then smaller text. The kind of info type that is being organized is music genres. SoundCloud tag cloud isn't a very useful index, to make it more usable SoundCloud should have a complete page dedicated to an index of it users music genre and the sub-genre so users can find music they like more quickly. Some words show up larger than others to indicate that they are both more used and more popular than the smaller ones.

Introduction
A sequence is a structure used to organize information in a specific order showing a flow of that info. Most commonly this flow correlates to the order some sort of algorithm chooses the information to be in. An example of this would be the related videos column seen when watching a video on Youtube.com. The organization of this information is determined by an algorithm, designed by Youtube, that has the purpose of placing the videos in a order of relevance based on aspects of what is currently being watched. As a general rule of thumb a sequence is most often ordered based on the order that the creator's of a web system want you to see the information in.

Example 1 - Explore People: Suggested Users
Explore people allows you to look at users that have the same interests as you under the suggested users tab, but it also allows you to search for friends under the find friends tab. The explore people is also a sequential structure. The order of the people is created by some algorithm that sound cloud has created to present people to you in way that they think is the best. They are trying to present people to you that they think you would be most interested in listening to. They also do a very good job with this because with me just lightly scrolling through I was very interested in some of the artist that they were presenting to me.

Example 2 - Comments on the Song
On SoundCloud, when a user listens to a song they see comments about the song pop up as the song progresses. These comments were created by other users who picked a particular time within the song to comment on. These comments are then stored along with their time of posting and are brought up as thumbnails when the listener reaches specific times during the song. The way SoundCloud accomplishes this feature is by organizing the comments in a sequence based on the time in the song that each comment was created at. For example, if a song that has a length of three minutes (displayed as 3:00) has only two comments on it both of these will be displayed as the song is played. If one of these comments was designated at 1:24 and the other at 2:56 then the one with the earlier time will be displayed first.

This structure is one of the main competitive advantages SoundCloud has over other music sharing sites. The ability to easily comment on a track at a time you designate is a very unique and interesting idea. The displaying of these comments as in a sequence as the song plays is also another cool feature. By using this organizational structure a user of SoundCloud is able to listen to the song and view comments at the same time which basically combines two of the main features SoundCloud want users to interact with.

Allowing users to leave timed comments on a song is also a way for them to provide more specific feedback to the creator of the song. An example of this would be if in a certain song there was a part that a user really enjoyed and wanted to point out by using a comment. Without the ability to comment at a specific time the user would have a difficult time explaining what part of the song they were referring to. With the timed comment ability though, this becomes trivial as the user can just post the comment at the part of the song they liked and say how that particular part was great.

Overall the usability and design of this structure is very good and is both easy to view and use. The only downside of this format is that casual users, who don't find the comments as interesting as dedicated users of SoundCloud, sometimes find the constant stream of comments popping up during a song irritating. This problem is especially amplified for popular songs that are packed with many, many comments. Despite this issue, SoundCloud has focused a lot of attention on this structure as it is a central and defining part of their site. Without this structure SoundCloud wouldn't be as set apart from other music sharing sites and probably wouldn't have the around five million users it has today.

Introduction
Links are something you can click on a webpage that will connect you with another website. They are sometimes advertisements or other sites associated with the webpage you are viewing. It is a useful tool for businesses to easily access people with information about their product. It is also used by musicians and artists to get people to hear their music or see their art. There are many uses for links.

Example
There are many links off of Soundcloud. There are links off of artists sites that can link you to their website, Facebook page, Tumblr account, Twitter account, videos of them on Youtube, and others links depending on the artist. This is an example of links. This is off of John Legend's page and directly connects you with all of these different sites; his page specifically. This makes it a lot easier on people who really want to follow a person or artists. They only need to find them on one site in order to connect with all the other sites. Without this ability people would have to search for each of these sites separately. The highlighted box shows the links.