« The year in loudness | Home | The real mystery for web developers »
A plea for the techier among you (and not among you)
Posted by Mike Sugarbaker at 3:39 pm on 3/3/2006
Dear tech community: thank you. Thank you for refactoring the job of web development so elegantly and comprehensively over the last couple of years. In every language from Ruby and Python to PHP and Perl down(?) to JavaScript, we now have powerful new abstractions that dramatically lower the barrier to building a web site that does something. Thank you. We needed that.
Now: why don’t you go to work on synchronous apps? If I want to make a web app I don’t have to completely stack blocks from the bottom up anymore, but if I’m putting up a chat server, or the back end to anything that’s really, really meant to work in real time, I still have to start from scratch. Granted, the scratch I’m starting from is better scratch these days, thanks to libraries like Twisted (love their new front page design). But still, there’s no reason I shouldn’t be able to write code that looks a bit like the following:
class MyChatRoom < SyncServer
def start
port = 7777
welcome_msg = "Hi! Welcome to my chat server, please log in."
welcome_prompt = "Login: "
require_password = true
user_store = "my_users.db" # or whatever
prompt = "Say (/? for help): "
commands = "file_full_of_commands.xml"
spaces = "file_full_of_rooms_defined_somehow.xml"
end
end
chatter = MyChatRoom.new
chatter.start
…and end up with a chat room that basically works and has a few different rooms. Probably some of you can come up with a much better abstraction than the above, even. And I think it’s clear how this is generalizable to a hundred different flavors of game server and interactive networked useful thingy.
Why has there been a lack of interest in this problem? Is it because chat is for the lower classes? Is it because lowering the barrier to making whatever sort of server you want is perceived as dangerous? Is it just because more people want to make web sites than want to make arbitrary other weirdnesses? Is it because people think Twisted is really all you need?