Last week I made a spontaneous trip to the Future of Web Apps conference in London. I wasn’t planning to go, but I’m glad I did…there were many great talks and I learned a lot about the greater web development community, especially people’s impressions about Ruby on Rails.
It had the highest ratio of quality talks of any conference I’ve been to. Here are my notes from a few of the most useful talks.
Yahoo’s performance expert (and recent author) talked about performance. Not a word was said about MySQL optimization or profiling your server-side code…it was all about increasing the subjective page load on the client.
As server-side web developers, we would like to think that performance is all about making SQL queries more efficient and making our Ruby code faster. The theory presented was that a user’s impression of the speed of a site depends much more on things like compressed content, placement of script include tags, and the geographic location of the content being served. He also mentioned using a content delivery network, but this is quite expensive for a small site (I’ve heard that an introductory account with Akamai starts at US$10k per month).
Over the past year or two, I’ve used some of these techniques on this blog and other sites. Rails-specific resources:
The YSlow plugin for FireBug can also help analyze a site for the issues mentioned.
The author of Wordpress talked about scaling their blog-hosting service to the point of being one of the top 25 most visited sites on the net.
beforefilter. It would be nice to have something similar for Rails, too.
svn updateon all 300 of their servers. At one point they had to replicate their repository because it couldn’t stand up to that many hits at once.
Interestingly, Matt answered a question about client-side optimization and felt that a content delivery network advocated by Steve Souders was not worth the work. They serve Wordpress.com assets from three servers in Texas, and also from Amazon S3.
Matt Biddulph gave a useful talk on implementing Dopplr. A few interesting points:
divon the client’s site. So you can use the ideas mentioned above and speed up client-side load time by including the Dopplr widget anywhere on your page.
On another note, I was surprised to see S3 download speeds in excess of 250kb/second from London. I thought they would limit the speed at which files are served, but apparently that’s not the case. Even so, I’ve bought a small VPS in Australia and am nearly ready to launch a Merb-based asset server for serving PeepCode downloads to Australia and Asia.
On the Rails front, it was shocking to hear that Yahoo is using Rails for their code-named “FireEagle” geotracking service after their commitment to use PHP for everything. Maybe it’s just for the prototype? It’s sure to get a ton of traffic when it launches.
The most frequent Rails-related comment I heard from people at the conference was about Derek Silvers’ post on Why I Switched back to PHP. Most people probably read the title, concluded that Rails wasn’t worth learning, and went about their business (at least that’s the content of most of the comments I heard at the conference).
I have a ton of respect for Derek and I think the article hasn’t been properly understood by most people. However, as a developer for an open source product, you are the only public relations department available. In an upcoming interview for the Rails podcast, James Cox talks about how PHP had to intentionally think about the public image of the language. They actually took steps to make sure that accurate information was being communicated instead of only the headline-worthy news.
Where will this come from for Rails? The author of Rails is unlikely to become a calm, diplomatic advocate in a way that non-Ruby web developers can appreciate. Heck, even the Seattle.rb has a reputation for promoting their projects in an offensive way. For the core team, it may not matter whether or not Rails is widely adopted, but for those of us who make a daily living using Rails, the public reputation of Rails IS important.
At one point there was something called MINASWAN, but I don’t think that is very well known inside the Rails community (not to mention outside of it).
So is there hope for the Rails PR machine? Is it possible for us to reverse the popular opinion of it as an unscalable, offensively-promoted niche framework?