futuraprime:blog
  • MoreComing soon
  • HomePretty exterior
  • ArchivesHit the vaults
  • WhimsiesA different spin
  • AboutWhat's all this?
  • When Not To Roll Your Own

    25Jun2009
    • filed under
    • Web Design

    One of the questions I face a lot when presented with a problem in web design is this: should I build it myself? Or should I take something off the shelf?

    The Web today is full of "time-saving" alternatives to us coding things ourselves. These sorts of tools range in complexity from really simple things, like a little piece of Javascript to make .png files appear properly transparent in IE6, to extremely powerful tools that perform a huge host of functions, like content management systems. Some of them are more popular than others.

    What can go wrong?

    Well, a number of things. The biggest is that you're taking a risk by using someone else's code. You don't know how it works. You won't be able to modify it without breaching what may prove a steep learning curve. Such things often break in unpredictable ways. People don't set things up the way you expect. You can cause bugs in places you never expected them.

    There's a risk associated with using these shortcuts, which you're balancing against the risk that you might not finish the project in time without them.

    So how do I choose?

    There are a few questions I usually ask myself before I choose solutions like these:

    Does it work?

    This ought to be a no-brainer, but it's often skipped: before you commit to using something, make sure it does what it's supposed to. (If it's not easy to test yourself, wide adoption is often—but not always—a good indicator of this.)

    How long would it take me?

    If you're going to use a shortcut, it should at least be saving you time. This is why I don't use CSS frameworks (like the increasingly ubiquitous 960.gs). Sure, it's nice. But I can throw together a custom CSS layout for a site that works as well or better in about the same time it'd take me to put the framework in place and tweak it the way I like it. I'm picky, and it's just not that complicated.

    What does it prevent you from doing?

    Shortcuts are often limiting. For example, there's a really elegant script called s3 slider, built in jQuery, to make a rotating image/link gallery. It's gorgeous—one of the most elegant examples of its kind, honestly. But it's restrictive. To set up buttons to skip to particular items in the s3 slider, say, you'd have to alter its core functions (which means first going through someone else's code to figure out how that might work).

    By contrast, jCarousel Lite isn't as pretty out of the box, but it's massively configurable. It doesn't limit you. It's not that s3 slider is bad: if s3 slider fits your needs exactly, by all means you should use it—but if it doesn't, or if you think your needs might grow in future, you're better off using jCarousel Lite.

    Is it extensible?

    This isn't always important. In the case of a small element, like the slider managers I discussed above, it'd probably take you longer to learn a plugin architecture for them than it would to just reprogram them from scratch. But when you hit the really big projects, extensibility is key.

    Realistically, you'll never hit a content management system or a JavaScript framework (or anything of comparable complexity) that does everything you want it to, out of the box. But it's easy to build a plugin for jQuery or WordPress or ExpressionEngine—and there are tons of plugins already built for them. If you've picked a good system, it'll be saving you so much time that learning the plugin system will still be worth the effort.

    In summary...

    There are some really great systems out there that have saved me huge amounts of time, like jQuery, jQuery UI, and ExpressionEngine; there are plenty of others, like Google Maps, Google Checkout, or sIFR, which let me do things completely beyond my abilities and/or resources. Plenty of others have proved exercises in frustration.

    In general, I'm skeptical of timesavers and tend to want to build my own solutions where and when I can. But carefully selecting smart pre-built solutions can save a whole lot of time.

    There's no point reinventing the wheel. Just mind the square ones.

    • 0 comments
  • more posts»
  • Whimsies little bits of the web
    • Ira Glass On Good Taste

      visit»
      27 Jun

      This is a great little piece from Ira Glass on taste and creative work. (HT to Dustin Curtis). He's talking about video, but it's just as important for design. It takes a long time to live up to your ambition.

      • Graphic Design
      • Web Design
      • 0 comments
    • We Love Typography

      visit»
      3 Jun

      Somehow I've omitted linking this before. From the wonderful I Love Typography comes its communal counterpart, a collection of delightful typography that brightens my day.

      • Typography
      • 0 comments
    • Dollar ReDe$ign Project

      visit»
      25 May

      A collection of redesigned versions of American currency, from the silly to the fantastic.

      • Graphic Design
      • Typography
      • 0 comments
  • Who am I?I'm Evan Hensleigh, an information & web designer living in the District of Columbia. More about me →
    Twitter
    • @ppolischuk: How come you're not in any of these? http://bit.ly/l9MXk 1:12 pm, 4 July 2009
    • Palin resigns to spend more time with her 2012 campaign planners: http://bit.ly/iFdX2 3:15 pm, 3 July 2009
    • @smashingmag At a guess, they: a) have multiple accounts, b) use TweetDeck to filter out ~9,900 followed, c) think Twitter = shorter RSS. 4:43 pm, 2 July 2009
    Follow me!
  • Recent Entries
    • When Not To Roll Your Own

      One of the questions I face a lot when presented with a problem in web design is this: should I…read more»

    • Happy Towel Day

      the full quote → In the event you've never heard the original radio show, or read the books, you should…read more»

    • Twitter Explained

      I have often been told, usually with a certain air of self-satisfaction, that Twitter will not replace the newspaper. (Well,…read more»

    • Know What You’re Saying

      I like graphs — they're a wonderful way of conveying information. I love to make elegant, communicative data graphics. So…read more»

  • rss: everything | blog | whimsies
    Something to ask? Contact me →
    Whimsies
    • Ira Glass On Good Taste VISIT»
    • We Love Typography VISIT»
    • Dollar ReDe$ign Project VISIT»
    • Future of Microsoft VISIT»
    • New York: City of Spam?
©2007-2009 futuraprime design - all rights reserved