Treading the Rails with Ruby Shoes
Location: Saal Maritim B Level: Intermediate
Ruby on Rails is best known as a platform for developing high quality database-driven web sites, making it easy for developers to concentrate on delivering functionality rather than basic plumbing. It’s not an exaggeration to say that it has revolutionised the world of web development, allowing ambitious sites to be developed in a fraction of the time required with alternative approaches, but what is less apparent is how useful it is outside of this particular niche. We believe there is much more to Rails than just web sites. In fact it is a full-blown application platform capable of interacting with a wide range of clients via XML over HTTP.
So what about Shoes? This is the cross-platform GUI environment at the heart of Why’s Hackety Hack project, intended to make programming easy and fun for novices aged thirteen and up. Shoes applications are developed in pure Ruby and as we have previously demonstrated Ruby is ideally suited to writing network clients. Hence shoes is a great way to write network clients with a friendly interface.
Combining these two technologies opens exciting possibilities for traditional application developers interested in delivering client-server systems and this is the territory we intend to address, drawing inspiration from our research work and personal projects.
We will begin by exploring the relationship between Rails and Instant Messaging, using it as the server for a dedicated client written with Shoes. The protocol used will probably be a simplification of XMPP and we’ll show how with a little BackgrounDRb magic the Rails application can act as a messaging gateway.
We will then extend this Instant Messaging Server to include an address book, buddy lists and group discussions. The database model and client application will be expanded to use this new functionality and we will look at ways of securing the application and (depending on commercial rollouts later this year) interfacing with next-generation online address book mechanisms.
From Instant Messaging to Multi-User Games is a logical next step and we will explore how such interactivity affects the database model, background processing tasks and the client application in the context of a simple HTTP-based MUG. As performance is more of an issue with such heavily interactive systems we will also discuss whether or not moving to Rails-alike tools such as Merb and DataMapper make an appreciable difference.
Our slides will include generous code examples for private study, demonstrating the key concepts covered during the session and we will be available to answer further questions throughout the conference.
Games With Brains
Eleanor trained as a physicist and information scientist. For a number of years she specialised in developing real-time software systems for the aviation and broadcast transmission industries until a long-standing love affair with Ruby drew her inexorably into the world of web development.
Her interests include system architecture, next-generation semantic networking, creative abuses of Ruby, and reinventing the wheel.
Ellie lives in North London with her partner Andy and an ever-changing menagerie of small furry creatures. In her spare time she writes bad science fiction and makes the kind of alternative music your mother wouldn’t approve of.