FILive: Jeff Atwood – I fought Atwood’s Law

Jeff Atwood, author of the CodingHorror blog, Stackoverflow creator and generally opinionated guy did the Thursday morning keynote.  A few random thoughts to start out:

  • Stackoverflow was an answer to Experts-exchange.  Experts-Exchange had lots of cool stuff, but it was stuck behind a paywall.  Slightly frustrating when google returns enticing results, only to not be able to see the answers.  I can vouch for that.  I actually used to use free points and stuff I’d scrounged to find answers off of it.  Never paid for it though 🙂  And yet Stackoverflow and derivatives seem to be very commercially successful. 
  • Web 2.0 meant “javascript now works” 🙂

A little on Javascript:

Javascript has won not by technical merit particularly, but by default. It was there.  With every computing platform having one or more browsers, Javascript was there.  Browser makers had an incentive to make it FAST, and even open source like Google’s V8 javascript engine which is the runtime for Node.js.  Plus, it’s cool since you can always view the source for stuff coming down to the browser.  That’s true “open source” in at least one meaning of the phrase.  And Javascript forgives you too.  Pretty low barrier to entry.  All that adds up to a nice recipe of becoming incredibly popular.

Everybody wants a law named after themselves.  It’s human nature.  So here we go – Atwoods law:

Instead of the traditional “All software grows until it can read email”, Jeff believes  “Any application that can be written in Javascript, will eventually be written in javascript”.

So is javascript ok for mobile devices?  Based on the charts he showed, browser and device performance is doubling still, unlike desktop performance and is in his opinion good enough even now. He also argues native is problematic because of the pain in finding, updating. Do you agree?

Of course, this XKCD cartoon on native apps is very appropriate, although I like it better from a usability antipattern example:

Jeff was looking to scratch an itch not scratched by StackExchange.

  • Stack exchange is optimized for learning, not hanging out.
  • Discourse is designed to allow conversation.  Open source forum sw.  He calls it a “discussion platform”.
  • Jeff was looking seriously about using javascript for the whole thing. Here’s an interesting quote: “It’s fun to be a polyglot, but shifting gears!”  
  • Node.js was definitely a front-runner, but for him the show-stopper was that Node lacks packaging.  Jeff really likes Ember.js for the client side.

So the question would be, did he use javascript for the whole project in question?  No, Ruby on Rails.