Interaction design and strategy company ZURB focuses on helping businesses create Web sites that get noticed and keep visitors. The company recently launched a tool called Notable, an interactive method for teams to use internally while building a Web site.
According to Lead Rails Engineer and company-appointed "Nerd Lead" Matt Kelly, the decision to use Web app framework Ruby on Rails to build Notable was really a no-brainer. "At ZURB, our designers work directly on the application code, rather then just throwing visual designs over the wall," he says. "Ruby on Rails code is very readable and was an obvious choice to keep our designers and engineers working as closely as possible. We did some prototyping in PHP but did not find a PHP framework that met our needs for Notable."
Kelly says there were plenty of advantages to using Ruby on Rails over other options. "The readability of Ruby on Rails is the biggest advantage for us," he noted. "It's dead simple for a front end engineer or designer who does not know much about Rails to get the gist of what is happening by simply reading the code." Indeed, the biggest obstacle the team encountered was finding experienced Rails engineers who weren't already tied up with other projects.
Though some critics claim Ruby takes a hit when it comes to performance or scalability issues on larger projects, Kelly says that hasn't been the case at all for the Notable team. "In situations where Rails data abstraction layer ActiveRecord cannot generate the optimized SQL we need, we simply write those queries by hand."
In addition to Ruby, ZURB also relies on a handful of other open source software including Prototype and Scriptaculous Javascript libraries. "We are eternally grateful to the guys at Phusion for creating Passenger which we use to run all our Rails apps," says Kelly.
To get a sense of what Notable can do, be sure to check out the Web site take the tour. The tool gets high marks by Meryl Evans over at OStatic's sister be site Web Worker Daily, who explains it like this: "[It] allows everyone to provide feedback and stay in the loop with a design’s progress, as well as archiving the design’s history. You can control who can see and leave feedback on each captured design. For example, a project manager could share one page with the copywriter, another with the whole team and yet another with the developers. The feedback occurs multiple ways, instead of one-way."