Apple Music App – How not to design on mobile


Latest Update : On December 8th 2015, Apple updated the Music App and has tried to simplify access to content but it remains a serious fail. Adding the index on the right of the screen when scrolling is not a proper answer nor a desired design pattern for users with significant music librairies or a large number of singles… and so it continues.


Google Play Music does a much better job at showing us our content and potential interest as the “recent activity” is the emblem of simplicity and personal access.


Update : I’ve made a few updates and changes based on comments from readers. Thanks for the feedback & don’t be afraid to leave a comment below! Discussion is action and you would be surprised how industry players read our blogs.


music-nav-icon-340-wideAfter years in the making, Apple finally updated the music app on iOS 9. I know there’s a lot of reviews already on the web, so I won’t waste your time on the same subjects found. I also won’t spend time on the available content per se, nor the Apple music service itself, as I think this has been made clear.

Here are a few for the curious at heart :

  1. TechRadar – Apple Music Review
  2. MacWorld – Apple Music FAQ
  3. The Guardian – Apple Music Worth Paying?

Based on these available reviews, and the web is full them, my goal in this article is to critique the design and usability of the app. In a nutshell : why this app is the worst Apple has put together in recent years; let me show you why (yes, worst than the Apple Maps-gate of a few years ago).


One final thing, I won’t comment on the icon itself or the color scheme chosen for the app, as these don’t “ultimately” affect how a user experiences or navigates in the app nor the service. Purists will critique this, but hey, I’m far from perfect – but always curious.

All and all, the app could be white, blue, grey, red, or any combination found on the RGB palette, it wouldn’t make it easier to use because simply : it has failed users at so many levels it’s hard to grasp a starting point.

To help follow my comments, I’ll try to go from top to bottom. This will ease the flow in my comments, but sometimes for information purposes, I’ll have to navigate back to make key relationships.

Failure #1 (minor) : Top left : Profile Access Pic

Once you open the app and look at the top left, you can see the empty “user icon”. The kind of icon you get when you create a profile and haven’t yet or taken the time to upload a picture

IMG_0259

I’ve had an Apple account for more than 10 years and this is what I get? An empty icon? Where’s my pic? I know it’s there, I see it every time I logon into other Apple services. If Apple doesn’t want to show us or use the now famous hamburger menu, fine, but this icon doesn’t help us know what it’s for and especially, why we should click on it.

IMG_0261

We have to remember as app designers and creators, not every user has vaste experience on iOS! Many of them come from the Android or the Windows Mobile side and we need to think about everyone when we design apps. Put it simply, if this icon truly had a specific purpose, maybe I could understand (multiuser, etc.), but this is not a good design choice as the app is essentially a “one to one” relationship.

Apple, see how Spotify and Songza (now owned by Google and soon dying as it is being integrated in Google Play) others are doing it and get some plan together to change this. If you don’t want to show my personal pic for technical reason fines, then just write profile or something; keep it simple and accessible; purposeful.

And while you’re at it, when we do click on the icon, would it be possible to give me more information on the same screen please? Cause if I want to see the rest of my information, I have to click once more, and for what… just the capacity to change my account name?


Apple, you can do better than that. Please.


Failure #2 (minor) : Top center : Library & Playlist Segmented Tabs

OK, I understand the idea here, enable a user to rapidly choose a segment based on the user’s library or playlists, but what about other possibilities? Personally, I don’t use playlists and good for the people who do. But would it be possible to change that to something else like Genres, Beat, Style, Years, etc? I’m sure we could find an easy way to change this in settings or something.


With all the might that Apple has in the music and technology industry, is it even possible to make this better? I think it is.  Give us the ability to minimally customize the segment bar to something we (all) can actually use in our day to day interaction with the app.


IMG_0259

Users should be able to change that segmented control plain and simple. Apple has hundreds of designers and coders around the world, I think we can ask for more. A little customization wouldn’t do any bad here.

Failure #3 (major) : Top right : The search icon

It’s not really a failure per se, but I think I use this icon way to much for my liking. If I could mostly find what I want when I get in the first screen of the app, I could finally stop continually searching. Search should only be needed for “deep” searching or specific situations, nothing more.

Spotify found a much cleaner way to address this and apple should learn from them. A screen flow of potential options like, genres, playlists, mood and discovery is much better and easier design. I admit that it’s similar to other apps, but you get the picture.

Failure #4 (major) : Top Mid Section Center : Recently added

This is certainly one of the main critique I have about this app. I guess it’s fine if you have somewhat of a static music collection, but every time I ad music to my iPhone, it’s displayed here in a static shape and form; 3 Covers that’s it.

Also, because you see the covers in this section, you expect to be able to swipe through them to see more… but no sir! You can’t. wow.

And if by chance you do swipe left, you’re bounced into the playlist screen… The screen I just said earlier I don’t really need.


This is getting frustrating, I just want access to my music, nothing more.


Finally, why is this section so prominent on my screen? It takes way too much real-estate especially if I don’t’ use it or very rarely.

Failure #5 (major) : Lower Mid Section Center : Artists / Albums / Songs…

Apple, I have hundreds of Artists, albums and thousands of songs! How am I suppose to navigate through my files using this interface? Presenting a UITableView for a massive music “database” is simply inconceivable.


After using this app for the past few months, I have an Arnold Schwarzenegger size thumb.


But seriously, instead of finding my music, I must swipe and swipe and swipe. Eventually I just get frustrated and finally decide to just click on something so I can start or continue my walk or activity. This needs to change.

Someone could argue : “Hey Seb just use the search icon on the top right” but my answer to this is no. I want to see my music and the songs I just listened to a few minutes ago, today, yesterday. I don’t want to robotically scroll through all my files…


Hey Apple, here’s the Donald Trump idea for you : why don’t you show me similar artists or music in relation to what I’ve been listening to – a few moments ago?


Here’s another brilliant one : the app could enable me to group my music by memories. If you’ve done ANY research on music, you’ll know that for many of us humans, the sense of smell and sound is key to memories… Don’t you see a link? I do.

Oh, and please credit me if you do, I’d love that. And if I somewhat missed that option in the app, could you tell me? Thanks.

Failure #6 (major) : Lower Screen : The TabBar

As I mentioned before, I carry my music collection on the go. That’s why I bought an iPhone 6S Plus with 128 gigs, nothing less. I want my music and I want it now and everywhere.

The For You tab

So what’s with the TabBar at the bottom? “For You”? Hum this is not for me. I don’t use the Apple Music Service. So you think it would be possible to change this? Could I put something else there? Thanks.

IMG_0260

The New tab

OK, I get the idea, how about a bit of marketing. But Apple, I usually listen to music like Nine Inch Nails, Rammstein, The Smashing Pumpkins, Radiohead, etc.


Why am I presented with the latest Justin Bieber album? Or the ever repeating Adele “Hello” Song? She sold millions of copies in the past few weeks, I think we’re good for now. At least, how about showing me up and coming artist? Spotify does a great job at that!


Also, as I live in the great country of Canada. So how about showing me Canadian artists here? It think this would be a minimal change and would personally bring me more value. While I’m it, we could change that in the settings or something – you know the icon you give on the top right of the app? There I could include personal preferences and have more possibilities to customize my music taste. Simple things really.

IMG_0254

I can see at the top of the screen that I can change the Genres to something else. I then choose a different genre something like Metal or Alternative. But you know what?


Every time I close the app and open it back, it goes back to “All Genres”!


Apple. Once and for all, I don’t want to see Adele or Justin, I want to see what I chose last time, simple, no?

In conclusion

So enough on the fail side for now. And let’s have a global design conversation on the app.

At this point in time, I navigate between the Apple Music App and mostly Spotify. I have a few songs on the Google Music because of the great deals I got last year.

But it seems to me the problem is significant. Most music app I see put a lot of effort into the look and feel, the content or the experience, but most forget about the user, the users music and his personal tastes.


Yes we know music streaming services are all cool, fun and hip at this point, but many of us still like to have our music on our devices. We are owners Apple, well somewhat as it is still not clear when we download songs on iTunes, but you get my point. I don’t want to continuously stream my music.


Is it too much to ask to give us access to our music? Also, the app could use the power of the cloud in the background, that could bring us good things, we use the cloud everyday! Anyway, here are my key recommendations for the Apple Music App (and others if they are reading this – and they are) :

1 – Enable the app to satisfy “streamers” and what I like to call “owners”. Whether I stream or not shouldn’t’ break my user experience. Simple.

2 – Use the power of the cloud to “supplement” local music. Apple and others did a little something a few years back : add an album cover to our tracks. But why stop there? I’d love to use a service that bridges the gap between owning and streaming music : the cloud is perfect for this!

The cloud backend could add additional metadata and information to my library, such as concerts that are coming, what are friends listening, memories, activities, etc.

Now some have done this like Spotify, but I feel we could go much further and Apple is definitely positioned to answer the call as it’s so far out of it at this point. Come on Apple, show us the real power held in your datacenters!

3 – Design apps for the core purposes. Maybe a cool design works great for a weather, a stock app or an activity app, but it doesn’t make it good for all apps nor this music app. Simplicity is key, I understand, but there’s a limit to where it breaks the experience. Songs and albums are not only files, but much more for the user…

What I’m trying to say is this : a music app is about music – my music. It’s not a radio station, it’s not a social or media app and is certainly not a dedicated music store. Now if designers can make it work , fine, but if they can’t, don’t. Stick to the core.

4 – I still don’t understand the limitations found in the newer design from Apple and others. Some go minimal, others go flat, etc. As a user, I don’t really care about this when I listen or navigate my music. What I want is an app that gets me my music, helps me to somehow “organize” and present content that relates to what I like, what I listen to, what I want. This app doesn’t accomplish any of this.


On a final note : Adele signs beautifully, I’m just not a fan. Respect.


 

Perspective on Parse Local Datastore for iOS

This is in part an excerpt from the parse documentation. This small post is based on my solution architecture perspective on the Parse Local Datastore* for iOS.

Why use a local Datastore when using parse and iOS…

Usually, we use local Datastores to keep the information when our App is offline (no connection, airplane mode, etc.).

But other problematic scenarios may be solved using this approach, such as – performance issues.

From my experience and many reads on the Internet, developers simply integrate parse’s InBackground method to query’s and thus “free flow” the

App and virtually speed up the screen presentations. Not a bad idea.

But this approach may be fundamentally wrong from start and for a very simple reason… timing.

When you use the InBackground method without pinning, your App may present the next screen faster than the query, thus leaving your scene empty or simply presenting you with errors.

I’ve personally lived this with my partner in crime more than a few times, and this is not good, nor fun. Here’s an example from the parse.com website:

 PFQuery *query = [PFQuery queryWithClassName:@"GameScore"];
 [query whereKey:@"playerName" equalTo:@"Dan Stemkoski"];
 [query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) …
 }];

Aware of this potential shortcoming, the need for a local Datastore is great news (in some cases caching with parse is great, but this subject will be for a later write up, as caching has key limits. I hope this will change in time to become more powerful.).

Finally, this is not a parse “how-to”, so if you’re not comfortable on the subject, I highly recommend going on parse.com and read up on the solution, it is very simple to understand. Here we go:

[PFObject pin] / [PFObject unpin]

Instead of just creating a “standard” PFQuery and “waiting” for results or going in background, we can now “pin” (save data) and “unpin” (remove data). Simply:

  • [PFObject pin] persists PFObjects to the Local Datastore.
  • [PFObject unpin] removes them.
  • Once pinned, we can access the data with a normal PFQuery.

The following is a simple example from parse.com documentation. Key references are in bold to easily view the information.

PFQuery *query = [PFQuery queryWithClassName:@"Feed"];
 // Pin PFQuery results
 NSArray *objects = [query findObjects]; // Online PFQuery results
 [PFObject pinAllObjectsInBackground:objects];
 ...
 // Query the Local Datastore
 [query fromLocalDatastore];
 [query whereKey:@"starred" equalTo:@YES];
 [[query findInBackground] continueWithBlock:^id(BFTask *task) {
 }]];

Does my data persist when users quit the App?

Yes. Parse’s documentation confirms the following:

“Pinned PFObjects will remain accessible while offline — through app exits and restarts — until they are unpinned. Subsequent saves, updates, or deletes will keep your Parse Local Datastore results up-to-date.”

Can I update the information?

Yes. Objects can be updated using the saveEventually method. As confirmed by parse, the following will update the Local Datastore and then remotely.

The following is a simple example from parse.com documentation. Key references are in bold to easily view the information.

 feedItem.starred = YES;
 // No network connectivity
 [feedItem saveEventually];
 ...
 PFQuery *query = [PFQuery queryWithClassName:@"Feed"];
 [query fromLocalDatastore];
 [query whereKey:@"starred" equalTo:@YES];
 [[query findInBackground] continueWithBlock:^id(BFTask *task) {
 // "feedItem" PFObject will be returned in the list of results
 }]

What to remember

The key thing to remember is that enterprise and solutions similar to Parse gives us developers great tools, but we have to make sure we use them intelligently.

Methods such as findObjectsInBackground can blindfold developers into thinking all is good – as long as the connection time and speed is good. When it’s not, that’s when other solutions need to be implemented.