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


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.

OSX Software

This is a list of OSX software I gathered mostly via Twitter, asking for “must-have software”. Thanks to everyone who provided suggestions and recommendations!
I haven’t yet tested any of these myself, so consider all recommendations here as “supposed to be great, your mileage may vary”.

To start, a loose collection without a specific category

  • There are two options for replacing the Linux-tool apt-get on OSX: Macports and Homebrew. Homebrew apparently being the better choice, as long as it has the module in question available. To keep both (and some other tools) up-to-date, this script is supposed to be useful.
  • For running web apps as native apps in a site specific browser, Fluid is the right tool.
  • For presentations and other cases where you want to prevent your MacBook from dimming the screen, Caffeine can help.
  • For multiple copy and paste buffers: Clips – said to be a memory hog sometimes, but worth it

Window Management

  • Stay (commercial) for saving and restoring window position, aware of variable multi-monitor setups, useful for a laptop that is not always connected to an external monitor
  • SizeUp (commercial) for positioning windows, eg. in fullscreen, something OSX avoids by default
  • Cinch (commercial) also for postioning or resizing windows
  • HyperDock also manages windows, but adds eg. application previews
  • Witch for switching between applications with multiple windows, where Command+Tab falls short
  • Divvy (commercial) also manages windows.

Maintenance und File System


  • Skype brings you text, voice and video chat, free and of much better quality than your phone
  • Adium seems to be pretty much the only choice for instant messaging (parallel to Skype)
  • For Twitter Tweetdeck is an option (as on Windows, also needs Adobe Air) as is Nambu, which claims to have a more native style. Or Tweetie.
  • Colloquy for IRC
  • TeamViewer for screen sharing (where Skype isn’t good enough)

Application Launchers
Plenty of choices for launching applications while maybe also search something. I use Launchy on Windows, which certainly has room for improvements. If you think you don’t need a launcher, give at least one of these a try.

Audio & Video

  • Vox for playing audio
  • VLC plays anything
  • If VLC is still too ugly, Perian could be useful to add codec support for all sorts of other formats
  • ScreenFlow vs iShowU for recording screencasts
  • Jing for making and sharing short videos quickly
  • Audacity for audio editing
  • Audio Hijack Pro to record from Skype or other applications
  • Soundflower for software-based audio interfaces (may overlap with Audio Hijack Pro)
  • Stomp for video compression
  • Paintbrush for simple image editing/painting
  • Skitch for simple image editing with sharing built-in
  • Xee for an alternative for the built-in image previewing



If you have more suggestions, let me know!