Django Decrypted

It’s an interesting time for web development. Not only is Ruby On Rails steaming along towards version 1.0, but it’s spurring the development of other web frameworks in the MVC mold.

As a case in point, consider Django, a new web framework written in Python. Now, I have been dabbling in Ruby on Rails, but I don’t really have the time to learn Python yet sadly, and I can’t really figure out which would be better to do a site from scratch in. What is a developer to do?

Thankfully, fellow blogger Jeremy Voorhis has stepped into the gap. If you haven’t seen it, be sure to check out his entries on working with Django on his blog.

Incidentally, there does not seem to be much ire or competition against relative newcomer Django by the Rails people. In truth, there never should be. It’s a big enough web for both, and I think there are some things that each framework can learn from each other (Django could benefit from something like ActiveRecord, Rails would be improved if it had Django’s mechanism for specifying database schema). Such situations are rare in the computing world (see the eternal flames of emacs vs. vi, windows vs. mac, compiled vs. scripting, typed languages vs. dynamic typing, etc.), which makes such cooperation all the more remarkable.

Going on Holiday

Posting will be light, my nonexistant readers for the next week. I am off to Cape Cod to enjoy the fine weather and calm beaches before September starts up. I hope to spend most of the time away from the computer too. So I will see you when I get back, and be sure to enjoy the last of summer and eat more ice cream.

Web 2.37

Mark my words, Hoodwink.d is one of the silliest and yet coolest new things to hit the web in a while. I won’t tell you more, but I hope to see you there soon.

Update: I stand corrected. Hoodwink.d is really a vile plot to destroy the Internet as we know it and rob us of all we love and hold dear. The resulting collapse of faith in our electronic friends will of course trigger despair, disillusionment, doubt, and more consumption of rich chocolately ice cream (it’s not all dystopic). It’s dire, but not inevitable. This can be averted now before it’s too late. Do your part. Keep using Internet Explorer. Try not to tinker. And definitely steer clear of a man called Json Parser. Thank you.

Rails and the Distribution Question

I like Ruby on Rails a lot. It’s a pretty awesome web development frameworrk and it’s generated a serious amount of buzz for its young age (just over a year). One major milestone that’s ahead for the language will be a 1.0 release that among other things promises to deliver more API stability than there has been with more recent releases (as well as freeing developers and writers from creating code that’s partially outmoded on arrival). Will that mean though that the big development work for Rails will be done? Hardly. If Rails is really to succeed as a development platform, I believe it can only happen if the distribution problems are solved. And Rails 1.0 seems to be a necessary precursor to that.

I like to think with web application frameworks there are 3 Ds that are important for the platform to succeed:

  • Development – how easy is it to develop?
  • Deployment – how easy is it to place on your own servers and systems?
  • Distribution – how easy is it for third-party users to deploy on their servers?

I think Rails has done very well in the first case. In the second case, I think tools like Switch Tower will help to make the second problem as nice as the first. But I think the third problem is the most problematic in Rails right now. Essentially, there are no nice and standard ways for developers to package up their Rails-developed programs for other users to easily install (without Rails experience).

Let me give a concrete example here. As you may know, I recently switched this blog from WordPress (a PHP-based service) to Typo (a Rails-based service). I currently am hosting on Textdrive, which is rare among hosting providers in that it supports the latest Rails versions, so at least I did not have to fight with my ISP to get Rails as an option. But even then, I must admit that WordPress’ setup was a dream to use, and not knowing a lick of PHP, I was able to get a blog up, installed, and running in no time. In contrast, I do have some knowledge of Rails, but Typo was definitely harder. For starters, I had to manually create tables in a MySQL database by running a MySQL file to create the tables (good thing I didn’t use one of the more obscure adapters like MS SQL that didn’t have a manually written schema file for them). I had to go an edit the database.yml config file manually in a shell (not confugured via an install script) Importing the data from WordPress was a bit difficult too, and I had to fix the import script. Finally, I discovered that I have actually been dispatching Rails methods with the FastCGI dispatcher, even though I’m not using it currently. So, my blog went down over the weekend and I didn’t know. Not good.

This is not to trash Typo, which is a truly excellent product. Nor is it to condemn Rails, which is still too young to even explore a thorough solution to the distribution problem yet. But I think if we start thinking about the future of Rails, the distribution problem is important, because without easy distribution, Rails will be doomed by the network effect. What do I mean by that?

There are a lot of PHP developers out there these days, far more than develop for Rails, Django, Seaside or some of the other frameworks out there. Why? Is PHP a better framework? Arguably no. But is PHP in a whole lot of publicly deployed web products, like WordPress? Or more wikis than you can shake a stick at? Yes. This in turn leads to more people thinking of developing in that language, books being written, etc. which accelerates adoption of PHP even further. The network effect.

I think 37 Signals, Robot Coop and such have done a lot to advance Rails over the last few years. But ultimately, I think it’ll do more to sell their particular style of visual design than Rails as a development platform. Sure, there are people making custom solutions from scratch that might be wowed by the backend magic that makes it all happen. But I think there’s a bigger pool of programmers who might find themselves having to setup a quick Wiki for their intranet or such? Given the choice, how many of them will write a system from scratch in Rails? And how many of them will just grab an existing PHP-based solution? And once they’ve done the latter, how likely is it they’ll look at Rails ever again? The best way for Rails to grow is for there to be many Rails apps to choose from. And to get there, Rails needs to make distribution as easy as development.

(I hope to follow up on this in a few days with some further observations and ideas.)

Emerging from the Deep Web

After a long period of working in relative obscurity to the web at large, my employer Alacra has now launched a store to sell some of the premium content to the public. Gentlemen, I present to you (in Beta form), Alacra Store

It’s a very interesting time for us here at Alacra. Although we are a small company compared to the media behemoths that surround us (ie, Thomson, Lexis, etc.), we have always managed to thrive by delivering agile and powerful solutions to our customers and making their happiness our #1 priority. And although I can’t really talk about it, there are great things afoot. For more analysis, see the always excellent Fred Wilson. I particularly like it when he says

I have been involved with a lot of companies over the years, but very few, if any, are as loved by their customers and are as unknown to the rest of the world as Alacra.

But that may change shortly. Hopefully not the “loved by their customers� part. I am talking about the “unknown to the rest of the world� part.

That’s us. And if there is one thing I love even more than the new technologies we will be using with the store, it’s the fact that I can finally show people the stuff I (and my able colleagues) have been working on.

Moved to Typo

Just wanted to note that I have moved this blog to Typo, an excellent blogging system written in Ruby on Rails . If you’re not reading this in an RSS reader, the change should be pretty apparent, although I must apologize for not having rethemed yet. Otherwise, I look forward to hopefully spending more time blogging and less time doing maintenance in the future.

O’Reilly Emerging Technology Conference (March 6-9, 2006)

Check out the Call for Papers of the O’Reilly Emerging Technology Conference This looks like a pretty amazing subject and I am curious what the presentations selected will be. It looks like an amazing forum for really thinking about how the make the new web.


Get every new post delivered to your Inbox.