My reflection on 2005 included a little piece on software engineering – specifically our adoption of Ruby on Rails. 2006 did indeed result in us using Ruby on Rails for all of our new projects. It’s simply a better way of developing software. Anyhow, here are my views on 2006:
Ruby on Rails
We launched Contentbox, a Rails-based content management system, but never did get around to launching our new website with it. That’ll have to wait to sometime in 2007. But our marvellous spam filter software Junkbox was launched and is now being used by ourselves and a couple of clients.
There are some other products in development. All written in Ruby on Rails.
Using Frameworks
Prototype and Script.aculo.us both showed what could be done with Javascript, helping bring interactivity to web sites. Behaviour is mechanism which helps keeps HTML tidy. We always use these three tools to some extent when we develop a new website. We’re also working them into some of our older sites as appropriate.
The Yahoo UI Library (YUI) was a late arrival for us. It does provide an incredibly rich and comprehensive set of tools to quickly develop interactive web applications. But I think it’s a bit too high level for general adoption, or maybe I’m too familiar with Prototype and Script.aculo.us to consider switching. It’s also important to note that Rails integrates directly with Prototype (and thus Script.aculo.us). YUI requires a bit more work.
Ajax in Rails
I used to be afraid of Rails, but not any more. I used to be quite scared of Ajax too, but not any more. Ajax in Rails is very easy and it’s also easy to convert traditional interactions into Ajax equivalents. However, you need to make sure that Ajax is only used where appropriate.
Frameworks and Ajax in PHP
The Prototype and Script.aculo.us libraries have also made their way into our PHP work, and thus Ajax becomes a more realistic prospect for PHP applications. Some of the things we’re planning to develop early next year would have been impossible without Ajax. This allows us to be more creative when discussing requirements with clients, because Ajax moves web applications closer to desktop applications. (See Google Spreadsheet as an example.)
Support Tools
There are a number of software tools that have been a great help to us this year. First off was Xyle scope, the first usable Mac tool to enable detailed interrogation of CSS on a website. It was released in 2005, but this was the year we found it really useful.
Later in the year came version 2 of CSSEdit. A similar tool, but this one allows you to create and modify CSS code whilst seeing the changes live. I tend to use both tools and switch between them depending on my needs.
And then there was Firebug: a Firefox extension which, in it’s current version 1.0 beta is an extraordinarly powerful tool for web developers. You can edit, debug, and monitor CSS, HTML, and JavaScript live in any web page – including Ajax requests and responses.
But best of all was Parallels Desktop. Software that runs on Intel-based Macs, allowing Microsoft Windows (and other operating systems) to run alongside Mac OS X simultaneously. We can now check websites for compatibility with Internet Explorer without needing another PC and without rebooting.