Amazon loves to annoy

It’s amazing how Amazon will do all in their power to annoy you. They will sell you DRM-free MP3 songs, and even allow you to download on any device (via their web interface) the full version, for your own personal use, in the car, at home or when mobile. But, not without a cost, no.

For some reason, they want to have total control of the process, so if they’ll allow you to download your music, it has to be their way. In the past, you had to download the song immediately after buying, with a Windows-only binary (why?) and you had only one shot. If the link failed, you just lost a couple of pounds. To be honest, that happened to me, and customer service were glad to re-activate my “license” so I could download it again. Kudos for that.

Question 1: Why did they need an external software to download the songs when they had a full-featured on-line e-commerce solution?

It’s not hard to sell on-line music, other people have been doing it for years and not in that way, for sure. Why was it so hard for Amazon, the biggest e-commerce website on Earth, to do the same? I was not asking for them to revolutionise the music industry (I leave that for Spotify), just do what others were doing at the time. Apparently, they just couldn’t.

Recently, it got a lot better, and that’s why I started buying MP3 songs from Amazon. They now had a full-featured MP3 player on the web! They also have the Android version of it that is a little confusing but unobtrusive. The web version is great, once you buy an album you go directly to it and you can already start listening to songs and all.

Well, I’m a control freak, and I want to have all songs I own on my own server (and its backup), so I went to download my recently purchased songs. Well, it’s not that simple: you can download all your songs, on Windows and Mac… not Linux.

Question 2: Why on Earth can’t they make it work on Linux?

We’re not talking about Microsoft or Apple. This is Amazon, a web company that is supposed to know how JavaScript works, right? Why create executables, ActiveX, SilverLight or whatever those platforms demand from their developers when they can do the same just using JavaScript? The era when JavaScript was too slow and Flash rocked is over, like, 10 years ago. There simply is no excuse.

Undeterred, I knew the Android app would let me download, and as an added bonus, all songs downloaded by AmazonMP3 would be automatically added to the Android music playlists, so that both programs could play the same songs. That was great, of course, until I wanted to copy them to my laptop.

When running (the fantastic) ES File Explorer, I listed the folders consuming most of the SDCARD, found the amazonmp3 folder and saw that all my songs were in there. Since Android changed the file-system, and I can’t seem to mount it correctly via MTP (noob), I decided to use the ES File Explorer (again) to select all files and copy to my server via its own interface, that is great for that sort of thing, and well, found out that it’s not that simple. Again.

Question 3: Why can I read and delete the songs, but not copy them?

What magic Linux permission let me listen to a song (read) and delete the file (write) but not copy to another location? I can’t think of a way to natively do that on Linux, it must be a magic from Android, to allow for DRM crap.

At this time I was already getting nervous, so I just fired adb shell and navigated to the directory, and when I listed the files, adb just logged out. I tried again, and it just exited. No error message, no log, no warning, just shut down and get me back to my own prompt.

This was getting silly, but I had the directory, so I just ran adb pull /sdcard/amazonmp3/ and found that only the temp directory came out. What the hell is this sorcery?!

Question 4: What kind of magic stops me from copying files, or even listing files from a shell?

Well, I knew it was something to do with the Amazon MP3 application itself, if couldn’t be something embedded on Android, or the activists would crack on until they ceded, or at least provided means for disabling DRM crap from the core. To prove my theory, I removed the AmazonMP3 application and, as expected, I could copy all my files via adb to my server, where I could then, back them up.

So, if you use Linux and want to download all your songs from Amazon MP3 website, you’ll have to:

  1. Buy songs/albuns on Amazon’s website
  2. Download them via AmazonMP3 Android app (click on album, click on download)
  3. Un-install the AmazonMP3 app
  4. Get the files via: adb pull /sdcard/amazonmp3/
  5. Re-install the AmazonMP3 app (if you want, or to download more songs)

As usual, Amazon was a pain in the back with what should be really, really simple for them to do. And, as usual, a casual user finds its way to getting what they want, what they paid for, what they deserve.

If you know someone at Amazon, please let them know:

We’re not idiots. We know you know JavaScript, we know you use Linux, and we know you can create an amazing experience for all of us. Don’t treat us like idiots. If your creativity is lacking, just copy the design and implementation from someone else, we don’t care. We want solutions, not problems.

Start a Conversation

Your email address will not be published. Required fields are marked *