Kuolleiden purjehduskenkien seura

Aug 24th 2013

DigiPod wants to revive your old gear


DigiPod promises to deliver what Silicon couldn't. The sub full-frame sensor is a bit of a let-down, but the prospect of having all that film gear for digital photography is interesting nonetheless.


Jun 27th 2013

How to turn your smartphone (nearly) useless in one simple step


I've owned a smartphone for a long time now. I purchased a Nokia N95 back in 2007 (in Finnish only, sorry), which I would consider my first smartphone. Albeit somewhat different from modern pocket computers, it did among other things have apps, a decent onboard camera, a gyroscope, a GPS-chip for pinpoint location services. Pretty much the most used features modern smartphones equip, although recent years' development have added improved usability into the mix.

One monolithic issue still remains though, which hasn't much changed since those early years; the minute you leave your home country, your phone becomes useless, save for the camera, and possibly the GPS if you have the luxury of offline maps.

Unless you're willing to endure the horror of a colossal phone bill from enabling roaming mobile data, you won't be using the routing feature in your maps app (unless you have an onboard address database, which I don't); you won't be looking up addresses for that shop you were looking for; you won't be updating social networks with your witty comments and/or stunning photographs. To top it all off, open wi-fi networks can be surprisingly hard to find, unless you happen to be in a busy area laden with cafés, restaurants or bars.

Not having an internet connection on a smartphone makes it about as useful as a wheel-less wheelchair: you can still sit comfortably, but you're not really getting anywhere.

Luckily, within the EU, there is a set rate ceiling of 0,70 euros/MB from July 1st 2013 (again in Finnish only, sorry), and a maximum charge of approximately 60 euros, after which your data connection will be terminated. Having a ceiling for data costs is an improvement, surely, but that will only give you a measly 85 MB, which is quite little considering the amount of data flowing in and out of handsets these days.

While waiting for better days for roaming data, do travellers a favour: open up your wi-fi network, even a fraction of your bandwidth is a great help.


Jan 29th 2013

Stop breaking your forms


A good form is invisible: it just works. In contrast, a broken form makes you want to pull your hair out, simply because it forces you to put your efforts into a side effect, not into what you're trying to accomplish.

Broken keyboard access

When I fill out a form I often submit it by hitting enter. I'm already using the keyboard, so that's the logical thing to do. Too often one of two scenarios occur:

  1. nothing at all happens, e.g. the form is not submitted
  2. the action I was attempting to do fails

The first scenario is related to broken markup; the inputs are not wrapped in a form element, so the browser can't possibly know where and how to submit the data. (Back in the days it could've simply been a missing submit-input, but browsers are nowadays less picky about that.)

The second scenario is harder to define, but most likely happens because the form handler listens to the wrong event and/or the form's action isn't directed to its proper handler.

If you fail at this, you should probably also read up on how to setup proper tab order.

Broken validation

Client side validation is useful. It saves me from the frustration of submitting a form, only to be presented with the same form again (hopefully with an added error message). In the worst case all the inputs are also left blank.

Using a modern browser, I find it lovely how it nowadays1 can fill out forms for me, e.g. shipping information in online stores. Just a few days ago, I made a purchase at a store where each approved input was flagged with a small green tick next to it. It didn't, however, manage to validate more than the first input, when my browser filled out the whole form at once. In the end, I was forced to tab through each input –leaving the contents untouched– to be able to submit the form and complete my purchase.

The reason for this is most likely lacking understanding of Javascript events. Instead of listening to (change) events on the containing form element, each input is observed separately, thus necessitating a focus and sometimes also the blur event to happen on each input separately.

Sadly, browser support for input validation isn't yet a complete replacement. However, you should use feature detection and revert to Javascript validation only when it's needed. (And when you do, you should make sure it works, not just that it works on my computer.)

Broken login

By far my biggest pet peeve is broken login forms, since I use them very often. Especially since the usefulness of the reason for breaking them is marginal at best; placeholder values.

It's far too common to populate the username input with the value "username" and the password with the value "password", and then leaving out actual labels to save space in the layout. That last sentence should already tell you you're doing something wrong, but at the very least the fact that password inputs don't display the default value as readable text should give you a hint.

The original intent might be benign, but when done wrong it breaks my password manager2, in the end actually causing me several extra steps to use the form, which is hardly a good outcome.

If you really want to use placeholders, use the placeholder attribute. It will work as you expect and already works in most browsers. If it isn't supported in a browser, it should hardly be considered a showstopper, as you're already describing the inputs with labels, aren't you.

1 IIRC, Netscape Navigator was able to do this, so it's hardly a novel feature.

2 I use 1Password, not my browser, to store my passwords.



Search blog

Latest comments