17 February 2009
updated 17 February 2009
Bringing device sync to Squeemote
Since the first release of Squeemote arrived in the app store in mid-December, over 500 people have bought a copy, which is more than I’d ever imagined considering it was only originally built to fulfill my own needs (I’ve wanted to be able to control my Squeezebox like this for years).
It’s been a busy couple of months for me, ever since I decided to go it alone and especially since starting a new client project a few weeks ago, I’ve not had a lot of time to focus on Squeemote. I’m starting to pick it up again and I thought I’d give a small insight into one of the forthcoming and oft-requested features, device synchronization.
Getting the interface right
Device synching isn’t something I’ve used much in the past being the owner of just a single Squeezebox but now I also own a Squeezebox boom its something that has become more interesting to me. I’m also very aware that a lot of Squeemote owners own numerous devices and use synching frequently.
I’ve always intended to support device synching but I omitted from the first release due to the complexity involved; I believe in releasing early and frequently and I didn’t want this to hold back the initial release. When I say complexity, I don’t mean so much on a technical level (the SqueezeCenter API makes it reasonably simple to sync devices) but more in terms of how to create an effective interface for synching devices.
Having spent some time pondering the issue, I think I’ve come up with a good first draft of the interface and I want to get it out there for existing Squeemote owners to leave feedback.
I’ve reworked the now playing interface slightly to accommodate some extra controls. On the left is the as-yet unimplemented mute control. The Squeemote icon on the right brings up the new Device Selector screen.
It’s still in it’s early stages but here’s how I see it working:
- In it’s default mode (with sync disabled), it acts much like the existing devices screen. You can choose the active device and hit done, and you’ll be taken back to the now playing screen for that device. In this mode, you only ever control a single device at a time.
- With sync mode enabled, one device is marked as active (the device that was active when sync mode was enabled); for the other devices, the INACTIVE button becomes a SYNC button which when pressed, will sync that device with the active device. Control is always done through the active device.
I’m still not sure how this will take into account sync groups but I have a feeling that this might be enough, certainly for an initial release. Other little bonus features from this interface are:
- Quickly change device from the now playing screen instead of having go back to library mode and finding the devices tab.
- See instantly what is playing on each device.
- Power control for each device! (another much requested feature and a feature I curse myself for not having implemented sooner)
This will be the focus for the next release (1.2) but there will be a few other extra features thrown in such as browse by Genre.
Finally, in case you missed it, Squeemote now has an official home.