I spent yesterday afternoon creating a Chrome extension using Adnan Topal’s extractCSS library. I found extractCSS.com a few months back, I think via Hacker News, and thought it was a cool idea. It lets you paste a chunk of HTML code and it will extract the CSS classes, IDs, and inline styles used in that HTML. It produces a skeleton stylesheet with rules for those IDs and classes, and inline styles already filled in. It seems like just the thing to use if you want to build a child theme for a WordPress site, for example, or do other derivative work on an existing site’s framework. The annoying thing about extractCSS.com though is that you have to paste HTML code, you can’t just point it at a URL and let it get the HTML for you. My Chrome extension lets you get a skeleton stylesheet for any page you’re viewing, just by hitting a button. No viewing source code or copy/pasting anything.
I subscribed to Spotify for over a year, ever since they became available in the US. I paid $10 monthly to get mobile access because I loved being able to sync playlists offline and play them in my car. Spotify radically changed how I listen to music. I no longer had to purchase songs then hook my phone up to my laptop to get those songs on my phone so I could listen in my car. The most I would do was sync a playlist to my phone from within the Spotify app so that I could listen uninterrupted while I drove through areas with bad cell coverage.
Over the last year, however, I’ve grown increasingly frustrated with Spotify. I listen constantly throughout the day, while I’m at my desk at work, sitting with my laptop on the couch at home, and in my commute in the car. It feels like Spotify never updates anything major. I constantly am prompted to restart the desktop app for updates, but I’m never quite sure what was changed. I feel like most of Spotify’s money goes to renewing music licenses instead of innovative app development. That’s probably outside of Spotify’s control, but the iOS app was a pain to use, and I know it doesn’t have to be that way.
This morning was the final straw that caused me to cancel my Spotify subscription and start an Rdio subscription. I got in the car and opened the Spotify app and had to go through the usual period where Spotify dicks me around. It just sits there with a loading indicator, doing God knows what, when all I really want to see is a list of my playlists. I want to start my music and get on the road, and I want music to start playing near instantly. This morning, Spotify gave me the usual loading B.S. before finally giving me an in-app alert about how I had reached my device limit. So, that’s a thing. You can only have three devices with offline playlists (this limit doesn’t exist on Rdio, I discovered). Now, I haven’t added any new devices. I’ve had some playlists synced to my home laptop, my work laptop, my iPad, and my iPhone for months now. Something must have changed to cause Spotify to harass me this morning. Anyway, the app tells me I have to quit Spotify to get offline playlists back on the phone, and it provides a handy Quit button. I tapped it, nothing happened. I waited, nothing happened. Whatever, I popped out to the task manager and killed Spotify. Reopening it, I see that all my offline playlists have zero songs synced: I would have to redownload all my music for it to be available offline on my phone again.
I had previously used Rdio because I got a free trial where I could use their mobile app. It was a lovely app in iOS, too, and the browser app looks good as well. Spotify just feels so clunky on my phone. I could never see a list of just the playlists I had available offline, which would be super convenient when I know I’m driving in an area with bad reception. Rdio has this as a built-in filter in the mobile app. Spotify has a ‘Local Files’ list that I originally thought would show me all the tracks synced to my phone, but it was mysterious and never actually had anything in it. I think it actually would show tracks that were in the Music app from iTunes.
Another feature that has impressed me is the ability to use Rdio from my laptop as a remote control for the Rdio playing on my phone in its little speaker system across the room. That was always a pain with Spotify where I’d want to use my nice speakers instead of my crappy laptop speakers, but invariably a song I didn’t want to hear would come up, so I’d have to put my stuff down and go across the room to skip it. Spotify knows when I start playing music on my phone when it was already playing on my laptop, which makes me think they could implement this feature as well… but they haven’t.
I used resp.in today to convert my Spotify playlists to Rdio playlists. I copied URLs for playlists from the Spotify web player, pasted them into resp.in, then let it work its magic. When I accepted the name of the playlist that resp.in imported, it would add it to my Rdio account automatically. I didn’t have a single playlist that was missing a track on Rdio that was available on Spotify.
I’ve used Rdio for a few weeks now, including the free trial I had a couple months back and my use of it today. In iOS 7, I was pleased to see I still have lock-screen controls for Rdio. I was also pleased to see that the option to sync a playlist to my phone is not a single tap away from being turned off, like it was in Spotify. You could easily accidentally tap the slider control for syncing a playlist because it was at the top of the playlist, and turning off syncing might cause your tracks to need to be redownloaded. To access that option in Rdio, you make a long press on the playlist and choose a menu option. That suits me fine, because it’s not a switch I want to toggle frequently. When I load a playlist, I generally just want to play it, not change it, on my phone.
Another annoyance with Spotify on my phone that I haven’t noticed with Rdio is I would often tap the screen, waiting for it to register my button tap, and inadvertently tap some button I didn’t mean to tap. I dislike in the Spotify app that I can get nested pretty deep in search results or in a playlist in a folder, and I have to tap several times to get back to the main menu to be able to start a new search or find a playlist. In Rdio, there’s a little menu icon in the top left that I hit. It seems the most I have to tap is twice to get that little menu icon: if I’m viewing a playlist, I tap the back arrow, then the menu icon is visible. The menu itself has a search bar embedded directly in it–no separate search page necessary. There’s also a Playlists option on the menu.
These are the features that are important to me in a music player:
- Expansive music catalogue
- iOS app
- Offline play on mobile device – don’t set arbitrary limits on how many devices I can have offline playlists on or how many songs I can have offline. Spotify does set limits, Rdio doesn’t.
- Responsive mobile app – this is where Spotify really dropped the ball. Using that Spotify app every day, I would have to sit in the car for several minutes, waiting for Spotify to finish doing whatever it was doing and let me select a playlist and start the music.
- An API – I want awesome apps like resp.in to be available, and I want to play with the API myself.
- Last.fm integration – I want to scrobble my songs to Last.fm. Rdio has this at the account level, so when I listen on my iPhone, iPad, or laptops, it all gets scrobbled. This is nicer than Spotify where I had to re-enter my Last.fm credentials on each device where I listened.
This is a tutorial that shouldn’t need to be written, if half the parties involved weren’t being ridiculous. My problem: I have Art Academy on my Nintendo 3DS and I want to post my paintings on Tumblr. I don’t want to remove the SD card every time I want to get an image off of my 3DS. The solution I discovered is a circuitous one.
First, let me tell you what doesn’t work:
- Nintendo has an image sharer site just for the 3DS. You can post photos from your 3DS directly to Tumblr, Facebook, or Twitter. Sounds exactly like what I want, right? Well, it is, except for one stupid restriction: the photo has to come from an approved list of software. By some genius oversight, Art Academy is not included. So instead of posting my photo like I wanted, daddy-knows-best Nintendo throws an error message and my photo goes nowhere.
- I can upload to my Dropbox via the Dropbox web site. Why not upload a photo from the Nintendo 3DS browser? Because Dropbox, in all the glory of the modern age, has lost its way. At its heart, it is an image upload form with a list of files. However, the fancy Dropbox site would not load in the very basic Nintendo 3DS browser. I managed to get logged in, but then the Upload button was nowhere to be seen and the page was mostly blank, with none of my files showing. Something was obviously awry. Dropbox has a mobile site, but it doesn’t have any option to upload files (!!). Why would I ever want to upload a file to Dropbox?? I mean, who does that? Moving on…
- Imgur would not load in the 3DS browser, so I couldn’t upload an image and then post it to Tumblr later. I even tried the ?noFlash URL but that didn’t work any better.
- My Tumblr dashboard would not load in the 3DS browser, so I couldn’t post to Tumblr directly.
- I tried to sign up for a new Photobucket account because I saw they have a mobile site, but I got leery because they had restrictions on my password: “can only contain the characters a-z, A-Z, 0-9, -, _, contain no spaces, and cannot start with a zero”. Why do they care what I put in my password? Sounds like improper password storage to me.
All right, now that I’ve got some frustration out of my system, here’s what I did that worked:
- Load up
- Once you’re signed in, Gmail tells you that you might not get the full desktop experience. I don’t care, the basic “send an email with an attachment” experience is all I want! Hit Compose.
- Now, you can either send yourself an email with your photo for later use, or you can (in a separate browser since the 3DS doesn’t handle Tumblr well) look up your Tumblr post email and post directly to your Tumblr via email. Fill out the recipient email in Gmail.
- If you’re sending the file to Tumblr, put the photo caption as the email subject.
- Scroll on down with your little stylus and you’ll see a super simple file upload field for an attachment. Huzzah! Tap Browse and find the image you want from your Nintendo 3DS’s SD card.
- Scroll on down and tap that Send button. Thank fuck Google kept us dumb-mobile-browser users in mind.
And you didn’t have to remove that tricksy SD card!