October 16, 2008

Hyperspaces 1.0 Public Preview

Screenshot of Hyperspaces switcher from the beta release

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:

  1. 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;
  2. Don’t buy a house in the middle of writing your first application (on top of working full time);
  3. Don’t start renovating a house in the middle of writing your first application (on top of … you get the picture);
  4. 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!