About 12 months ago, I had a conversation with a friend of mine that convinced me it was time to try my hand at writing a commercial software product. At the time, I had only very recently dropped development of VirtueDesktops and was seriously considering just taking a break from Mac development for a while - thankfully I didn’t, and today I’m releasing the fruits of 12 months of learning and hard work: Hyperspaces 1.0 Public Preview.

So what’s this all about, you ask? Put simply, Hyperspaces works hand-in-hand with Apple’s Spaces to add back a few key features that traditional virtual desktop applications provide, such as:
- Different desktop backgrounds per-space;
- Coloured tinting of desktop backgrounds per-space;
- Naming of each space;
- Desktop labels that show each space’s name;
- Customisable hotkeys to switch directly to each space;
- and more!
I’ve got quite a few features on the drawing board including a much more customisable switcher and more customisation options for each space.
I also need to thank quite a few people who’ve been a huge support and invaluable resources:
- My girl Leah - you can have your boy back for a bit now sweetheart :)
- Jan Van Boghout for all of the code and advice at every stage of development;
- Sean O’Brien for the kickass space selector view in the preferences (and quite a few other groovy graphical doodads!);
- Steve Voida who helped reverse engineer quite a number of new private CGS calls (thanks Steve!);
- Nik Youdale and Zac Cohan from Aqualia for advice and crazy code that I barely understand;
- Chris Forsythe for the kick in the pants to do this in the first place;
- Sebastiaan De With for the incredible application icon;
- Neil Ang, James Pamplin and Dean Robinson - for constantly, consistently pestering me to finish this app - you guys are awesome to work with - roll out, CocoaBots!
It’s been a long and rewarding road over the last year, and I wouldn’t trade a minute of it but here’s a couple of things I’ll know not to do next time:
- Working full-time while trying to get your first product off the ground is really hard - I found taking a break once every few weekends really made a difference;
- Don’t buy a house in the middle of writing your first application (on top of working full time);
- Don’t start renovating a house in the middle of writing your first application (on top of … you get the picture);
- Be ready to drop features for 1.0. The Hyperspaces alphas had some great features that will probably come back in a future release, but they weren’t critical to what I am trying to achieve with Hyperspaces;
I’ll post a post-mortem that goes into some detail about the programming challenges I faced in a few days. OK, enough rambling from me - go download the preview and let me know what you think!