Victus Spiritus


Not every dev team hacks like Spiderman

27 Sep 2010

Design for People First

As a humble student of web hacking/dev I come across some far out "superior tech". Every coder and engineer hawks their wares as the next digital Jesus, even for crappy code, myself included^^. The pitch is usually based on optimal efficiency in the context of a particular use case or a grandiose plan. Damn those seductive master plans.

Hyperspeed Arithmetic

#define one_plus_one 2

Continually chasing and incorporating the new hotness turns into a hunt to build from source on your operating system of choice*. There will always be more new forms of technology than you can possibly learn to master. Case in point I've used mercurial only once to snag some Google code and it's a fine tool, but git is my goto source management thingamajig. Taste everything you can with reckless abandon, but choose carefully before committing. Becoming intimately familiar with key tech is analogous to dating and marriage.

The scoring metric for best in breed is not limited to underlying tech efficiency. Clean interfaces are among the biggest selling points to developer adoption. Likewise, startups pitch their novel methods or interface as superior to legacy solutions due to soft benefits like elegance^. Other benefits include a startup's ability to leverage latest and greatest development tools and APIs, often from competing heavyweight corporations (see DuckDuckGo @yegg's crafted a groovy search product).

Successful teams work on developing their technology for diverse platforms and choices of hardware. Some manage to do so by leveraging a dedicated open source community. Tech that works anywhere is highly desirable to solitary hackers who want to build. It's rare to be able to write code once and have it function as designed everywhere, it takes a lot of effort (damn you IE6).

No matter how awesome sauce the idea, certain basic features are must haves. I was pretty stoked about a JavaScript IDE in the browser (cloud9ide) until I used it. The verdict: it was terribad slow with choppy refresh. Editors have to respond fast and look sharp. Best of luck to that dev team, interesting idea but maybe their choice of underlying tech is off.

Not every dev team hacks like Spiderman

Comparisons between tiny startups and BigCos are based on company focus to changing market priorities and demand, often leveraging marketing terms like agility. I don't believe every agile/scrum development team is spiderman, and as a company grows the potential for interaction errors to slip past existing tests increases. This effectively slows down development cycles**. Growing user bases also inhibits the flexibility of software. Breaking customer's business logic ($$) is a quick way to kill a company's rep.

^^= For hyperactive hackers it's like too many endorphins are released at once when code finally works as desired ;).

*= I prefer well tested binaries for tools/dev libs. I have no interest in watching Erlang get built for the 6th time because of an old mixed exec in my path or incompatibility dependencies. I'm looking at you build_couchdb (good build tool, but damn it takes forever).

^= It'a arguable that twitter's API was initially so simple that it drew a heavy dose of developers to strengthen the platform. Now with oauth and streaming APIs it's not quite a one line solution or one click access for users
-click oauth
-login if necessary
-click accept this app
-wait to be returned to page

**= Ubuntu committers, Smart Phones Devs, and jQuery are exceptions, damn those folks are fast.