I think I've got as far as I'm gonna get with it now, sadly.
How far I got...
- The UI is pretty concise
- A USB stick gets detected when plugged in
- The right signal is sent to the dd process and parses the progress for the progress bar
- It's really SLOW. I'm not familiar with how the dd command line utility works -- people keep talking about 'eraseblocks' and suchlike and my eyes glaze over..
- It doesn't detect and inform the user when the write is complete
- It doesn't seem to create a bootable device
- I can't see how to automatically remount a device after I've unmounted it with diskutil
- I'm not amazingly confident that once I've detected the device a volume resides on I'm not then going to end up destroying all the data on the wrong drive
The project is on Launchpad here: https://code.launchpad.net/~michaelforrest/ubuntuusbcreator-osx/trunk
It would be pretty awesome if you were able to help out.