Spotify

edit

Overview

edit
Spotify logo
Spotify logo

After a two-year delay, the music streaming service Spotify has finally made its way to the United State with 100 million dollars in funding. Spotify’s main goal is to “let everyone listen to whatever they want, whenever and wherever they want,” a goal that has not fallen short with Spotify’s library boasting over fifteen million songs (Spotify LTD, 2011). This vast music library intends to lure the younger generations away from torrents and file sharing, to a legal and free music service.

Spotify is an example of an information system as its primary function is to move information from one place to another. The IS (Information System) is used to share information, learn new information, and expand on current knowledge. For example, music artists use Spotify to share information about their artists and records and users use Spotify to share new popular songs with their friends. Some other qualities of information systems are that they can be broken down into three tiers (described below), and that they can be modeled using an information model.

Spotify is primarily used to listen to music, whenever they want, without having to purchase each song. Spotify also has many other smaller functions, such as sending messages, creating and sharing playlists, letting users connect and share with friends, and to find information about specific music.

Spotify’s user audience includes the younger generation or more specifically, anyone old enough to work a computer to anyone young enough to have leisurely time to listen to music, an audience mostly comprised of illegal music downloaders. In this ever growing and ever changing music era, these users are lured into torrents because they are the most available and the affordable means of getting musical entertainment, until Spotify came along. Spotify’s sole intent is to pull these users away from their illegal torrents into a legal, and free service.

Technological Infrastructure

edit

Introduction

edit

Any information system can be broken down into three major tiers: the presentation tier, the processing tier, and the data tier. These three tiers describe how information in the system is stored, how it is used within the application, and how it is displayed on the front end to the user.

Tier Diagram

edit
 
Tier Diagrams

Tier Discussion

edit
Tier 1: Data
edit

This tier consists of storing and retrieving information to database servers. On Spotify, the Information is retrieved from a range of major independent record labels, publishers and collecting societies. Basically, recording companies send Spotify the music, and Spotify uploads them onto its servers and make them available for its users. Data tier carries neutral data that stay independent from business logic. Data is stored in database tables and by giving data its own tier, organization is improved and easily accessible.

Most users have a large cache; about 56% of Spotify users have a maximum size of 5GB or more and this helps keep network traffic down since many users listen to the same tracks more than once. At Spotify’s end, there is a massive storage area of 290TB and two production storage areas of 90TB in London and 90TB in Stockholm.



Tier 2: Processing
edit

The processing tier of a social networking information system incorporates algorithms to perform some form of analysis. The processing tier usually controls an application's functionality by processing various information.

For this specific system there are multiple examples where the processing tier is used - for this article, we will show the processing tier through the action of searching for a specific song on Spotify. In order to search for a song, the user would type in the song name in the search bar of Spotify. When the user presses "Enter" on the keyboard or clicks on the "Go" button, the search terms are then formatted into a query using the processing tier. From here, the query is sent onto the Data tier where the the query is performed on the Data tier's database. Next, the results of the query are sent back from the Data tier, to the Processing tier, where they are formatted to be displayed on Spotify's user interface. Lastly, the newly formatted results are sent back into the Presentation tier where they are displayed.


Tier 3: Presentation
edit

For this specific system there are multiple examples where the processing tier is used - for this article, we will show the processing tier through the action of searching for a specific song on Spotify. In order to search for a song, the user would type in the song name in the search bar of Spotify. When the user presses "Enter" on the keyboard or clicks on the "Go" button, the search terms are then formatted into a query using the processing tier. From here, the query is sent onto the Data tier where the the query is performed on the Data tier's database. Next, the results of the query are sent back from the Data tier, to the Processing tier, where they are formatted to be displayed on Spotify's user interface. Lastly, the newly formatted results are sent back into the Presentation tier where they are displayed.

This is the topmost level of the application. The presentation tier displays information related to such services as profile information aggregation. The tier communicates with other tiers by outputting information requested by the user.

The presentation tier displays and manages the information on the Spotify interface. Spotify has a thick client, most of the interaction is done on the top tier and shown to the user.

  • Presentation: very user friendly
  • Configuration: stores the user's current playlists and user profile information
  • Communication: communicates with the server to retrieve songs and retrieve saved playlists

What you see and how it affects the user:

  • A plain and simple interface
  • Easy to use
  • Controls on the page
  • Simple search capabilities
  • Same generic style for everyone

File:SpotPres.png
Spotify User Interface

Functions

edit

Introduction

edit

"Functions" are defined as specific tasks you can complete using the information system. For example, in Spotify, as a user, you can do any of the following functions while using the application: play music, search for music, learn about music, organize your personal music, or share your music with others.

These five functions are the most important functions to cover as they are primary functions in Spotify. When a user opens up Spotify, they are doing so in order to accomplish one of these five functions.

Function 1: Playing Music

edit

One of the main functionalities on Spotify is playing music. Users can play music by either double clicking on a specific song, or by right clicking on a song and selecting "Play" from the menu.

User Interface for Playing Music
User Interface for Playing Music

User Interface
The user interface for playing music on Spotify is similar to that of iTunes. All information related to playing a song is displayed at the bottom of the application screen. The information displayed includes the album artwork associated with the song, the song title, the artist of the song, and the length of the song. The user can interact with the program via the user interface controls. The controls associated with playing a song include:

  • The play/pause button
  • The Skip button
  • The Previous song button
  • the Repeat button
  • The Shuffle button
  • The Song time slider bar

Basic Algorithm
In order to play a song, Spotify must connect to it's on-line database to get all the information necessary. For example, once the user selects a song to play, Spotify queries it's database. The query results that are returned include the related album artwork, song title, song artist, length of song, and the song file. Then this information is compiled and displayed on the user interface and the song file is played to the user. If the user clicks on the play/pause control, the song file is either played or paused. If the user selects the shuffle button, the algorithm for choosing the next song is changed from playing the next song in the sequence to randomly choosing the next song.

Information Types and Organizational Structures
The information types that playing music uses includes are Artists, Songs, and Albums. When playing a song, Spotify uses the relationship between the Artist information type and the Song information type to match the artist to the current song. Similarly, Spotify uses the relationships between the Album information type and the Song information type to match an Album to the song. Lastly, Spotify uses the Song information type to get information necessary about the specific song, such as song name, song length, etc.
The organizational structures used in playing music include sequences. Playing music itself is a sequence because as one song finishes, Spotify will play the next song listed underneath the current song. This follows the idea of a sequence which is that items are displayed in the order that the user is expected to use them.

Function 2: Search Music

edit

Searching for music is one of the core features of Spotify. It is very easy to use, and is helpful for locating a specific song, album or artist.

User Interface users can search for music by just typing the name of a song or an artist into the search bar that is located on the top left corner of the application and pressing “Enter” on the keyboard or clicking on the “Go” button and users can enjoy listening to the music they love. By using specific commands like “title:____”, “album:____”, “artist:____”, “genre:____” or “year:____”, users can refine their queries and get the results they want in seconds. Users can also search using the OR, AND or NOT operators. For example, if you want to search a song by both Eminem and Jay-z, you would type in Eminem AND Jay-z. If you want to listen to a song by either Eminem or Jay-z, you would type in Eminem OR Jay-z. Lastly, if you want to look for a song by Eminem but not Jay-z, you would type in Eminem NOT Jay-z.

Basic Algorithm Spotify uses both streaming servers and peer-to-peer connections that you can have access to by selecting a peer’s name on the right sidebar. A link on desktop clients permits Spotify users to acquire music via partner retailers. The contents of each client's cache are organized in an index which is sent to the Spotify stream hub. The index is used to inform other clients about peers they can connect to for fetching streamed.

As I have mentioned earlier, searching for music is really straightforward. There is a small search box on the top left corner that you can type in by clicking on the box. For example, if you want to look for “Lucky” by Jason Mraz, you would click on the search box, type in “lucky Jason mraz”, hit “Enter” and get your result.

Information types and organizational structures The information types that searching for music incorporates includes: the album information type, the artist information type, and the song information type.

The organizational structures used in searching for music might be an index - that way when the user types in a search term, the index is queried for results.

Function 3: Learn About Music

edit

There are many options where listeners can learn about the artist while they listen to their music. Several tabs such as Overview, Biography, Related Artists, Artist Radio are placed on top of the application page for users to navigate around.

User interface
Main controls for learning about music artists are located across the top of the application. Users can click on the tabs, explore the page, and learn a more in-depth description of the specific artist that they searched on. There are four tabs: Overview, Biography, Related Artists, and Artist Radio. The Overview tab is a sequence of albums and songs placed in chronological order. Biography tab is where people can learn a little background information of any of Spotify’s top artists. Related artists tab is a way to discover new artists. Artist radio tab will automatically stream up similar artists for users to experience.

Basic idea of the algorithm behind the feature

  • Biography: The Biographies of the entire searched artist are compiled by All Music Guide. All Music Guide is one of the most reliable music reference website on the internet. It provides a detailed history and several everyday life images of the requested artists. With collaboration with All Music Guide, Spotify allows its user to gain full access of All Music Guide’s information without going onto the All Music Guide website.
  • Related Artist: Spotify collects the data for a list of preferred artists of what each user listens to. They data mine these searched artists from each users and organize them in a related list. When a user is listening to one of spotlight artists, they will be able to search what other fans of the same artist by clicking on the related artist tab. For example, fans of Maroon 5, may also search other featuring artists such as Justin Timberlake, John Mayer, One Republic, and Jason Mraz…
  • Artist Radio: Spotify includes a radio feature that creates a random playlist of songs chosen by Spotify based on the similar genre, artist year, and most famous single. Artist radio does not allow its users to star rank to any specific track of any albums, thus limiting its users to personalize their own radio track list.

Info types and organizational structures it uses
The learning of the artist feature is a series of tab links that is located on top banner of the application page: Overview, Biography, Related Artists, and Artist Radio. Each tab is a specific link to the subtopics what every users click onto. For examples, if users click onto the Related Artists tab, Spotify will jump into another organized page that display several picture links of related artists. Once users click on the featuring related artist, Spotify will take its users to another artist’s overview page creating a cyclic pattern of artist search.

Function 4: Organize Music

edit

There are many ways to organize music on Spotify. The most common ways are to either star songs or by creating playlists. Starring songs allows them to be added into the starred file in your library. It's a handy bookmark to easily save songs that you like. It's the same concept as starring webpages on the internet! The other option for organzing music is creating playlists. Playlists appear on your sidebar in a hierarchy type of organization. To create a playlist it is quite simple. You click on new playlist, name the playlist, and then drag and drop songs into your playlist and that's all there is to it. A single playlist can hold up to 10,000 songs so you won't ever run out of room for songs. The songs are the information types of this function and it is organized in a hierarchical structure, with one main tab and then many subsequent tabs below it.

User Interface
The User Interface to creating playlist on Spotify is similar to any music organization site. If you have ever used iTunes then you will have no problem creating playlists on Spotify. On the side bar there is hierarchical structure that allows you to click on create new playlists and then below that are all your playlists you have created on Spotify. Then there is another structure for iTunes and below that the subsequent levels of all the playlists you have already created on iTunes or the ones that you have subscribed to on Spotify. The User controls are just simply clicking on your playlist and it brings you to it with all the songs you have dragged and dropped into it.

Algorithm
The algorithm behind playlists is that you are putting all your music(data) into one place to use at anytime you want. So you are organizing your data and separating like songs into different playlists that you have created. Whenever you make a playlist Spotify puts the playlist into their data warehouse so when you go to users profile Spotify brings up the playlists from the online data warehouse and displays it on their user interface. It's the same process whenever you log into and out of Spotify. The playlists are stored in their data warehouse until you want to use them and then they compile all your playlists together and display them on your user interface.

Information Types and Organizational Structures
When organizing your music the information types used is the Song information type as songs are the items that are being organized. The organizational structure used is hierarchies as creating playlists creates hierarchies - a bunch of songs are part of a playlist, and all play lists belong to a group (ie iTunes Playlists or Spotify Playlists).

Function 5: Share Music

edit
File:Sharing Function.png
Spotify sharing capabilities

Spotify is an information system that assists a user in building a social network based around shared interests, specifically music. The program integrates the Facebook community but it can be further concentrated into a smaller community when users start sharing songs to one another. In addition to that, users have the option to subscribe to certain playlists so, if they know of a certain friend on Spotify who has a "super bumpin'" playlist they can subscribe to the play and that entire playlist will get added to that user's group of playlists. In addition to that, Spotify has an option for users to collaborate/manage public playlists together. Furthermore, Spotify contains a user profile with the central purpose of sharing. The user profile is a way for a user to represent themselves on Spotify through choice of public playlists, favorite songs, favorite bands, and favorite artists.

The "what's new" tab on Spotify is the program's way to share information with it's users that it has collected from it's artists and user's data. Within the "what's new" tab are three deeper tags (sounds like a heirarchy!) that includes a "what's new," "top lists," and "feed" tabs. The "what's new" tab is used to share the latest new releases, specifically the latest new album releases on Spotify. The "top lists" tab contains two columns, the left most column is currently used to share the most popular songs on Spotify. The right most column is used in a similar method but rather then sharing the most popular songs, it shares the most popular albums on Spotify. Finally, the "newsfeed" tab details the music shared by the user's Facebook friends as well as the latest Spotify news.

User interface
There are many ways to interact with the user interface inorder to share music on Spotify.

  • Share music by making playlists public, that way your Facebook friends can access your Spotify profile that details all of your public playlists.
  • Get music by clicking on the "what's new" tab and then, going deeper by clicking the "top hits" or "what's new" tab to get the latest and most popular tunes!
  • Get music by accessing your Spotify friends' profiles on the right most column of the Spotify interface. Simply click the friend's name and a list of playlists made by that friend will be available!
  • Get music by looking inside the "inbox" tab on the left most column of the Spotify interface. The inbox features all of the user's music sent to them, by their friends!

Basic Idea of the algorithm behind the feature
The main algorithm for sharing music begins when the use selects an item to be shared. From there that information is sent to the processing tier where where the information is changed into the specific format based on their sharing options (formatting differs if sharing through Facebook or Twitter etc). Then from there the newly formatted information is sent to the Data tier, where it is stored (ie, if you share a song on facebook, it will be stored on Facebook's data servers). Lastly, from the data tier it is processed again in the information tier, and presented on the specific web page using the presentation tier.
Info Types and organizational structures it uses

To share "top hits" with it's users, Spotify must keep a record of how often each song is played and queried by users. To help out with this tedious process, Spotify allows its users to rate each song on a bar count of 10 which narrows down choices, but what happens when songs are rated the same? Spotify collects user data on each song, album, and artist based on how many users total query that particular song/artist/album. The system then gathers all this data together and compares it and compiles a list of songs and albums that are seemingly the most popular.

Spotify allows certain playlists to be made public to a user's Spotify friends by allows the option to the user. Once the user establishes what playlists they want made public and what playlists they want to hide, Spotify sends a request for this information and then loads each user's profile accordingly.


Information Infrastructure

edit

Information Model

edit

Introduction

edit

Information modeling is used to show the various information types of items incorporated into a specific application. Information modeling describes each information type by listing the specific attributes of that type, and the related values and value patterns (the format of the value). On a higher level, information modeling is used to describe the different relationships between all of the information types presented in the application.

Information Types and Relationships

edit
Introduction
edit

Below are the top five most important information types presented in Spotify, their specific attributes and value patters, and their relationships to other types (shown via the diagram below). The diagram shows that each message (as an information type) has an artist, a song, an album, and a person (the sender of the message). The diagram also shows that each artist has at least one album, and has at least one song. For the song information type, the diagram displays that each song is by an artist, and that each song is in one album. For each album, the diagram represents that they must be by at least one artist.

 

Type 1: Artist

edit

 

Attribute Value Pattern
Name Text, can be one word, multiple words, or even a letter
Image FileName.URI
Biography Multiple paragraphs
ID Unique set of numbers/text
Related Artists Different artist names
Active Years Time frame
Top Hits Song titles
Albums One word or phrases

For Example

Attribute Value
Name Lady Gaga
Image FileName.URI
Biography Lady Gaga is a talented singer who has many unrecognized skills. She studies music at New York University's Tisch School of the Arts at age 17. Her stage name, Lady GaGa, is a reference to the song "Radio Ga-Ga" by Queen. She states that she is "very into fashion" and that it is "everything".

Lady GaGa performed in a number of bands, such as SGBand and Mackin Pulsifer, playing venues on the Lower East Side. She soon decided to break away from rock 'n' roll music, and began performing in burlesque shows.

ID 120456
Related Artists Britney Spears, Madonna, Kylie Minogue, Rihanna
Active Years 00s
Top Hits You And I, The Edge Of Glory, Born This Way, Judas
Albums Born This Way



Type 2: Person

edit

General Guidelines

File:DiaGRh.png
Type-Attribute
Attribute Value Pattern
ID unique set of numbers
Name text
Playlists text
Picture filename
Top Artists text
Top Tracks text





To illustrate an example


Attribute Value Pattern
ID 129292130
Name Arial Babcock
Playlists Glee!
Picture arial.gif
Top Artist Glee Cast
Top Track Back to Black





Type 3: Messages

edit
 
File:Song Example.png
Attribute Value Pattern
Song Title Text
ID Unique set of numbers/text
From (who sent the message) First and last name
Message text Text (128 characters maximum)
Song Artist Text
Song Length minutes : seconds
Album Text
Date sent "[integer] days ago"

For Example

Attribute Value
Song Title Drink Up Me Hearties Yo Ho
ID 120323
From Jennifer Apacible
Message text "Hope you enjoy this song!"
Artist Hans Zimmer
Time 4:32
Album Pirates of the Caribbean: At World's End
Date sent 2 days ago






Type 4: Song

edit
 
Attribute Value Pattern
Track Name Text
ID Unique set of numbers / characters
Length minutes:seconds
Rating score [number]/total possible [number]
Album Text
Artist Text

For example

Attribute Value
Track Name The One That Got Away
ID 7
Length 3:47
Star 5 / 15
Artist ID Katy Perry
Album Teenage Dream



Type 5: Album

edit
 
Diagram of Albums Type
Attribute Value Pattern
Title Text, Characters less than 50
ID Unique set of numbers/text
Picture FileName.URI
Artist Name Person Infotype with Unique ID
Year Time Frame
Record Company Company infotype with Unique ID

For Example

Attribute Value
Title Songs about Jane
ID (Not included on the User Interface)
Picture FileName.URI
Artist Name Maroon 5
Year 2007
Record Company A&M/Octone Records



Organizational Structures

edit

Introduction

edit

Organizational structures are simply methods used to organize information in a specific form. Within this class we have learned about four specific organizational structures: hierarchies, sequences, links, and indexs. Below are some examples of these organization structures as found in Spotify.

Structure 1: Index of People

edit
File:Real index.png
Organizational Structure: Index

The first example of an organizational structure is the index of users. An index is a detailed list, in alphabetical order of all of the types of information and when you click on one of the items listed it will give you more information about it. On Spotify the users are the types of information and they are indexed alphabetically, when clicked on it will bring you to their Spotify profile. From there you can check on out any of their playlists that they have created on Spotify that they have made public. It is located on the right side of the page and lists all your Facebook friends that are also on Spotify. It is an easy way to find your friends on Spotify and see what they are listening to at any time.It also makes it easier to subscribe to playlists since you are able to subscribe to playlists that your friends create.

edit

Everybody listens to Music. The second example of an organizational structure is the links via advertisements. Since February 2008, Spotify has been testing and expanding advertising within Spotify so all of Spotify users can undergo this experience. Spotify provides a fast, convenient way of listening to whatever music users want. The advertisements are not as annoying as the ones that constantly appear on many other applications or websites. After all, it is the advertising revenue that pays for Spotify users to listen to their music legally.

On either the vertical sidebar on the right or horizontal bottom of the application right above the sound file, there is a banner ad that appears frequently and each one is a different one every time. The banners are replaced by the next one within the time interval of approximately 7 seconds. Not all banners advertize music; majority of them do but some advertize cars or sprite . A way to tell them apart is by noticing the text “listen now on Spotify” on the banner. When you click on the banner, it leads you to that song and shows you the what other songs you can listen to from that album. It is a good way to announce new songs and acknowledge many great songs that have not been discovered by most people.

For example, while I was listening to Katy Perry’s “Teenage Dream”, I saw a banner ad of Lady Antebellum’s “Own The Night” on the bottom of my window. When I clicked on the ad, Spotify directly led me to a refreshed window and before I knew it, I was listening to Lady Antebellum’s “We Owned The Night”.

Info types such as “Song” and “Album” are being organized here because by linking advertisements to songs/ albums and vice versa, Spotify is presenting unknown, new music to Spotify users. This design of the organization is nice because users don’t need to go out of their ways to look for up-to-date music. They can essentially stay on Spotify and discover many latest and different music, which is refreshing because it has never been used in other music applications. Also, this way, the design of the organization is clean because since the banner ads are not located in the middle of the window, it doesn’t block the view of Spotify users.

Structure 3: Hierarchy via iTunes Playlists

edit

Hierarchy is a way of organizing information by subordinating to a single other entity. A hierarchy is somewhat like a table of content which consist of a singular group, such as the title, that overpower the subsequent levels underneath it. On Spotify, the iTunes tab located on the left navigation bar is an example of a hierarchy structure. When users click on the iTunes link, a list of songs from your iTunes software will appear onto the Spotify profile. The iTunes link located on the navigation bar functions as the dominant heading of the group of songs; on the other hand, the songs are the subordinating items that lie beneath the iTunes headline.

Structure 4: Sequences via Playlists

edit
File:Playlist.png
Sequences in Spotify via Playlists

Playlists are a great example of sequences in Spotify. A sequence is defined as a bunch of items that are ordered in the way you are expected to view them. A playlist fits this description as users create playlists thus creating an ordered list of songs that Spotify will play through in the order specified. The information type being organized is "Song" as playlists consist of songs in a specific order.
Using a playlist in Spotify is relatively straightforward and intuitive. You can create a new playlist using the File menu, and then fill the playlist with songs by dragging songs onto the playlist. Finally you can re-organize songs by using the drag and drop method. From here you can simply double click the first song on the playlist to start playing the songs in the playlist in order.

Structure 5: Sequence via NewsFeed

edit
 
Spotify example of a sequence via news feed

A sequence is a compiled list of related events that follow each other in ascending or descending order. Spotify has several sequences embedded within the program, one in particular can be found in the newsfeed under the "what's new" tab. The newsfeed is organized in chronological ascending order from the top to the bottom of the list based on the date in which the information was shared.

An example of this is shown to the right. As each new feed is added to the newsfeed, the feed is added to the top of the feed to preserve the order of the feed (what an index should do!).