A notch above a monkey

Words matter

When we designed Marela , we obviously wanted to make it as close to perfect as possible, but we paid even more attention than usual to words and language used, since I find bad copy consistently the most annoying element of web site design.

This might look odd coming from me. But not being a chef doesn’t mean I can’t enjoy or respect good cooking. So I read articles like this one , hope that more people would do the same and try to do my best. I think we’re doing alright so far; no doubt largely because there are enough capable and caring souls fixing after me my stupidity and sloppiness.

If the tone and words used influence how we feel and percept others in our daily communications, why is it so difficult to imagine that this is equaly true when communicating through a web site or user interface? It’s still communication.

And to make this post at least moderately useful, I give you a short and far from complete list of words used in tech industry and what they actually mean:

  • technology: stuff that doesn’t quite work yet
  • open: works with our stuff
  • robust: works with our stuff, will break with almost anything else
  • quality: works most of the time
  • dynamic: you have to be flexible
  • proactive: active
  • end user: user
  • innovative: average
  • world class: average
  • leading: average
  • cheap: give us lots of money
  • partnership: give us lots of money
  • professional: give us lots of money
  • any 3 or 4 letter acronym: we are smart & give us lots of money

Solving javascript i18n as work in progress

A while ago I was moaning about a sad state of javascript i18n tools. When I finally started working on it, I faced a dilemma.

Should I wait until it’s finished and then reveal it like Moses to chosen people? Look guys what I etched with a toothpick during my lunch time break! You know, I was waiting for my Crème Brûlée and had to kill those few pesky minutes.

Or should I choose a more honest approach, showing steps and missteps between embarrassing first version and hopefully usable last?

Well, there’s nothing better than public humiliation to instill some humility so let’s see what is behind the door number two.

The goal is still the same. Develop a short and relatively fast library that allows you to translate javascript code and HTML content and to do so with as little fuss as possible and with a clear separation between HTML, javascript and translations, but without breaking pages in case translation doesn’t exist yet.

And here’s my humble start together with a simple demo . Three functions, two of them a support needed later on. stripStr and stripStrML just strip whitespace at the start and end of string with stripStrML doing it on every line of a given string. We’ll need this later on so we can find strings to translate even if they are enclosed in whitespace to make source display more pretty.

Then there’s a function called _, which takes a string and translates it if javascript object i18nDict exists and has this string as an attribute with a non empty value. Otherwise it just returns the same string, so it doesn’t break page even if translation doesn’t exist in translation object . It’s what is usually called a proof of concept prototype.

That’s it for today. I’ll try to post updates every couple of days or so, if progress warrants it.

Update: Follow up here and here .

IE7 will remain to be MIME challenged

IE7 won’t support proper MIME type for XHTML. Too bad, since it will permit people like these guys to crap on web for a while longer.