Announcing North 2009

We just launched an exciting new initiative called North. It’s going to be a creative conference taking place in South Cumbria this coming Summer, and we have some really great plans for it.

You can find outmore by visiting the website at www.north2009.com.

The main theme will be to explore innovative and creative approaches to working, using technology and new methodologies. There wonʼt be a focus on any particular discipline – instead the onus will be on exploring new ways of thinking about and developing ideas for the future.

Speakers will be sourced from a range of disciplines – from design to technology; the arts to commerce; businesspeople to academics. A particular area of interest will be people who have used their foresight to use logistical or geographical setbacks to their advantage, or who are using unconventional work methods to get things done.

Muji Obsession

An intriguing little article from the New York Times, all about the design ethos of Muji (via James).

I always think of Muji as the kind of store likely to appeal to readers of early Nicholson Baker, a man who could wax lyrical for pages on the origami-like beauty of a milk carton spout. But in fact it’s cyberpunk sci-fi writer William Gibson who really nailed its appeal: “It calls up a wonderful Japan that doesn’t really exist,” Gibson wrote, “a Japan of the mind, where even toenail-clippers and plastic coat-hangers possess a Zen purity: functional, minimal, reasonably priced. I would very much like to visit the Japan that Muji evokes. I would vacation there and attain a new serenity, smooth and translucent, in perfect counterpoint to natural fabrics and unbleached cardboard.”

Announcement – Gridlet V0.1

I’ve been using grids in my CSS designs for quite a while now, inspired by frameworks like Blueprint CSS.  Although I don’t use Blueprint for production work (using a CSS framework starts to get a bit restrictive, and I prefer to build from scratch, rather than trying to override someone else’s default), I do use the methodology in my own CSS to create structured, grid-based layouts, and consistent typography.

One of the clever things that Blueprint introduced was the idea of displaying the grid while you’re working – this proves to be an invaluable aid as you try to refine CSS rules.  But I’ve found that – as good as the theory is – it has a few drawbacks:

  1. Because it uses a background-image CSS property, it overrides any beautiful background design you might have implemented.
  2. Because it uses images, if you change your grid size, you have to generate a new custom image – a bit of a faff.
  3. You have to tweak your CSS every time you want to turn the grid on or off.

Since I work with grids more and more often, I decided to have a stab at coming up with a solution which refines the Blueprint idea, adds a dash of jQuery to produce something which is a little more flexible and user-friendly.

What I’ve come up with is a jQuery plugin called Gridlet.  Instead of using pure CSS, the plugin generates a grid on-the-fly, and it’s an improvement in the following ways:

  1. It doesn’t use images – instead it dynamically generates a grid on top of your page, so your design remains intact.
  2. Changing your grid size is as simple as changing a setting – no need to generate images.
  3. You, er, have to tweak your JS to turn it on or off (this is something I’m going to work on improving – it’s early days).

It’s also worth noting that this first version only produces horizontal grids – that’s all I need at the moment  No doubt I’lla dd vertical grid spacing as and when it’s needed.  Any comments or suggestions are appreciated.

You can download version 0.1 of Gridlet here.  I’ve only tested in Safari 3 and Firefox 3 so far.

Implementing it is really easy – you just do something like this:

$(document).ready(function() {
  $("body").gridlet();
});

If you want to override the default grid height or colour, just pass in the settings like this:

$(document).ready(function() {
  $("body").gridlet({
    height: 18,
    background: "#fcc"
  });
});

And finally, for your curiosity, here’s the source code:

(function($) {
  jQuery.fn.gridlet = function(options) {

    var opts = $.extend({}, $.fn.gridlet.defaults, options);
    var line_position = 0;
    $("<div/>").attr("id", "grid_container").appendTo("body").css({
      position: "absolute",
      top: 0,
      left: 0,
      height: "100px",
      width: "100%",
    })

    while(line_position < $("body").height())
    {
      line_position += opts.height;
      $("<div/>").css({
        position: "absolute",
        top: line_position,
        left: 0,
        height: 1,
        width: "100%",
        background: opts.background
      }).appendTo("div#grid_container")
    }

    return this;

  };

  jQuery.fn.gridlet.defaults = {
    height: 24,
    width: 24,
    background: "#ddf"
  };

})(jQuery);