MUSIT App README

Installation Requirements - 
Download and install the iOS app onto your phone.

Instructions - 
The home screen is your default playlist.
The 3 next tabs at the bottom are the tasks we implemented. 
The final Settings tab is work for future implementation.
Run through the 3 tasks
Alerts will stop you from performing invalid tasks. For instance, you MUST select an Artist, Album, and/or Song to recommend, and you MUST select 1+ friends to recommend it to. 
All songs that you Recommend will show up in the Sent Playlist on the second tab.

Limitations - 
Since this app is only a front end, delete does not work between screens. You will see this limitation in three ways:
1.) If you try to delete a Default playlist item (by swiping left on the item), you will get an Alert message. 
2.) The same will happen if you try to delete the entire Default or Sent playlist. All other playlists and songs can be deleted.
3.) If you delete an item on one page, the information will appear on that page correctly. Results may vary as to what happens on the previous page because again, no backend is set up, so information may not pass between Scenes correctly.

Alerts and Errors - 
Any ILLEGAL action, such as not choosing friends to select, will be represented with an Alert that tells you of your user error and how to fix it.
Likewise, any UNIMPLEMENTED action, such as Default playlist song deleting, will be represented with an alert documenting that the action is unimplemented. 

Trending Task README

Trending Task is divided into 2 pages: Genre UICollectionView and accompanying Trending Top 10 Song List UITableView.  

Genre UICollectionView
This page displays 7 popular genres and 1 “All Genres” clickable cells.  At the top of the screen is an editable bar that displays a guidance phrase “choose location”.  The Genre view in Trending allows user to find the most popularly shared music by location and by genre.  If the user clicks on the “All Genres” cell, it will display top 10 shared music in the chosen location. 

At first, we wanted every genres possible to be in trending and have the option of the users to search for obscure genres.  But we realized as we were coding that this would cause problems down the line.  If we allow for such a comprehensive genre list, then there would be certain areas without top 10 trending lists and we would be presenting users with empty top 10s.  We explored current music services like Spotify and learned that they also limit top lists only by the most popular genres.  So we hardcoded the top trending data and created 7 most popular genre trending lists and 1 that presents the most popularly recommended music period.  If for some reason, music from some obscure genre such as Gar, a tibetan chant music, is the most popularly recommended music in San Francisco, we will catch that in our All Genres Trending List. 

There was a limitation in location.  We did not have a backend or the expertise to have the app use GPS to find your current location and display in UIPickerView the cities that are closest to you.  However, it did not affect our functionality or completeness.  We limited the city to one city, San Francisco and then another option underneath that says “More Coming Soon!”.  It will throw an error message if no location had been selected when the user tries to click one of the genres and it will throw an error message if the user tries to find top trending songs when the location is at “More Coming Soon!”.  Having one location hard coded does not affect usability as the users can clearly interact and enjoy all of the functionalities of Trending.  If we were to make this into an actual product, Trending page would still show only 1 city in the beginning until enough users and data are gathered and we would scale accordingly, city by city. 

Trending Top 10 Song List UITableView
The Top 10 Song List tableview displays most recommended top 10 songs from specific location and genre.  In terms of what we set out to do from the beginning, we were able to accomplish everything that the page is suppose to do.  However, as we were working on it, we saw that there were things to add to this page if we were to make this into an actual product.  Given 2 week time constraint and the fact that no one in our group had coded iOS before, we could not expand on the idea but if we had the time, more experience, and be able to work out the copyright laws, we would have wanted to be able to play music directly from the the top 10 most recommended song list and also have the ability to share music directly from the top 10 most recommended song list.  Again these are ambitious and could have legal issues.  

Summary
The trending task accomplished all that needed to be accomplished.  It displays top 10 most recommended music by location and by genre.  The information had been hardcoded but the user has no issues trying out the idea that we set out to build.  We did not need to sacrifice design or usability in order to accommodate our lack of ability to code iOS.  Many restricting features of iOS actually improved our design as we were forced to keep simple.  For example, we first set out to build “choose location” with a dropdown menu when clicking on the text space; however, iOS does not have dropdown menus and to make one, we would have to attach a tableview in subview but general consensus online was that forcing to create a dropdown menu makes the app clunky and less visually appealing.  We decided on picker view that appears from the bottom and this improved our design in a way we did not expect.