I’ve been spending a little time developing an app for the Pebble watch recently, and I thought I’d share my development environment setup, so as to give other people some ideas. I’m interested in hearing how you develop for the Pebble too.
This is my development setup:
You’ll notice the Macbook Air sitting behind the keyboard. Although it appears to be unused, everything is actually running on that. There I have the Pebble SDK set up, and I’m using Parallels to a host Windows virtual machine.
I’m using Microsoft’s Remote Desktop to remote into that Windows VM from a desktop machine with four monitors. Remote Desktop supports multiple monitors, which means that although my Mac only has the single built-in (unused) monitor, the Windows VM now has four monitors attached to it.
I use the monitor on the top right-hand side to run VNC in the VM to give me a window back into my Mac environment, so that I can compile my Pebble watch code using the Pebble SDK.
Yes, I’m using Remote Desktop to remote into a VM running on the Mac, and then using VNC to go from that VM back into the Mac!
The monitor on the right is rotated to portrait, and runs Sublime Text, to edit the Mac based Pebble-specific C code, opened from the Mac via the network.
The monitor on the left is used for Web Browsing, to read the Pebble reference documentation, etc. I also use it to trigger installs of my watch app using Chrome-to-Phone:
The center monitor is used to run IntelliJ to edit the Android code that my watch app talks to.
I also use it to run Microsoft’s Visual Studio. I have a C Visual Studio project and I’ve included references to files in my Pebble C app code from the Mac. By carefully organizing my code I’m able to put non Pebble-specific code into separate C source files, which I can then include and test within Visual Studio – stuff like buffer management code, which is tricky to get right, and which you really don’t want to be testing on the watch where there is no debugger.
Of course it doesn’t have to be like this – it probably seems kind of complicated, but it works well for me. How do you develop and test your Pebble code?