Monthly Archives: March 2012

This is the first year for ages that I’ve not been to Musikmesse.  I thought about it long and hard – I enjoy the show, and it’s always fun to see what everyone is excited about, to meet people at the booth, and of course to indulge in beer and sausages in the Frankfurt sunshine while seventeen different guitarists and DJs try to outdo each other!

However, try as I might I just couldn’t justify the expense – the odd, unexpected meetings with engineers from interesting companies have always been good, but this seems to be less and less of a feature of the show (I guess they thought the same as me).  I can check out all the products and announcements in pretty much real time anyway, and all the real collaboration gets done remotely.

I tried to see if there could be any useful recruitment opportunities, but again there’s virtually nothing except a small jobs board in German.

I can’t help feeling like we’ve missed out.  I’d love to go to a proper engineering conference, rather than a trade show, with more to offer (technical seminars, workshops etc.).  Something like the Game Developers Conference, which I loved attending in a past life, where us geeks can get together and do our thing without embarrassing semi-naked women trying to sell us DJ bags!
Does anything like this exist, even on a small scale, or is our industry just too small and cagey to support such a thing?

To develop the Impulse firmware, we first wrote a software simulation of the hardware in Cocoa.  Using this, we could rapidly redesign the UI and test out the button layout, and we could also write almost all of the device’s application level firmware before the hardware was even built.

Simluating hardware has a number of advantages

We could turn around design changes very rapidly and distribute the simulator to the team, long before there was a firmware update process for the hardware.

On top of this, we had the full benefit of the Xcode tool chain (static analyser, unit test harness, debugger etc.) applied to the embedded firmware, which helped enormously to improve the quality and stability of the device.

Once the hardware arrived, we would regression test any bugs found against the simulator – this helped to pin down hardware / low level firmware issues quickly, for example if the bug did not appear in the simulator.

This was all very useful, and we are already using this technique for new products – this time on iPads and iPhones for a more accurate user experience  (one problem with the Impulse simulator was button combinations – we had to make the “shift” button sticky, which made it confusing to operate).

What should we do with the simulators once the hardware has been released?  We still use them for debugging and testing, and I put a simple synth into the Impulse simulator one hackday… but could they become products in their own right?

What else could we do to make simulators more powerful?