Friday, January 19, 2007

Direction

Like any idiot, I'm going to just post a stream-of-consciousness until enough gets out here that it starts to take shape. What better way to start a blog?

It must have been back in 2000, that I first discovered Ruby. It was billed as this beautiful, SmallTalk-like language with Perlish sensibilities. Being a web programmer at the time, that looked alluring. So I downloaded the rpm, and played with it. My first code was probably something like:


class World
  def initialize
    @@identity = "World"
  end
  def identify
    return @@identity
  end
end
class Communicator
  def introduce_to ( introduction = nil, to_object = nil )
    addressee = (to_object == nil)? "nobody!" : to_object.identify
    puts introduction || "Hello, " + addressee
  end
end

w = World.new
me = Communicator.new
me.introduce_to( nil, w )
=> "Hello, World"
me.introduce_to ()
=> "Hello, nobody!"

Which is really quite charming, and thrifty. But then, I went back to my perl code to do any real work. That's because (I was a scripter and) perl has this wonderful thing called CPAN, and in it, you can find a library to almost anything. Perl was never a pretty language, it was just pretty at how easy it made doing real things. Ruby might support things like somestring.gsub!(/swapme/) { |x| "you're swapped" }, but it didn't support things like outputting to an HTTP client.

Enter Ruby on Rails. (And, lots more, it's six years later now.) That wild and crazy community, they built up Ruby to the point that it can handle web programming! Where were you guys six years ago?! I've gone and left development, and started doing design! Sure, I leverage my development skills, I'm kinda doing both things at once, but mainly now I'm a designer. Now Ruby has a way to handle all things POST and GET, when I'm worrying over CSS, and sRGB! Sigh.

Well, maybe I still have an in. I am, for all intents and purposes, the webmaster for our site. That is the seed of an idea that has led me here.

It turns out, not only am I rusty on web development, but Rails, and more importantly Adobe, are turning it inside out. There's a little bubble of newness in web development that means, if you weren't riding it, you've got a lot to learn. And no, browsers still don't support PUT and DELETE. That's why Adobe is in the picture. Rails, all-the-while, is trying to fill the vacuum that PHP, SOA Java, and Perl CGI are (possibly) going to leave behind — yeah, even Java. They are going WebDAV/SOAP because they want the same paradigms on all ends of development.


(My stance on this is not, BTW, that SOA is inferior to REST; broken REST through web standards or otherwise. It is that technology follows its users, and the hundreds of people cranking out tens of applications that tie into 30 year old databases aren't going to count as a majority when compared to the thousands of small-team shops and tens-of-thousands of really small team shops.)

Next topic — how do Adobe and Ruby on Rails address web development. And why should a designer care?

No comments: