All Posts By


Future of AudioSwitcher and Wimoweh

By | Audioswitcher, Blog, Test and Demo Versions, Wimoweh | 5 Comments

There’s been a distinct lack of development for Wimoweh and AudioSwitcher over the past couple of months for two main reasons.

Firstly, I’m working on a new knowledge management tool which is taking up a considerable amount of time but will be available for testing in early August.  If you’re interested or just curious and would like to be part of a closed beta group then PM me: @serialangels.

Secondly I’ve decided to rewrite both Wimoweh and AudioSwitcher:

i) To take advantage of Swift, Apples excellent new development language which makes development much more straightforward.  I use it almost exclusively for macOS and iOS development now and it greatly simplifies the maintenance and design of AS and Wimoweh.  Both AudioSwitcher and Wimoweh have changed massively over the past couple of years and it’s fair to say that their design and organisation has been organic, i.e, unplanned and slightly chaotic.

Old Wimoweh Screenshot

NSMenu: The way we were,

ii) Because of  need to leave the App Store. Both AS and Wimoweh are facing a real problem in that the technical restrictions imposed by the App Store are limiting the implementation of new features.  For these applications to continue to be useful and provide new features means taking both of them out of the App Store in the short term.  From a non technical standpoint my ability to provide support via the App Store is virtually non existent.

I started porting Wimoweh over to Swift this morning and within a few hours have the basic framework up – I’ve been able to shed dozens of lines of code and have a much cleaner project.  Follow on twitter for further updates.

Time for Apple to switch to a Linux kernel and ARM

By | Blog | No Comments

I remember about 15-16 years ago buying a particular motherboard that cleverly allowed the use of cheap, off the shelf processors in SMP configuration.  This was back when clock speeds were still mostly measured in MHz and multi processor machines were thousands of dollars.

Back then the first thing people would say was that there wasn’t any (consumer) software that would take advantage of multiple processors and that was partly true.  I do remember very clearly being glued to my system monitor watching the load being split across the two cores and trying to concoct ways to utilise both cores.  I remember a parallel mp3 encoder being great fun back when encoding to mp3 actually took a noticeable amount of time.

I’m writing this on a 2011 iMac with an i7 and I would genuinely have to look up to see how many cores it has.  Even my rather ancient iPhone has multiple cores, my £22 Raspberry PI has multiple cores.  Now virtually any application on a modern machine can make some use of multiple cores.  This has been driven in large part by changes to operating systems and their supporting libraries which make it far easier for developers to parcel up their programs into discrete chunks and let the OS sort out where they will run.  In those 16 years since the BP6  the scale of the data being pushed around even for basic work benefits from multiple cores with the potential for IO running on a separate core to the UI and the users processes on others still.

My BP6 ran Linux back then because I couldn’t afford a Mac and even if I had used Windows, SMP was only  available on Windows NT.  I’ve been using Linux for over 20 years and seen it develop from a curiosity, to a hobby to the kind of Un*x implementation that I’d want to hear good reasons for why it wasn’t your first choice.

If I was Apple I’d be asking myself for those reasons now.  The technical arguments over whether Mach/BSD  is superior to Linux are largely irrelevant to the marketplace and Linux will provide greater flexibility for future architectures.   There are issues around Apple’s often stated desire to retain control over their systems but I think Apple see the benefits of being open far more clearly than they are given credit for.   Speaking of future architectures surely the next step for consumer hardware will be multiple, cheap and efficient cores unified by a modern OS, superb library support from Cocoa and applications written in the astounding Swift programming language which, by the way, runs on Linux.

My next Mac? OS XI running a Linux kernel and 32 ARM Cores please.


On Getting What You Pay For

By | Blog | No Comments

About a year and half ago I bought a Caldigit VR Mini2 to use for work. It’s a couple of 2TB 2.5″ drives wishing a very pretty aluminium enclosure providing RAID 0 or RAID 1.  removableThis allows me to present a single device to OS X which in turn allows CoreStorage encryption services to easily coexist with a RAID device, something AppleRAID struggles with.  You also get two Firewire 800 ports so I can use it on an older 2011 Mac and a USB3 so I can use it with newer machines as well.  It looks great.

A week or so the drive failed to power up, power and activity lights flickered but the LCD displayed nothing.  I contacted Caldigit and asked them to send a replacement power supply which they did but the problem persisted.  I’d found by this time by powering the drive using Firewire (USB needs an external PSU) I could still use the drive so maybe a problem with the power board inside the enclosure.  The LCD on the front of the drive seems to think the RAID array was still intact

After a prolonged e-mail conversation with Caldigit support two things emerged.

  1. Caldigit only provide a 12 month warranty and didn’t want to replace the unit
  2. One of the two Seagate SpinPoint drives had failed (click of death) which seems to be responsible for the enclosure not powering up

Here’s what I learned

Caldigit tech support is poor and their enclosures diagnostics are worse.



I found myself having to drive the diagnosis with CalDigit.  At no point did Caldigit suggest it might be something as simple as a drive failure but then who designs a RAID enclosure whose response to a drive failure is to flicker the power LEDS, display nothing on the LCD and offer no ability to initiate recovery.  I’ve got backups and I can live without the drive for a week, I wonder if the guys featured on their website shooting footage on location are so sanguine when a drive goes tits up?  I can only assume my support experience is unique.

CalDigit’s warranty sucks.

What does it say about your confidence in your own product if the generic drives inside have double the warranty of your enclosure?  You really only want to warrant this £474 enclosure will work for 12 months?  Think about it, at some point, some guys at CalDigit sat down in a meeting room and had a discussion that ended up with them saying “The VRMini2? I’d give it a year.”

I was suckered by the branding

CalDigit presents itself as providing robust, professional storage solutions particularly to creative industries.  Their website is full of exciting location shots with their gear co-existing with other high end, hard-use professional brands: Go Pro and Nikon, you know the kind of thing.  And that’s great, it’s one of the reasons I chose the VR Mini2 in the first place – I mean look, here’s one half way up a mountain side!  Who wouldn’t want that?


I work in the exciting area of content creation! Up a mountain!

But the figures don’t add up

You can pickup a 4TB VR Mini 2 from Caldigit in the UK today for £474. It’s got a couple of Seagate Spinpoint 2TB drives which I can get on Amazon for about £78.  £474-(78*2) = £316.  So I’m paying £316 for a RAID enclosure that a) doesn’t handle drive failure well and b) only has a 12 month warranty.  I could have bought 6 2TB drives and a USB hub for the same sort of money and had more space and more fault tolerance.

Here’s one I made earlier

And I’ve been there and done that, it would have been ugly and needed more work and that’s kind of the point; for my work I was willing to pay more for the convenience, the aesthetic and the brand.  In purely economic terms that what brand is, a mechanism to get supposedly rational consumers to pay a higher price for a product by altering their perception about the product or, more often, their perception about themselves with the product in their life.  We all do it all the time but what we don’t always do is try and figure out how much we actually pay for that.

How much of that £316 did I pay for convenience? From my experience too much; it’s true the initial setup was easier compared to the drive nest above but when I needed the enclosure firmware to deal gracefully with a drive failure it was spectacularly inconvenient.  The aesthetics?  The brand? I’m not sure but had I worked the figures out before hand and asked my self – do you want to pay £316 for a pretty box that the manufacturer won’t stand behind when it goes wrong I’d probably say no.

Get What You Pay For?

Brand should still mean something.  It’s been argued that brands came into being because companies (food manufacturers) wanted to stand behind their product, “We guarantee fewer rat droppings in Bloggs Flour!”

These days it’s too easy to see brand as something inherently evil, cooked up by grinning MBAs to extract money from us.  I’ve got a couple of very old Garmin GPS units.  Last year the battery cover broke on one of them and Garmin sent me a free replacement, years out of warranty, very obviously battered.

I’ve got a 35 year old Land Rover that needed a hard to find part, a small part but hard to find.  Land Rover UK sent it to me free of charge after asking them for help on Twitter.  That car hasn’t been in Land Rover dealership in thirty years.

Apple replaced the graphics card in my 2011 iMac last year when it failed.  They just swapped the power unit on my late 2012 iMac which failed too.  Both out of warranty, no questions asked.

It’s difficult to pinpoint why those companies behaved the way they did, it may have been policy, it may have been that I got the right person on the phone.  Whatever the reason you know the brand of the next GPS I buy, the next computer and the next car.  Well maybe not the next car as that thing is never going to need replacing.

Now give me what I paid for

I live in the UK and there is a piece of legislation here called the Sales of Goods Act (or now the newer Consumer Rights Act) which essentially says, if its reasonable to assume that a product should last a certain length of time and it fails within that period due to a defect than the retailer should repair or replace it.  From a consumer point of view it’s a good piece of legislation although I’m sure retailers hate it, if they’re even aware of it.  It also needs a bit of effort from the consumer’s point of view to wield it but in my experience t’s worth it. Eventually CalDigit have said that  ‘as a favour’ they would consider replacing the enclosure.  You know what CalDigit? Complying with the law is not doing your customers a favour.

We’ll see if they repair or replace the unit but one thing is for sure, I won’t buy CalDigit again.

Wimoweh 1.1.56

By | Test and Demo Versions, Wimoweh


This is a test version of Wimoweh – you only want to download this version if you’re interested in helping test new features or want a demo version.

This version is valid for 7 days from the first time it is run.

  • Plex support will now detect if Plex is playing media rather than just running – this allows your machine to sleep after Plex has finished running. This also works with remote plex machines
  • Dark Mode Fixes
  • Various updates to move away from deprecated functions

AudioSwitcher 2.24.941

By | Audioswitcher, Test and Demo Versions

AudioSwitcher 2.24.941

This is a test version of AudioSwitcher – you only want to download this version if you’re interested in helping to test or demo upcoming features.   If something doesn’t work then please let us know.

This version is valid for 7 days from the first time it is run.

  • Various bug fixes relating to HotKeys
  • New HotKey to mute all devices
  • Allow volume / mute operations to work on all members of MultiOutput set

El Capitan and AirPlay devices

By | Audioswitcher, Blog

The Problem

Since the introduction of OS X 10.11 (El Capitan) it is no longer possible for AudioSwitcher and many other applications to interrogate AirPlay devices and use them as you would other audio devices on your Mac.  This problem is even present in Apple’s own applications such as Audio Midi setup.

For Developers

Using kAudioHardwarePropertyDevices no longer returns a device ID for AirPlay.  Although you can get a handle to the device ID by using kAudioHardwarePropertyTranslateUIDToDevice you can no longer enumerate that devices data sources, i.e, the AirPlay devices attached to the system.

Apple’s Position

At this point it’s not clear whether this is a bug or a deliberate removal of functionality by Apple.  Developers around the world (including myself) have raised this issue as a bug with Apple but as of early November there is no clear picture as to when or even if this will be fixed.


If you open System Preferences then the Sound pref panel it seems that AudioSwitcher and other apps can then enumerate AirPlay devices.  You may need to restart your application to see the AirPlay devices.

Wimoweh 1.1.54 BETA

By | Test and Demo Versions, Wimoweh


This is a test version of Wimoweh – you only want to download this version if you’re interested in helping test new features or want a demo version.

This version is valid for 7 days from the first time it is run.

  • Allow a delay when moving assertions, useful for Plex transcoders

AudioSwitcher 2.24.940

By | Audioswitcher, Test and Demo Versions


This is a test version of AudioSwitcher – you only want to download this version if you’re interested in helping to test or demo upcoming features.   If something doesn’t work then please let us know.

This version is valid for 7 days from the first time it is run.

  • Keyboard volume control that works with Multi Output devices.
  • Control + Option + { to lower volume
  • Control + Option + } to raise volume
  • Fixes 10.7.5 bugs