Go to main contentGo to footer
Conferences
|
30 September 14

Ruby Day 2014: Our Experience

Conferences serve a vital purpose: they let you catch up with old friends, put faces to Twitter accounts, meet people in the industry, share experiences and understand what’s happening in our field. For a few years now, Ruby Day has been a key event for those who, like us, love this language and use it to build projects.

Matteo PapadopoulosBoard Member

We have always taken part in these Rubyist events with great enthusiasm, sometimes as attendees, sometimes sharing our experience. This year we’re happy to say we went a step further, taking part as a sponsor for the first time.

Organizing conferences is anything but simple! As part of the Better Software team, we know from experience how demanding it is to put these events together. That’s why we decided to support the Ruby community that worked hard, once again this year, to give us the chance to meet. It was also a good opportunity to connect two conferences with different content that can appeal to a potentially shared audience.

What we talked about

We get so much from the community that we feel we should give something back. Our work is made of research, insights, successes and mistakes, and every company specializes in something different. As a web agency, we deal every day with how to structure projects, with order and with chaos. We read tons of documentation and other people’s experiences, and what we can do is find a way to turn methodologies into actual methods. We thought this experience might be useful to others, so they could take it, make it their own, improve it and share it again.

It was funny to notice how (unintentionally) symmetrical our talks were in content and schedule: opening the conference with backend, closing it with frontend.

Backend

The first talk, by Stefano Verna (@steffoz), titled More fun, less pain: a strategy for writing maintainable Rails admin backends, tackled a very common problem: building backend interfaces in the Rails world. “Auto-magic” CMFs like ActiveAdmin certainly help simplify and speed up our work, but in the end we run into the 80-20 rule: 80% of the time everything works with a few lines of code, but in the remaining 20% all the benefits give way to pain and suffering. Can a monolithic approach à la ActiveAdmin be questioned? Steffoz’s analysis showed us how to “assemble” an equivalent backend in pure (or almost pure) Rails in a simple, clean, linear and solid way, without ever losing control of our app. Along the way he also introduced us to Admino, a gem released on GitHub that simplifies managing index views.

Frontend

The second talk had two voices: Steffoz again (the man of the hour!), who generously shared the stage with me, Matteo Papadopoulos (@spleenteo). The talk covered a hugely broad topic: organizing a frontend project. Since we couldn’t go into depth, we gave an overview of tools and good practices that seem unrelated but turn out to share a common denominator.

We showed the potential of Node.js, which in recent years has taken hold with extensive, full-featured dependency managers and task managers. Services like Bower and RailsAssets also give us a database of frontend packages far larger than what’s available on RubyGems. After that, some good practices for structuring Sass and the file system, plus a few conventions that make maintenance and teamwork easier.

Here too, experience led to a library, BEMO, also available on GitHub.

What else?

Even with the slides available, without the “spoken” context it can be hard to understand the reasoning behind some steps. That’s why we’re planning a series of blog posts that will unpack the content of these two talks. It’s a promise we’ll try to keep as soon as possible!

We’ll also present the same talks at the next Florence on Ruby meetup which, after a long break, will resume next month... and that’s a world exclusive!!! :)

PS. Better software 2014 will take place on October 13 and 14 in Florence. To attend, write to us for a discount code that we can offer as sponsors.

footer