Release: Validation Plugin 1.8.1

An update for the jQuery validation plugin is available. This brings compability with jQuery 1.6.1, while staying backwards compatible with 1.3.2, 1.4.2, 1.4.4 and 1.5.2.

The bug was related to the plugin’s usage of the form.elements property, which jQuery 1.6 doesn’t support anymore. Other then that, there is a bug fix for adding and removing the error and valid classes on radio and checkbox elements (thanks to Phil Haack for the contribution), as well as two new localizations: Thai and Vietnamese. That brings the plugin to a total of 37 supported locales.

If you’ve been testing 1.8.0 release with jQuery 1.6 and couldn’t get it to work, despite the note saying that its working, please update to 1.8.1. The form.elements fix was in place before 1.6 final got released, and I only tested against latest code on GitHub, while 1.8.0 was indeed broken.

Download this release.

The full changelog:

  • Added Thai (TH) localization, fixes #85
  • Added Vietnamese (VI) localization, thanks Ngoc
  • Fixed issue #78. Error/Valid styling applies to all radio buttons of same group for required validation.
  • Don’t use form.elements as that isn’t supported in jQuery 1.6 anymore. Its buggy as hell anyway (IE6-8: form.elements === form).
  • Please post questions to the official Using jQuery Plugins Forum, tagging your question with (at least) “validate”. Keep your question short and succinct and provide code when possible; a testpage makes it much more likely that you get an useful answer in no time.
  • Please post bug reports and other contributions (enhancements, features, eg. new validation methods) to the GitHub issue tracker

Enjoy!

Release: Validation Plugin 1.8

An update for the jQuery validation plugin is available. This brings compability with jQuery 1.5.1, while staying backwards compatible with 1.3.2, 1.4.2, 1.4.4 and 1.5.0.

A bug related to remove validation with client-side formatted messages was fixed, along with improvements to localizations and four new ones, resulting in a total of 34 localizations.

This release is the first to use Google Closure Compiler for minifying files. Like other projects, I’ve dropped the .pack.js files in favor of minifying and gzipping.

Download this release.

The full changelog:

  • Improved NL localization
  • Added Georgian (GE) localization, thanks Avtandil Kikabidze
  • Added Serbian (SR) localization, thanks Aleksandar Milovac
  • Added ipv4 and ipv6 to additional methods, thanks Natal Ngétal
  • Added Japanese (JA) localization, thanks Bryan Meyerovich
  • Added Catalan (CA) localization, thanks Xavier de Pedro
  • Fixed missing var statements within for-in loops
  • Fix for remote validation, where a formatted message got messed up
  • Bugfixes for compability with jQuery 1.5.1, while maintaining backwards-compability

The migration to GitHub is mostly complete, issues are now tracked there:

  • Please post questions to the official Using jQuery Plugins Forum, tagging your question with (at least) “validate”. Keep your question short and succinct and provide code when possible; a testpage makes it much more likely that you get an useful answer in no time.
  • Please post bug reports and other contributions (enhancements, features, eg. new validation methods) to the GitHub issue tracker

Enjoy!

Why are smartphones so dumb?

If you think about hard- and software in terms of wasted potential, instead of just bad design, you can start seeing a lot of potential everywhere.

I had that moment today when thinking about my so called smartphone and what it does in terms of phonecalls. Its really not that much. There’s a list of contacts, each with some optional data like email address and phone numbers. I can mark a number of each contact as a favorite to get a smaller list on a separate page, that I can reorder. If I call someone or get a call, a new entry is added to the list of Recents. If I have a number without a contact, I can use the keypad to call the number directly.

So far, so good. Its very barely beyond what my old Siemens mobile phone did nine years ago. Let’s see what innovation could’ve happened in this space.

  • The list of contacts isn’t in sync with my Google Contacts, that is, my GMail address book. Eventually I have to put in the effort to merge these two, as the one has more phone numbers, the other more email addresses. But why is that such a hassle? There’s so much room for improvement on contacts management alone.
  • Instead of having to manually manage favorites, why doesn’t the software keep track of some statistics? Easy to track data like most often called, most often calling, longest phone calls, shortest phone calls. Or time of day when calling. And then automatically built a list of favorites, based on the current time, or even location. Ask me once if its okay to enable GPS every now and then to record the location, only for helping you choose the contact to call a bit faster.
  • Skype replaced the phone for a lot of calls for me. Why? I can see if a contact is online, and if so, if he is available or actually busy. If he’s busy, I can send a text message directly in the same application, and I can get a reply back in the same application. On the phone, I know nothing about the current status of the person I want to call. I could send text messages, but I wouldn’t know if the other person will read them in the next minutes or even today. Even if the phone is set to meeting and the phone has the current meeting on its calendar and would be able to let me know that the person in the meeting could call me back in 30 minutes, I still have no idea whats going on.
  • Voicemail sucks. Why do I have to interact with a computer voice and the keypad, when this should be an application running on my phone, with a list of missed calls, a text transcript of the message they left, if any, and a button to play back the message, and another to call them back. Or when I set my phone to “I’m busy”, why does it have to ring for a few time before letting the caller now that I’m busy? Why not just have a very short recording of myself, so that they know they called the right number, which basically says “I can’t answer right now, but I’ll call you back! If you want, leave a message, *beep*”. That would set the right expectation – their call wasn’t in vein, nope, I’ll call you back!
    Google Voice may actually address several of these issues and features – but of course its “not available in your country”, so not helping.
  • There’s barely any integration between phone calls, Skype, text and instant messaging, Twitter or any other social network.  There’s so much potential for grouping my phone’s contact based on the actual social network they are in, like actual friends, colleagues, family, clients and so on. Obviously this could be integrated with Twitter and other so-called social networks. If you think about that, Twitter actually does a horrible job as a social network, as it doesn’t help you at all with grouping contacts. Manually managed lists are a joke compared to the potential that some automatic and exposed data mining would have on your network. Kristian Köhntopp has more on that, if you’re interested. He’s got both German and English versions of his article, and the English one lacks one of the key phrases of the German one: “Können wir stattdessen mal Kommunikation designen?” – roughly translated as “Could we instead start designing communication?”

There’s probably more than that – I’ll update the post when more ideas shows up. If you’ve got one, let me know.

The Attention Span Myth

There’s this modern myth about our attention span being really short, damaged by mobile phones and the internet. Usually these arguments are based on anecdotal-evidence, without any attempt at refuting them. So when I found this nugget in Donald A. Norman’s book Emotional Design, I had to share it:

Today it is customary to argue that short attention spans are caused by advertisements, video games, music videos, and so on. But, in fact, the ready distractibility of attention is a biological necessity, developed through millions of years of evolution as a protective mechanism against unexpected danger: this is the primary function of the visceral level. This is probably why one byproduct of the negative affect and anxiety that results from perceived danger is a narrowing and focusing of attention. In danger, attention must not become distracted. But in the absence of anxiety, people are easily distracted, continually shifting attention. William James, the famous philosopher/psychologist, once said that his attention span was approximately ten seconds, and this in the late 1800s, far before the advent of modern distractions.

Parts of this make more sense when read in the context of the book, but the two sentences that I higlighted really work on their own. In other words: Short attention spans isn’t a new problem at all and definitely not caused by the internet or mobile phones or any other modern media.

PS: Good article in the New York Times with, for some reason, the same title as this article. I hadn’t read itbefore posting this.