Fad or Evolution?

It can be difficult to tell the difference between things that are truly novel and/or offer genuine improvement and those which are just somehow different but popular. Web tech is a conveyor belt of things that could fall into either category. Recently I’ve encountered a few good examples. In each case there’s no shortage of proponents explaining the benefits of the tech in question.


CoffeeScript is meant to be an improved syntax for Javascript. Things written in CoffeeScript compile to Javascript. Lots of people swear by it, it’s even in GitHub’s Javascript Style Guide :

Write new JS in CoffeeScript.


I can see the advantages of a better syntax, and very much like the support for Python-like list comprehensions (oh, didn’t realise, some Javascripts already have them too). But what puts me off here is the disconnect between what you wrote and you’ll probably end up debugging. Ok, it could be argued that that’s the case with any compiler, but going from C to assembler or Java to bytecode is rather a bigger step. Quite a large proportion of the JS on GitHub seems to be Coffeescript so it’s probably only a matter of time before I have to look closely at some, but I’m in no hurry.

Oh yeah, and when I mentioned this on Facebook, Pete Windle said ClojureScript is what you secretly want. Hmm, I might just have a look…


Sass (Syntactically Awesome Stylesheets) is similar in principle to CoffeeScript but gets transformed into CSS. It brings in typed variables, nesting, mixins, and inheritance with the aim of making CSS creation and maintenance a lot easier. Here’s a good pitch for Sass.


If I was using complicated CSS day-in, day-out then I could see the attraction. But I’m not, I can live with the cost of repetition and messiness rather than learn a new language (after all, I already have to look at some existing CSS to remind myself of that syntax).

Flat UI Design

Flat UI Design is about replacing button-shaped buttons etc. on Web pages with flat ones. It’s also an opportunity to use the word ‘skeuomorphic‘ – features of objects that were inherent (like the shadows & pressability of real-world buttons). A lot of people like Flat UI Design. Minimising unnecessary visual clutter certainly seems worthwhile.


What I personally don’t like about this is that the button shadow and suchlike, while not necessary, have become conventions for UI elements that do something, i.e. have affordances. Flat is simple and simple is usually good, but if you’ve lost the visual cue then it’s not so good.

Incidentally this piece on Flat Forms includes the line:

…affordance is how much the design of an object—physical or digital—suggests use, like a chair inviting you to sit

which just so happens to be a perfect example of the shifts of meaning that the word affordance has received in the hands of designers:

…a use of the verb afford – from which Gibson’s original term was derived – in a way that is not consistent with its dictionary definition. Rather than “to provide” or “to make available”, designers and those in the field of HCI often use afford as meaning “to suggest” or “to invite”.

If it’s simplicity you’re after, why not just revert to the blue underlined word convention?

I guess the only way to tell if something is better, or at least, something you’re obliged to used, is whether it survives a few year’s natural selection. With all three of the above, I personally plan to apply the strategy of wait and see.


Leave a Reply

Your email address will not be published. Required fields are marked *

Post comment