Ruby has always struggled when it came to client-side programs. There was no good, reliable and modern GUI binding. They come and go, many of the bindings for things like GTK and Qt are often out of date, difficult to compile, and deploying applications based on this is just a pain. Enter JRuby. Java has extensive GUI APIs that are instantly available to you from JRuby, and deploying them is as easy as giving someone a jar file.
We'll take a quick look at building GUI applications using Swing by building an ROT13 encoder.