Wikipedia Needs Rubyists to Flesh Out Mobile Vision

By Peter Cooper

You might know Hampton Catlin as the Rubyist who invented the Haml markup system (as used in many Ruby web apps), Sass or make_resourceful. What you might not know, however, is that Hampton went on to develop a successful Wikipedia iPhone app (iPedia née iWik - listen to this podcast about its development) and was then hired by Wikipedia to lead the development of the mobile Wikipedia site (powered by Ruby!)

Hampton has been taking Ruby into Wikipedia in a big way and he needs the help of other Rubyists to keep the momentum going. I caught up with Hampton to find out what he's doing at Wikipedia, what Wikipedia needs, and how Rubyists can get involved:

Ruby Inside: What are you responsible for at Wikipedia?

Hampton Catlin: My title there is "Mobile Development Lead" and basically I'm responsible for making sure that people with mobile devices have access to Wikimedia projects. Initially we are focusing on Wikipedia, but since all of the Wikimedia projects run on basically the same code base, we are going to be covering most of the projects. My main responsibility is to grow open source communities around the different mobile projects. Wikipedia is the fourth most popular site in the world and most of the programming is done via open source channels. Initially, I'm doing a lot of the foundational programming and will be responsible for maintaining code quality, but into the future, we are really looking for people to help and take charge of different components.

How is Ruby involved in the work being done at Wikipedia?

Ruby is being used via Merb (Rails 3?) and a whole series of Ruby libraries that are focused on the back end formatting services. Actually, we just launched them last week, and they are still a little rough, but the foundations are solid. Basically, the Ruby app is responsible for providing custom-formatted article pages to different mobile apps. The service is currently live at http://en.m.wikipedia.org

How would you (and Wikipedia) like Rubyists to get involved?

Go grab the code at http://github.com/hcatlin/wikimedia-mobile/tree/master then run rake todo:list. Viola! Pretty soon we are going to have a full bug tracker, but at the moment, its a pretty early stage in the project and bugzilla is a bit overkill. I think this is a huge opportunity for people. How often do you get to do work that is seen by so many people and potentially so many more? It's a very simple project to dive into. I've put a LOT of work into making sure that it is absolutely as simple and logical as possible. I've also put a lot of work into documentation to ensure that people don't get confused when diving in. And if you are just learning, its actually a good project to look at. Beyond general help with the project, I'm also looking for people to help work on adding new mobile formats. Initially we are focusing on "XHTML" and "WebKit" as the two major supported platforms. That is the same thing as "Anything Modern" and "iPhone/Android". However, if you have a Blackberry and you want to see stuff on Wikipedia that is totally perfect for your phone, then its pretty easy to do! Just add a device to our list, figure out its user agent, and then go create the views! Its stupid simple. Also, you can brag at dinner parties "Oh, you have a Blackberry... look at what I did this weekend!" ;) The final thing we need help with is press. We need to get the word out to regular users! If you know people that run a mobile conference or work in the press, please try and help us out. One of the major failures of the first-generation of Wikipedia Mobile was that no one knew about it. Its part of my job to make sure they know about this.

What new technologies or services do you anticipate being created for or by Wikipedia in the next year? (that are relevant to Rubyists)

Beyond the mobile services, not too much! We just need to keep growing them with press (tell your friends!), bug reporting, and new formats. Oh, and if you want to learn iPhone development, grab our edge branch of the iPhone app at http://github.com/hcatlin/wikipedia-iphone/tree/master At the time of writing this, its a little rough but its what I'm doing this week! We also need people who know Java development to help with a native Android app. And, for Ruby stuff... I'm looking to have an entire Mediawiki Ruby library done. But, it's not the kind of thing I've very good at, so at the moment its taken a back seat. If anyone wants to create one, shoot me an email (at hcatlin -at- wikimedia.org). We can make it "official".

Update: You can also discuss this on IRC on irc.freenode.net on channel #wikimedia-mobile

Support from: Brightbox - Europe's leading provider of Ruby on Rails hosting. Now with Phusion Passenger support, each Brightbox server comes with access to a managed MySQL cluster and redundant SAN storage. Brightbox also provides managed services for large scale applications and dedicated clusters. — Special Offer: 50% off all new Brightboxes! For a limited period, get a Brightbox from £19.50 a month...