To get attendees up and running as quickly as possible, we're in the process of preparing Virtual Machine images and/or bootable USB sticks that have a complete development environment configured for writing and executing Arquillian tests.
There are two (viable) approaches to creating a bootable development environment for labs:
- Virtual machine image
- Bootable USB stick
Virtual machine image
A virtual machine approach is convenient since the attendee can run the environment directly from their desktop. The downsides are:
- requires spending a few minutes to install the player (e.g., VirtualBox)
- VM images can be very large (2GB+) which requires time to copy from a USB stick onto the computer
- VMs don't always take advantage of all the processing power, and have to share it with the host OS
One way to make the VM easier to share is to use two seperate virtual disks, one for the filesystem root and another for the home directory. It turns out that the development environment is about the same size as the OS, so it's a good split.
(We can also use RAR to break up the big file into chunks, but I'd start with the root/home split first).
Bootable USB stick
Another approach is to provide bootable USB sticks. If they are going fullscreen in the Virtual Machine, why not just reboot? There is a small risk of hardware incompatibility, but where Linux is today, that's hardly an issue.
Incidentally, the same technique would work for our presentations. In fact, that would allow us to have a clean environment but not sacrifice performance from being in a VM.