Bookware Setup Instructions

Local vs. Cloud9-based development

The quickest way to get started certainly used to be the Cloud9 Web-based IDE, but you can also install a local development environment on your own computer. The table below summarizes the pros and cons (in our opinion) of each approach.

We don’t recommend installing a local development environment on Windows-based computers.  So much of the development toolchain is Unix-centric that our experience has been that students struggle quite a bit with this scenario.
 Cloud9 Web-based IDE (our recommendation) Local installation using RVM (Ruby Version Manager)
+ No installation; setup is instant & foolproof
+ All your work stored safely in the cloud
+ Work from anywhere that you have access to a Web browser
+ Probably runs faster than your computer
+ Works with any computer, OS, and browser
+ Allows real-time collaboration with your teacher or work partner, even remotely (e.g. you can get debugging help in your own environment)
– Free but requires a credit card to sign up, unless your teacher has an Educational account
– Now requires AWS signup and login that makes it difficult to get started
– Requires Internet connection to do your work (although 2G cell phone is fast enough)
– Some debugging features (e.g. browser preview) work less well

+ Integrate with other projects on your own computer
+ Some debugging features (e.g. browser preview) work better
+ Work even when disconnected from the Internet
– Installation is trickier and takes longer; can be extremely painful on Windows
– Code and tests probably run slower than on Cloud9
– No real-time collaboration with your teacher or work partner

 Cloud9 Setup Instructions
You'll need to install RVM as well as the necessary binaries for Git.
(Some Windows users have reported good luck using Git For Windows to help with this. On Unix-like systems including Mac OS X, it should just work.)

Other development options (not officially supported)

Others have successfully set up development environments on plain Linux, using Vagrant, and other scenarios, which you may find useful if you need to work in conditions where Internet connectivity is too poor to use Cloud9.

Many of them have contributed their instructions to our courseware wiki, but be aware that we have not thoroughly tested all of these  configurations and we cannot provide support for them.  If you choose to use the Amazon EC2 option, you will need to have an Amazon EC2 account and be familiar with how to launch instances on it.  MOOC student Jeremy Banks has helpfully created this tutorial for newcomers.