In part I I wrote about the hows and whys of gathering gem/plugin usage data based on Rails Rumble submitted user information, and in this part I would like to present my findings. So without further ado, here we go:
I already covered this in part I, but for completeness’ sake, here is the chart again:
Well… this chart is rather dull:
One in every three teams used a skeleton application (which in this context can be replaced with ‘Bort’).
The sovereignity of Bort is a bit surprising given that it’s not the only player in the field by far – there are definitely others, like ThoughtBot’s suspenders, Blank by James Golick, starter-app by Pat Maddox, appstarter by Lattice Purple just to name a few.
I am not sure about the others, but the absence of suspenders from the chart has more to do with the fact that it was not yet publicly released before Rails Rumble – I am basing this claim on the fact that a lot of people used the gems/plugins which, combined together, are basically suspenders.
However, this doesn’t alter the fact that Bort is immensely popular – great stuff, Jim.
I think there are (at least) 2 things to note here:
- Testing in Ruby/Rails is not considered optional even facing a very tight deadline. Even if we assume that the 49% didn’t test at all (which surely doesn’t sound too realistic – they probably just went with Test::Unit), more than half of the teams did!
- Though testing tools are a much debated topic nowadays, and the winner is not clear (yet) – I would guess, based on the above results there is roughly an 1:1:1 ration between Test::Unit, rspec and shoulda *currently* – there are definitely interesting alternatives to Test::Unit.
Not much to add here – though the above chart says nothing about how much people are using e.g. Mocha with rSpec (vs. using the rSpec built-in mocking tools), one thing is clear – as a stand-alone mocking framework, Mocha reigns supreme.
Another point for ThoughtBot (not the last one in this list) – Hoptoad has no disadvantage compared to the more traditional Exception Notifier (if we don’t count getting an API-key, which takes about a minute) – on the upside, you get a beautiful and user friendly web GUI.
I found the above chart interesting for two reasons:
- I thought that Ferret and/or acts_as_solr are still somewhat popular – it turns out they are not
- I also thought Thinking Sphinx is the de-facto fulltext search plugin, and didn’t know about Xapian – well, I learned something new again.
ThoughtBot did it again – Paperclip is already more popular than the old-school attachment-fu. I am always a bit cautious when someone challenges the status quo (like Nokogiri vs.
Hpricot, Authlogic vs. Restful Authentication, attachment-fu vs. Paperclip etc.) but it seems Paperclip is ripe to take over. You can find some interesting tutorials here and here.
Another dull graph for you:
I am wondering how homogenous this chart would be if Authlogic would have appeared earlier – it seems like a strong challenger (already watched by around 260 people on github) and I am sure it will take a nice slice of the pie in the future.
What’s more interesting is the openID support: more than one third of the apps offered openID authentication, and quite a few of them *solely* openID.
- factory_girl was used to replace traditional fixtures in every 6th of the apps!
- HAML/SASS is quite popular – used in about 20% of the applications
- Hpricot was the only HTML/XML parser used (in 7 apps alltogerher)
What I am happy about the most is that there is still a lot of innovation going on in the Rails world – as you can see, newer and newer plugins/gems are appearing and in some (in fact, a lot of) cases are dethroning their good ol’ competitors. There is a lot of competition going on in almost every major area of Rails web development, and this is always a good thing.
Very interesting; thanks for doing this. Now I don’t have to 🙂
A note: Team Giraffesoft did use Blank, though we may have been the only ones. Whenever we have time, we will be adding features to it from the rails rumble.
@Daniel: oops, somehow I didn’t notice it (indeed, you stated ‘Initial application forked from Blank’) – but statistically it doesn’t change the picture too much :-). It’s still like 32:1 in favor of Bort or something like that.
In the future it would be great if the Rails Rumble organizers would agree on a common format to make the generation of the above charts possible/easier – e.g. a checklist (‘skeleton app: ‘, ‘JS framework: ‘ + output of gem list + ls RAILS_ROOT/vendor/plugins or something.
Pingback: Ruby, Rails, Web2.0 » Blog Archive » Rails Rumble Observations, part I - jQuery on the Heels of Prototype
Thanks for the great article. Very insightful. I personally know of 3-4 teams that uses suspenders. You can tell a suspenders app because it will have a doc/READMEFORTEMPLATE file.
Our team used suspenders for our skeleton application and clearance for user authentication. Between those two tools, we had a working, authenticating app 15 minutes after the competition started.
@Chad, @Dan: Sorry, I used the user supplied data to collect the tools (and obviously didn’t have a clue about the doc/READMEFORTEMPLATE file), so the results represent only what I was able to reconstruct from that…
Love the graphical break down. Great post Peter, thanks.
How about the html template? haml vs erb?
The final bulleted list says: “HAML/SASS is quite popular – used in about 20% of the applications”
Pingback: Speeding Up Rails Development | Ruby on Rails
Excellent idea and data! and nice graphs… what did you build them with?
@nachokb: Thanks! Graphs… Microsoft PowerPoint on OS X.
Pingback: Weekly Digest, 11-23-08 - almost effortless
Pingback: Ruby, Rails, Web2.0 » Blog Archive » Hot in Edge Rails: Generate Rails Apps from Templates
Pingback: Ruby, Rails, Web2.0 » Blog Archive » Thinking About Switching to jQuery?
Pingback: » RSpec + machinist pradÅ¾iamokslis (I dalis) // Vidmantas // emptydot.com
A genuinely beneficial publish by you my good friend. We have bookmarked this web page and can occur back again following several days to examine for virtually any new posts which you make.
You you should edit the blog title Ruby, Rails, Web2.0 » Blog Archive » Rails Rumble Observations, part II – trends in gem/plugin usage to something more specific for your content you make. I liked the post nevertheless.