Pasta for Spotify
linkGitHub linkGoogle+

A material design Spotify client for Android.

Pasta for Spotify is a material design Spotify client for android that attempts to create a better user experience using the Spotify Web API.
It was created to show an improvement in design over the official Spotify app, and to allow for older and slower devices to have quicker access to Spotify's services without losing (much) functionality.


Latest Release: 

Last Commit:

Design

  • Touch areas are increased for small devices to be able to open things like menus and playlists more easily than the layout in the official app.
  • A lot of navigation relies on swipe navigation within the app to speed up general user experience.
  • The shuffle and repeat buttons have been removed from the now playing screen and moved into an "order tracks" dialog that is accessible from the menu of playlists and albums, and shows up in the settings menu. This provides greater consistency: in the official app you can order tracks by name, date, etc when viewing a list, but this becomes obsolete once shuffle is enabled. Moving all order-related options to the same place makes more sense from the perspective of both a new user and a user coming from the official app.
  • The backgrounds of different elements on the screen change color according to the album arts, allowing the user to quickly identify items based on color as well as text and image, and blend the image with the rest of the app so that it doesn't seem out of place.
  • Most parts of the app can be customized from the settings menu to allow the user to change their experience, including the main color scheme of the app and whether to display items as cards, tiles, or lists.
  • All parts of the official app that serve as a bookmark for an item are united into one "Favorites" section of the app. This means that artists that are being followed, playlists that have been created (or followed), and albums and tracks that have been "added" show up here, making the result of the "favorite" action obvious to most users instead of having to google "what does it mean to add a track in spotify?" (like I did).

Performance

Though I am not sure what the official Spotify client uses to switch layouts, many of the current users have reported a large increase in loading speed of Pasta for Spotify versus the official app. This could be because of a few things:

  • The app uses Aidan Follestad's Async library to load content separately from the UI thread, which allows the user to navigate the app while content is loading, for example: navigating back to the previous task while content is loading will cancel the download.
  • Butterknife, by Jake Wharton, is used to bind views instead of the standard view binding method. Truthfully I have no idea what this means but it saves time so just go with it. ;)
  • Glide is used to load image urls provided by the spotify api. This saves a lot of loading time by asynchronously loading an image while scrolling as well as compressing it to speed up the download as much as possible.

Features

Pasta for Spotify has almost all the features of the official app, though playlists cannot be downloaded because that could potentially create a way for users to export songs from the app, and I'm sure Spotify would not like that.

  • Shows newly released albums and featured playlists
  • A favorites section for playlists, albums, songs, and artists
  • Search through all of Spotify's database
  • View different categories of music
  • Dynamic backgrounds that adapt to the album art
  • A light/dark theme in the settings menu
  • Options to change the global color scheme of the app
  • Change the ordering of songs in playlists and albums

Limitations

  • The app will occasionally refuse to play a song until a restart. The "Unknown error, please restart" toast message is specific to this issue.
  • It is not possible to download a track to play it offline. See this issue for progress updates.
  • The 'restart' button usually causes an authentication error resulting in the app force closing.
  • The 'Sign Out' option in the settings menu will cause a crash if the official Spotify app is installed.
  • There are many features that are not accessible from a free account, such as playing songs and favoriting tracks.