Doodlekit – Website Creation and Hosting Tool Entirely on Rails
Doodlekit is a cute looking Rails-powered Web application developed by Doodlebit. It's a complete Web design and hosting system in one, aimed at small businesses and families. Features include a WYSIWYG editor, a photo album (with all resizing and tagging), blog system (with WYSIWYG editor, again), discussion forums, and contact form. The system is entirely hosted by Doodlekit, but you can create entire, powerful Web sites through their control panel, and even host them on your own domain name. Plans range from $9 to $45 per month.
I decided to give developer Ben Kittrell a quick interview to get a bit of background on Doodlekit, its development, and his opinions on Rails:
Ruby Inside: Hi Ben. What is Doodlekit?
Ben Kittrell: Doodlekit is an online website builder. My partner Heath and I had the idea when we realized that almost all small businesses are looking for the same few things. Either they need a Blog, Forum, Photo Gallery, CMS, or some combination of those. I thought about gluing together existing software, but I realized that it needed to be very simple and integrated. Software like Mambo, Gallery, and vBulletin are all very fine, but they can be very scary for people that are just now getting on the web. We are not targeting Web savvy users; there are plenty of options for that market already. Right now we're concentrating on small business. There's a whole market out there that no one wants to touch because they expect the world, but can't afford it.
In addition we're starting a doodlekit reseller program for web designers. We have a custom CSS tool that allows you to override any of the pre-defined layouts. There are also base layouts that have only have the basic structure defined, but can be easily extended. The idea is that any web designer can create a doodlekit layout and website, and sell it to their client however they want.
Where do you see Ruby and Rails' strengths being in your ability to provide Doodlekit?
Well I'm a J2EE developer by day, so the main strength is speed. The same amount of functionality that takes 6 developers over 4 months to implement in our J2EE environment, I can do in a few lunch breaks with Rails. I still like Java, and it has its place, but not in the applications I work on.
Then there's my sanity! It truly shows that both Ruby and Rails were written with the developer's happiness in mind. This is certainly not the case with Java. I have passion for coding again.
How is Doodlekit deployed? What technologies do you use?
It's currently hosted at RailsMachine, which I am very much in love with. It runs on mongrel_cluster behind Apache, with a MySQL database. I use Capistrano with the rails_machine recipes for deployment. These guys really have it together, and have been an absolute joy to work with. I chose a VPS, for now, so it can easily scale up if necessary. Currently we have about 50 sites running with low to moderate traffic. I have been very impressed with the speed.
Do you envision implementing a REST-type interface / structure in the future, with the release of Rails 1.2?
Oh no, now you're going to get me in trouble. I'm torn on RESTful web applications. I think more conventions are good, and I'm really warming up to the idea of "love the CRUD", but PUT and DELETE... not so much. I like the whole "resource" concept, but I guess I still haven't seen the light regarding using HTTP methods that browsers don't even support. Is it expected that browsers will eventually support them, or does it even matter? But I do have faith, and I'm not going to knock it till I really try it. I've done a little REST on the rorbb project, but not enough to get a real feel for it.
Doodlekit started before REST-mania, so it is very far from it. I have started some major refactoring to make things CRUDier, but it would be quite a job to implement Active Resource.