Skip to content

snoyface/jon-project-3

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Project-3

A screenshot from the app

In Project-3, we're going to look at some of the basics of interacting with APIs. We'll be focusing on two: Spotify's Web API and Echo Nest's API. We use these APIs to construct a small, Spotify playlist which visualizes some EchoNest data, lets you sort by things like title and tempo, and displays album art.

We've tried something a bit new in this project. In addition to building the project up commit-by-commit, we've added many more comments to the code than we have in the past, and we've attempted to categorize the comments to make reading through the function and structure of the app a little easier.

API sources from which we construct the app

To use the Spotify Play Button embeds, you'll need to install Spotify (you can sign up for a free account). Spotify's Play Button interacts with your local Spotify installation enabling you to click a Play Button on a website and have your local Spotify app begin playing the song.


Extensions

(1) Add another EchoNest attribute for sorting

Using EchoNest's API, add another column of information on each track and modify the sorting logic to let you sort by the new data.

Bring in a new EchoNest attribute for sorting

(2) Visualize another EchoNest attribute

Choose another piece of data from EchoNest's API to visualize using a Processing sketch, either for a currently playing song or for all the songs.

Visualize a new EchoNest attribute

(3) Use the EchoNest API to hide the Spotify logo

In each Spotify embed iframe, you'll notice a small, Spotify logo in the lower right. Using the coverURL function in spotify.js, you can access an album cover without a Spotify logo. Use this to modify the .inter overlay and include a circular div with an appropriately positioned background to hide the Spotify logo until you click on the .inter overlay.

Hide the Spotify logo using the full album art

(4) Lyrics from musixmatch with song

MUSIXMATCH offers an API which, among other things, lets you query songs' lyrics. Add functionality to the project where the lyrics from the current track are faded in when currentTrack is switched.

Add lyrics from MUSIXMATCH to the interface

(5) Fix the UI issues created by so many asynchronous loads

You'll notice that this app sucks. Which is to say, the user experience is very painful because we basically have to wait for a Spotify iframe and three API queries to EchoNest and Spotify for every song 'til we display anything. Design a solution to this. You might indicate the page is loading with some sort of progress bar or sequentially inserts songs as they are loaded so that users aren't left hanging.

Make the user experience of waiting for content to load less shitty


Resources

--

Questions?

Please either file an issue on this repository if you have a question which does not concern your code, or please file an issue on your own repository if you'd like us to take a look at a problem you have.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published