Yehuda Katz is a member of the Ember.js, Ruby on Rails and jQuery Core Teams; his 9-to-5 home is at the startup he founded, Tilde Inc.. There he works on Skylight, the smart profiler for Rails, and does Ember.js consulting. He is best known for his open source work, which also includes Thor and Handlebars. He travels the world doing open source evangelism and web standards work.

RailsConf Wrapup

I had a really great time at RailsConf. I met a ton of really cool people bursting with enthusiasm for great projects. I sort of knew this already, but now I know it viscerally: the diversity of things that people are doing with Rails far outstrips the ability of those most deeply involved in building it day-to-day to anticipate. What was also really great was that so many of the ideas people asked me about could be answered by pointing at new extension points or modular APIs that we’re adding to Rails.

About my talks: let’s just say some of them could have been better. I’ll post the slides inline below with my personal wrap-up of each.

The jQuery Tutorial

The slides for the tutorial are available on this blog; the code is at Github. I had high hopes for this tutorial initially, but a few things (mostly my fault) made it worse than I expected.

First of all, I lost my co-presenter around a week before the tutorial. Thanks to Andy Delcambre, this did not catastrophically destroy the tutorial, but it did add additional challenges. Had I been better-prepared, it would not have been such a problem, and Andy performed very well under pressure, getting into the flow in a week in which he was also preparing the Flex demo for RailsConf.

Second of all, I didn’t specify the required skill level for the tutorial, which led to a wide disparity in the skill level of the attendees. I expected an intermediate group, so the focus that should have been on the introductory section and the labs was spread out to parts of the tutorial that we never really got to (e.g. evented programming). As a result, almost all of the feedback was either “that was wayyyy too introductory” or “that was wayyyy too advanced.” Again, this is something I should have prepared for, so definitely a mea culpa on my part.

All that said, I thought the content and labs were really good for the portion of the audience in the sweet spot (knew some JavaScript and CSS, but still needed more training in jQuery).

Technical Deep Dive

No code or slides here; the entire session was Carl and I talking through the recent architectural changes. For an evening Birds of a Feather, we got excellent attendance, and almost exclusively positive feedback. I thought it went very well, and really enjoyed the opportunity to share the gory technical details with the folks who took a night off of Vegas to stay for a very low-level technical talk.

Russian Doll Pattern

Again, this didn’t go as well as I’d hoped, but I’m still relatively pleased with the outcome. It was the first talk given jointly by Carl and me, and our relentless focus on getting the Rails code we’re working on ready for RailsConf left us with less time to get our delivery anywhere near as smooth as the Ruby standard-bearers for joint talks, Joe O’Brien and Jim Weirich.

The talk is available from this blog as well.

We also focused heavily on the concept of mountable apps and addressed a lot of the concerns that people have made in the past, as well as focused on appropriate techniques for building applications that could be reusable. Unfortunately, we’re not yet at a point where we can show a final DSL for the specifics. What I find personally frustrating is that for a lot of the most interesting projects, the hard work is the first 98%, after which there’s nothing “cool” to show. The final 2%, which is usually a day or two of work, produces the whiz-bang demos. For a lot of what we’ve been doing in Rails, we’re at the 90% or so mark, which means that the underlying infrastructure for doing really cool stuff is in place, but we don’t have the whiz-bang demos yet.

Thankfully, there was a great complementary talk by James Adam at RailsConf which covered the state of the art of engines as of Rails 2.3, so I was happy focusing our presentation on the likely future. Still, the “unicorn”, ethereal focus definitely detracted from what was otherwise a good first showing for the pair of Carl and me.

If anyone attended any of the sessions and has questions or constructive feedback, I’d love to hear it. Please feel free to comment below or email me at

13 Responses to “RailsConf Wrapup”

I was very pleased with what you and Carl had to say about the future of mountable apps in Rails. There are patterns in Rails that need to be abstracted and i believe your work will make that abstracted dream a reality.

-ps Obie’s drupal comment was a bit immature. #ri-mm

I attended the JQuery on Rails tutorial and found it useful, so thanks! I’m in that intermediate group that has used jquery but isn’t an expert or knows all the power of certain selectors, events-driven JS, etc. Definitely found it useful (after some initial technical issues connecting to the wifi, getting the git repo, etc.) I thought the material was well-structured and made good use of labs.

My biggest piece of feedback for RailsConf overall is having talk titles/abstracts that better detail what will be covered and any prereqs. Often it was hard to tell if a talk would be “What is X?” vs. “Advanced Tricks for X”. I don’t think it needs to be a tracked conference, but being able to read the abstract and know roughly the level would be very helpful.

Railsconf is usually lacking in advanced code-focused presentations so I was glad
I had the chance to go to both talks. I enjoyed them a lot, and really I would rather you get all the time you need to code even if that eats into your conference presentation preparation time a little. :-)

One thing that wasn’t clear to me in the nested apps presentation was, how far along is the implementation? I left the talk feeling a little worried that this feature, while cool and very useful, may represent a little bit of “feature creep” amid what is already a hugely challenging project, merging two frameworks. To what extent if any do you think this may impact your release date?


Thanks for making the slides available, particularly from those of us who weren’t able to attend.

Just a note, the Russian Dolls slides appear to have the speaker notes as ‘stickies’ which is great, but in some cases these appear to block useful content. In all but a few of these cases the note seems to be just a cue as to whether you or Carl talked about that slide sequence. Any chance of a minor edit?

I finished reading Russion Doll Pattern slides. Really great stuff! Thank you and all Rails core developers for the hard work you have put in.

I have one worry though. I understand you guys are great and have a ton of experiences with building applications. However, when aiming to do the next big thing and implementing a big idea like mountable apps, if the implementation does not come from a widely accepted prototype or extracted from a successful app, it tends to become something either too generic or too rigid, something that solves no-one’s problem, and turn people away because of frustration.

I would suggest when you are building rails 3, try to eat your own dog’s food and create some practical app with it. If there are conflicts between the app’s need and what framework provides, bend the framework to make it work. If you do this, you’ll create a better framework.

This is just my 2 cents as a pessimist and I believe you guys have thought about and have a way to around the hole.

For what it’s worth, I thought the Russian Doll presentation was one of the best of the conference. Sure, there are still details to be worked out, but I thought you guys did a good job of getting the basic details out and describing the exciting benefits this work will result in once complete. Well done.

This was my first RailsConf and I thought the jQuery session was solid–great job.

I didn’t attend the Russian Doll session, but I’m looking forward to browsing the notes.

Great job and thanks for sharing the knowledge.

I agree with the people who enjoyed the talk. I was actually looking forward to this talk the most of all the sessions and it didn’t disappoint.

The overall mix of talks at the conference was right. I actually think looking at an unfinished product is quite interesting. If anything I would encourage more of these 90/10 “unicorn” presentations. It gives the community a chance to provide feedback (most of which will be constructive.)

Thank you to introduce the Drupal’s approch in Rails.
Will the “mountable apps” support a standard localization system?

Great slides, Yehuda! Just by reading the jQuery slides, I deepened my knowledge, especially with respect to the selectors.

I enjoyed the Russian Dolls slides as well, but I felt they were a bit of a tease! :P

I recall you saying a while ago that your primary motivation for checking out Merb back in the day was mailers. Well, mine was first class support for mountable apps through slices, so this talk was of particular interest to me. Definitely looking forward to API/DSL stabilization of this feature in Rails.

I was very pleased with what you and Carl had to say about the future of mountable apps in Rails. You along with Carl and other team members, share a shiny futuristic vision about the future of Rails 3.

Your public API approach, is also appreciated a lot.

I would like to extend your futuristic vision with a little suggestion from my side, since mountable applications has much more to offer than what we can think right now.

Rails 3 should have at least one full fledged ” working website demo ” in near future, that shows all the advanced capabilities and features of Rails 3. It would be more helpful to have 2 working demos of Rails 3. (1) Default Way ( Rails Way and other (2) Custom way.( Merb way ) This would help and please Rubyists and Merbists as well.

It would be great to start with a simple working demo and let is grow more and more, along with additions which are parallel with your progress. This working site would work as an Inspiration, Tutorial as well as an Solution to common and frequent questions on “How and Why” unexplained elsewhere.

Let me thank once again for your great efforts, making Rails powerful, day by day.

My question was not immature. It was a purposely tongue-in-cheek icebreaker question that got the crowd and the panel laughing and warmed up. For what it’s worth, I think the mountable apps innovation is going to be a positive move for the ecosystem and open up a lot more commercial opportunities for Rails developers.

Am certainly looking forward to mountable apps along with templates and the changes they would bring to the way apps are built on rails.

Would be great if the features that go into engines/slices are abstracted from real apps though as suggested by Guoliang above. Refactoring platforms like Insoshi, Lovdbyless, Community Engine, Spree, Substruct would be one way to “eat your own dog food” if their maintainers are interested.

Leave a Reply