tiggit controller

As a side project I am writing a controller for the Sonos Music System to run on BlackBerry. Sonos produce a controller for the iPhone and the iPod Touch – which is really neat, but I need it on my BlackBerry. This page is about tiggit controller.

i have set up a new blog page for this project, and the most up to date information can be found at tiggitcontroller.wordpress.com

tiggit controller has now been released and can be downloaded from http://www.mobihand.com and the BlackBerry App World.

The project is in the early stages, and requires me to reverse engineer the interaction with the Sonos devices, which appear to be web service – like running over http. I am planning three phases for the project

Phase 1 – basic control of a number of un-linked zone players

Phase 2 – provide the infrastructure to allow a non-wifi BlackBerry to control Sonos

Phase 3 – handle the complexity of linked zone players.

Here are some pictures of the work in progress

Pictures updated 7 June 2009 to show album art displayed on zone viewer

Things needed for phase 1 – those in bold are already done

  • Zone Player list
  • Basic zone player control functions – play, pause, skip foward, skip back, enable shuffle, repeat.
  • Set volume, set equalizer, mute.
  • Load queue, add to queue, remove from queue, re-order queue, clear queue.
  • Display play status, including artwork, receive updates of status
  • Download library, albums, artists, genres, composers, tracks
  • Radio service
  • Playlist service
  • Line-in service
  • License management
  • Persist setup/config

Update 12th June

Sonos uses some quite straight forward web services to provide status and control. The tricky part is that it uses http methods that are not supported within the standard BlackBerry http libraries, which means it has been necessary to write my own simplistic http library. This will be fine on WiFi, but should any kind of proxy be needed it will undoubtedly fail.

The more I think about this project, the more I realise that the ‘inside the firewall’ proxy is both an important part of the developer kit and the implementation. The proxy allow a connection from the BlackBerry, over the public internet to the proxy. The proxy would then manage the web-services interactions with the Sonos Zone Player. The connection with between the BlackBerry and the proxy will be over SSL with a shared secret such as a password and the BlackBerry PIN entered into both the tiggit contoller and the proxy.

13th June 2009

Looking for small group of testers.

I am now looking for a small group of trial users to take the current (pre-alpha) build and feedback how well it works. Testers will need to have a WiFi enabled blackberry and (of course) a Sonos ZonePlayer. If you are interested email tiggit@tiggit.com

Latest installation and operating instructions

Instructions to download and install the latest version of tiggit controller can be found here

Installation Instructions

Download is restricted to those that have been accepted to the early adopter programme.

35 Responses to tiggit controller

  1. bruce burman says:

    You are a god if you get this done. I will finally get a blackberry storm if you get this working.

  2. Doctor K says:

    I believe this will not work for the Storm since it does not have wifi. THis is for the Bold and other BB’s with wifi. Correct?

  3. tiggit says:

    The first version will only work with a WiFi enabled BlackBerry such as a Bold. In a second phase I am planning a component that will need to reside on a computer that will form a bridge between the BlackBerry and the Sonos zoneplayers. This second phase is intended to work with Storm.

    The current UI is not really built with Storm in mind – it has no slide and sweep actions as well. I guess this will be updated with release 2.

  4. MW6689 says:

    I’m so in if you can finish this bad boy. Thanks for all your efforts! I have a bold and the 20 pound sonos controller. carrying the bold around at parties would be sooooo cool. Again, thanks, MW

  5. dat Hemroid says:

    oh, please let me know when it’s ready for download! -Hopefully it will work on my 8350i, Nextel’s BB w/ WiFi.

  6. Markus says:

    i’m willing to test. I have a Bold 9000. I’m in the IT field so I know how to not break it…

  7. musiclists says:

    Hi! I have a Sonos ZonePlayer and a Nextel 8350i wifi enabled BlackBerry. I am really interested in trying your development, please let me know how to proceed.

  8. tiggit says:

    David has been testing and has provided the following feedback

    So, my Sonos is a mix of:
    (i) ZP 80 connected to my PC (that is connected to my HDD of music)
    (ii) ZP100 connected to my hi-fi that offers line-in radio
    (iii) ZP90 that is just audio out
    (iv) Controller (CR100)

    My BB is a 8900 on s/w v4.6.1.199, that has wi-fi (when I remember to switch it on!)

    I have been able to find the IP addresses of all ZPs simply by accessing the HELP section of the Desktop Controller where there’s an ABOUT section. It would be good if you were to add this to your manual.

    With regards linking zones, I have had no problems accessing the ZP80, but the ZP100 is temperamental & sometimes cannot connect. I’m OK about this as I can do everything I want via the ZP80.

    I have been able to START, PAUSE & STOP what is already playing using the Tiggit. I have noticed a lag when sending a command when compared to the CR 100 Sonos controller, but nothing too dramatic; only a second or so whilst the data is sent, but it’s a little disconcerting.

    I have found it best to use the BB button on the controller to do this as the roller on my BB is a little too sensitive to use the buttons in any practical way; they *do* work but it’s a bit fiddly.

    When playing, I can see the album art, but it’s almost too small to be of any use.

    I have been able to adjust the volume OK.

    I have tried (and failed) to access the library. I am assuming that this is not in Phase 1, so an “expected error”??

    If I have selected a playlist or album via the desktop or Sonos controller, then that is shown on my Tiggit controller, and I can scroll down that list to select a track etc.. I have not tried this with a Sonos playlist though.

  9. Ashley says:

    Hi, Would be more than happy to do some Beta testing for you. Can test on Bold and the new Curve


  10. tiggit says:

    There are two ways that the controller and the zone player communicate. Firstly the controller makes requests of the zone player which is used to change track, set volume, pause, play etc.

    The zone player also sends messages to the controller to indicate that something has changed – such as the track name has changed, or the volume has been changed.

    There is a bug in the network transport that prevents the controller from receiving these ‘update’ messages.

    I have just fixed these bugs, which results in a much more functional controller. It also allows autodiscovery to work properly.

    Version 0.3 has these bug fixes and will be posted later today.

  11. tiggit says:

    Also, a couple of users have commented that the text on the screen is somewhat too small for many people. I have re-thought the UI and will be rebuilding it to make it a little kinder on the eyes.

    My initial thinking is to have one screen that displays what is playing now that will allow users so pause, skip adjust volume. A second screen will show the queue and will allow users to change order pause, skip etc.

    The re-designed user interface will be in version 0.4

  12. Nigel Walsh says:

    would love to help test, based in the UK with a number of zones etc.. How can I participate. I have the curve 2

  13. I own multiple zones. Blacberry Bold.

    Your a genius. Would love to help

  14. Zach Elwyn says:

    I’d love to participate..

    I have 2 ZP100s, a ZC100 and a blackberry 8820 (WiFi enabled and uses UMA on t-mobile)

  15. Nathan A says:

    I’d be happy to help.

    I have 3 Zone Players, 1 Zone Bridge, Blackberry Bold

  16. jordan c says:

    I’d love to test with my Blackberry Bold, where can I download?

  17. Gareth Walters says:

    Sounds like a great app. Have been looking for something like this for ages, and done believe Sonos will produce one. Have a BB Curve with Wifi and many zones. Great work. Would love to test for you. Gareth

  18. Paul Holman says:

    I am willing to test.
    I have the new Sonos BR250 Bundle and a Blackberry Bold with wifi.

  19. jordan C says:

    where can I download this? I’d love to be a tester.

  20. Erik says:

    This is the greatest thing ever! I would love to participate. I’ve got four zones and a BB Bold.

    I think that this would just be fantastic. Please let me join in the testing fun and I promise to give great feedback!

  21. tiggit says:

    I have just posted version 0.0.5, which focusses on improving the reliability of tiggit controller, and reducing the impact on battery life when tiggit controller is active. Most notably it now displays the zone player names on the zone list. There has been no change to the operation of the volume controller in this release, I do anticipate some improvements here in the next version.

  22. doddsilla says:

    I’d love to be a tester also. I have a Bold with wifi and 4 zones.

  23. Paul W says:

    I would love to be a tester – have an 8900, 2x ZP100;s and a ZP80 + controller. I’ll give as much feedback as I can – thanks

  24. tiggit says:

    A number of people with older Blackberrys are reporting an error stating that this module is missing


    Tiggit Controller does use the OS 4.6 API for a couple of things which is causing this problem. I will take them out for version 0.0.6 so that this problem should go away.

  25. tiggit says:

    I have just posted version 0.0.6 which fixes the problem above, and adds the ability to re-order and delete tracks within the play queue.

    Existing users can select update from the menu to automatically download the new version.

  26. Paul W says:

    I downloaded the software and as predicted I had to manually install my 3 zones. Once installed though I have had no problems and once I have loaded the queue there seems to be no problems for start,stop etc. Unlike the earlier feedback I don’t really notice a “delay” from command to execution.

    It seems that you have had some feedback wrt to the way volume works and if I think about how I use my Sonos Controller…I think a one button ability to change volume would make the controller extremely useful (i.e. I don’t usually play around with the playlist but my wife often tells me to turn it down or mute!).

    Other than that it seems to work very well. Will keep playing with it….

  27. Mike says:

    How soon before we can get our hands on this Sonos controller app? I am simply not going to get an I-Phone

  28. tiggit says:


    You can try it now. I have sent you download/install details. I anticipate the next release will also be listed on Mobihand and other app stores in the next couple of weeks too.

    • MattO says:

      I have a Curve 8900 with wifi on T-Mobile. It works great with my wireless LAN. Would love to test out your controller – will it work on this model, and if so, what should I do for testing?

  29. Dan says:

    If you require any more testers i would be happy to help.

    have BB bold, and ZP80..


  30. ash says:

    Wow this is awesome, good work mate!! How do we get our grubby paws on this?

  31. Johhny says:

    I am happy to test this god sent app in Singapore, I have Bold 9000 and a multiple Zone Players. Can I download and test the app?

    Do you need help commercializing this or are you going to be a good citizen and leave it to open source?

  32. BZ says:

    Please let me know when/if this will be available for the Blackberry Tour (not wifi). Would be happy to be a beta-tester.

  33. tiggit says:

    At the moment there are some problems with Storm 2 that I am looking in to. I will post once I have the problem solved.

  34. SHA says:





Leave a Reply to jordan C Cancel reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: