Reverse Remote 3 Sneak Preview

Wow, it’s been almost a year since the last Reverse Remote update. With 2.0 I got to a point where users could browse by all the main music categories and there didn’t seem to be any glaring bugs, so I chilled out for a bit. Then I started grabbing some low-hanging fruit from user feature requests and working on some improvements I care about. I didn’t have the project under source control until recently (had Time Machine backups but that’s it), so I don’t have records of how often/how much I’ve worked on it over the last year, but I’d say I’ve actually spent more time on version 3 than on 1 and 2 combined.
So what’s new?
Well, for starters, a small tweak requested by a user:
Safari has a feature I didn’t know about called Bonjour Bookmarks that will show you all web servers on the local network that are advertising themselves via Bonjour. It turns out to be pretty easy to advertise your service via Bonjour, so Reverse Remote 3 will do this. For similar functionality in Firefox, check out the DNSSD for Firefox extension.
I should point out that you’ve always been able to get at Reverse Remote via your device’s Bonjour name provided your network supports it. So, for instance, even in version 1 I could type “http://popeye.local” (where Popeye is the name of my iPhone) to access Reverse Remote. But not all computers/networks support Bonjour, so I still have to show the IP address as the primary means of accessing Reverse Remote.
What else is new? Well, some users have gently pointed out that I could use help from a graphic designer. I don’t make enough money on Reverse Remote to justify paying one, but I’m not above shamelessly copying. So I dug around the web for some iOS-inspired CSS, and hopefully the result will be easier on the eyes:
(It’s mostly a fluke that I have Jimmy Needham playing in all my screenshots, but it’s certainly not a bad fluke.)
You’ll probably also notice the various sharing links on the right side there. I know nothing about marketing, but I figure it can’t hurt to allow users to easily tell their friends about Reverse Remote, right? The only concern is that this does generate a small amount of internet traffic, where to date Reverse Remote hasn’t generated any. I had a user ask me about that because he lives in Europe and has pay-as-you-go Internet access. I may add an option to shut off these links if that’s your situation (or they just annoy you).
You may also wonder what happened to the scrub slider and the repeat/shuffle buttons. Don’t worry–they’re still there:
They appear when you hover over the top of the Now Playing artwork, much as they only appear in the iPhone’s Music app when you tap the Now Playing artwork. Still, you might ask, why hide them by default?
Ah, because I need the whole UI to fit on an iPhone screen!
Getting the web UI to fit on small screens and work with touch devices has been a major focus of my development for Reverse Remote 3. When I first wrote it, I had only one iOS device, an iPhone 3GS, and I was mostly concerned about controlling it from my MacBook Pro. But since then, I’ve upgraded to a 4S, my wife has an iPod Touch, and we got an iPad 3. And it would be nice to control Reverse Remote from all of them. This would bring it into closer feature parity with apps like Tango while retaining Reverse Remote’s unique advantage of being web-based so you can us it from any computer without installing custom client software.
Previously I was using the YUI slider for the volume control and scrub sliders. I had assumed that all the necessary mouse events would get translated to the appropriate touch events and things like dragging the slider would automatically work on mobile browsers. I was wrong. I was made acutely aware of this when I was talking about Reverse Remote in an interview and the interviewer decided to pull it up on his iPad and got really frustrated trying to drag the sliders. So I switched to a combination of the jQuery UI slider and the “Touch Punch” hack to enable touch support. The jQuery slider looked easier to style as well, which is good because I never liked the default look and feel of the Yahoo! one and didn’t feel up to trying to style it. I may really go to town, or I may leave it roughly as it is.
For good measure, here are two more screenshots from the iPhone and one from the iPad:
I don’t know when it’s going to be done, but keep your eyes peeled, and feel free to comment if you have questions/criticisms/small feature requests (emphasis on small–just being realistic here).
Cheers!