Ciao uses apple’s network protocol called bonjour to automatically find available serves over the network. So there is no setup from the phone stand point. You just open it, and if there is a ciao enabled arduino (or processing sketch) on the network, it will find it.
From the Arduino standpoint Ciao has an Arduino Library that works with the ethernet library to make this happen. Included are several pretty simple examples, andn if you copy one of them to start from it is pretty easy to get going on something completely custom.
One of the really great things about Ciao is that you define the iPhone UI from the Arduino sketch. So you just say how many and what buttons you need and when you connect to it, they are just there. Currently, from what I could see, it is limited to just buttons, and I would love some other UI elements like sliders, checkboxes and so on, but for the sure simplicity of it all, you can’t beat it.
If you do not have a network enabled Arduino, ciao also has processing libraries that you can use, and then processing can talk to an Ardiuino connected to that computer. This may be Mac only, im not sure. But you may be able to get it to work on a PC if you install bonjour. Controlling a processing sketch is just as easy, and comes with a few examples, like changing the color of the screen depending on the button you press.
Just think… you could control your next robot, fire a paintball gun, unlock a door, or put on a light show, all from iPhone.
And yes, I know you could do a lot of this before with firmata. But seriously, you could not do it this easily.
All together, I think this is a great app, and I really hope it is taken further. Personal request: Please add the ability to send iPhone sensor data to the arduino. Think gyro, accelerometer, audio values.