James Wilding's Weblog

Month: June, 2009

Password Masking Has Usability Flaws

This excellent article from Jakob Neilsen nails the main problem with password masking:

There’s usually nobody looking over your shoulder when you log in to a website. It’s just you, sitting all alone in your office, suffering reduced usability to protect against a non-issue.

The spots, stars, or dots you get when you type in a browser password field are, I think, designed to give the illusion of security — I can’t see what I’ve typed, therefore it’s well-hidden. Wrong. As JN says, the real usability costs outweigh any perceived benefits.

Browsers should show text in password fields by default, and provide an option to turn on password masking for public computers.

The Ethics of Retweeting

Yesterday evening, I wrote this on Twitter:

Conservative #speaker elected by a parliament with a Labour majority. Good balance.

Until the next election, anyway!

Then this morning, in my ‘mentions’ list (from @erections, of all people):

Conservative #speaker elected by a parliament with a Labour majority. Good balance.

Until the next erection, anyway! (via @jameswilding)

One letter, big difference!

I’m not sure whether this bothers me or not. On the one hand, it’s funny in a laugh behind your hand, ten-year-old schoolboy sort of way. On the other hand, they’ve cited me as saying something I did not say.

Is it OK to intentionally misrepresent other people’s words for fun? If I was a BBC erection election reporter, this is something that could seriously damage my reputation :-)

Filtering Job Applications

On Thursday I posted an advert for freelance IT support people on Gumtree. By Thursday evening, I’d had around twenty replies — by this morning (Monday), I had nearly fifty more.

How do you process these things? I can’t work with seventy freelancers. The applications vary wildly — in the quality of writing, in the relevance of information, in the presence or not of a CV. This post is an attempt to work out a strategy for filtering through all this and making sense of everyone’s information.

After thinking a bit, I’ve settled on a three-stage process:

  1. Be ruthless: pare down the applications to those that are completely relevant
  2. Go into detail: read the applications and pick those which stand out
  3. Finally, call people: speak to the best applicants by phone

Be Ruthless

So, to begin with, I’ll throw out any application which:

  • Isn’t directly relevant — I asked for freelancers: many people have replied as if I was advertising a permanent employment contract. Points off for not reading the advert.
  • Uses txt speak, or is unusually abrupt — several people sent one-line replies that didn’t include their name (the worst: “plz send me more information about this job.thnks”). They’re out.
  • Is too long. With respect to people who are desperate for a job, I don’t want to read a two-page email about your work history — that should go in your CV.

I should say that some applications came from people whose first language is other than English: for them, my language criteria won’t be so strict :-)

The basic idea here is to filter out the people who don’t meet the basic criteria of good communication skills and attention to detail. It’s amazing how many people aren’t up to scratch at this point — just by having read the advert properly, and replied politely, 25% of applicants are already ahead of the field.

Go Into Detail

After getting rid of the chaff, I hope to look through the remaining applications and work out who has the skills I’m looking for: good communication, attention to detail, professionalism, and of course the ability to provide IT support.

At this stage, I’ll also be keeping an eye open for stuff like exaggeration and irrelevant or missing information. If people have missed an important piece of information that I clearly asked for, that’s points off. If the information is blatantly off-topic, that’s also bad. In short, I’m after clear and concise application forms that answer my questions.

Call People

This comes last: only when I’ve got a good shortlist will I call people and speak to them about their experience in IT support. Everything I’ve mentioned above is as important as experience: you might be great with computers, but if you can’t answer questions or read a job application properly, you’re not what I’m looking for.

The second aim of calling people will be to find out what they’re like — friendly, gruff, impatient, calm? Because I want these people to work with my clients, I need them to be approachable and relaxed.

Conclusions

What’s struck me most about this process is the number of bad applications I got. I’d say 50% of the replies I sent involved me correcting someone about a misapprehension: usually the idea that I’m looking for contract employees. Maybe the quality of job hunters on Gumtree is lower than normal (sorry Gumtree users!), or maybe it’s the fault of the ad I wrote.

I hope it’s not the second but just to make sure, the full text of the advert follows at the end of this post. And if you take anything away from my ramblings, make it this: get the basics right on a job application, and you’ll already be ahead of the pack.

Website design firm looking for friendly, reliable Windows support professionals to work with us on a freelance basis.

We’re looking for people to help our clients set up their new email accounts. If you can guide people through a tangled web of POP, IMAP, and Outlook Express, we’d like to hear from you!

== How To Apply

Please email James Wilding (through Gumtree) and we’ll send you more details.

== About Us

We’re a website design and development firm based in Wiltshire. We build websites for small and medium-sized businesses.

O2 iPhone tethering

O2 has published its iPhone tethering rates for the UK (tethering means connecting your laptop to the web using your iPhone’s internet connection). A 3GB connection costs £14.68/month — 10GB is £29.36/month.

The 3GB package is almost five times more expensive than what I pay for home broadband: O2 charges £5/GB, I pay just £1/GB at home.

I’m not saying this out of cynicism (I don’t know the costs involved in mobile phone networking), more out of curiosity. Are these reasonable rates? I’m not sure. I do image, though, that O2 will make a good profit here — and maybe the company is using higher rates to discourage casual users from overloading their network?

Starting Something

When you have a good idea, it’s easy to be discouraged by the time, effort, and cost involved in putting the idea into practice. Well, don’t be put off. If you plan well and make simplicity your maxim, you’ll be fine.

Start small

Most good ideas are best begun as a tiny project. When I started making websites, I redesigned my parents’ site for free. Later, I made a CMS site for an author friend

It didn’t cost me anything except time to make those sites. I already had my iBook, and TextMate, which was about all I needed, and there was no rush — neither my parents nor my friend were likely to start breathing down my neck or shouting about deadlines.

Be a cheapskate

Another way to start small is to ruthlessly save money on the tools and materials you need. Some people think they can’t start web design until they can afford to buy DreamWeaver: rubbish — you can buy TextMate for Mac, or the equivalent for Windows, for under £50 and learn more about HTML and CSS along the way. Small tools can make you more of a craftsman; the best quality furniture is often made by hand.

Know how to grow

The key to growth is growth — not trying to accomplish everything all at once. If you have high aims for yourself, brilliant, but you’ll get there by taking baby steps, not trying to rush to the finish line. Life’s not a race — start small and enjoy the process of getting where you want to go!

Miso – font, not soup

Cool, architectural-drawing-style font from Omkrets (website). Might use this on a secret project I’ve got cooking :-)

Unsung heros of HTML

I’ve just bought and read HTML & XHTML Pocket Reference. It’s a useful book that’s taught me a few new HTML tags (and I thought I knew them all!).

Whatever you think of semantic HTML, these are essential for any die-hard web geek ;-)

<samp>...</samp>

Sample output from programs and scripts. I’d use this rather than <code> (or within <code> tags) to indicate that the content was an example output of, say, a ruby script.

$ ruby random_password.rb # => <samp>mSeq15H3j8</samp>

<dfn>...</dfn>

Use to indicate the defining instance of the enclosed term (probably the first time you use a special name or acronym):

…The British Broadcasting Corporation (<dfn>BBC</dfn>)…

<button>...</button>

Replaces your boring old form submit button with something classier, using an image:

<button name="submit" id="submit">
<img src="images/submit_button.png" />
</button>

<base />

Use in a document’s <head> to define the base path for all relative URLs in the document. This could be useful if you’re writing a blog, want all your links to start with articles, and are lazy:

<html>
<head>
<base href=”/articles/” />
</head>
<body>
<!– links to /articles/how-to-make-millions –>
<a href=”how-to-make-millions”>read this</a>
</body>
</html>

Lastly, did you know that the <address> tag isn’t meant to be used for any just address? I didn’t. It’s actually intended for marking up the address of the author of an HTML document. I wonder how many people follow that convention :-)

How to lose work and alienate people

I posted the following job advert on Gumtree recently:

Website Design firm looking for freelance photographers to work with.

You’ll need to be a digital photographer with a creative eye and a strong sense of your own style. Ideally you’ll have an online portfolio or a collection or work that you can send us. It doesn’t matter if you’re an amateur or a professional: what matters is your work.

== How To Apply

Download an application form using this link:

http://sevenoakdesign.co.uk/d/af/photographers.pdf

Print off the application, fill it in and send it to us at the address provided.

[extra info...]

I’d say that about 20% of the applicants have ignored the ‘How To Apply’ section and just emailed me directly. Most direct emails say something like, “I’d like to apply” — to which I reply, great: please read the advert properly and you’ll find out how.

When I’m choosing freelancers to work with, it’s a safe bet that I’m not looking for people who are too much of a rush to read a few paragraphs of a job spec. So, a tip: if you want to look good when applying for a job, read the ad first — all of it!

Rip: a RubyGems Replacement?

Rip (“Ruby’s Intelligent Packaging”, via Ruby Inside) is “an attempt to create a next generation packaging system for Ruby”. It’s in alpha, and still under development, but looks cool.

I’m immediately drawn to Rip’s attitude to packaging ruby code for distribution, which seems to be: don’t. Don’t package, just distribute, because Rip allows for installation and management of files, directories, and git repositories (as well as gems), and so removes the need to add an extra layer of packaging logic on top of your existing code:

Rip’s support for a variety of package types means there is nothing to build and distribute. Tag your Git repository and publicize the latest version, or just pass around Gists. Rip does not care.

This makes package management as simple as passing files between friends. Email me your latest library, and I can run rip install path/to/lib. That’s it — you don’t need spec files, and you don’t need to build anything before your send me your code.

I love this simple, stripped-down approach. Rip has the potential to democratise package management by blurring the boundaries between plain old files and ‘proper’ packages — it’s a powerful tool that has a lot in common with Git and even Twitter: all are simple systems that can help people get things done by removing boundaries to productivity.

The code for Rip is available on GitHub, and there’s more information on the Rip website. Although the developers make it clear that Rip is not production ready, you can easily install the code as a gem so I’d encourage all you Rubyists to check it out!

Facebook Usernames

Via @mullican: Facebook will soon let you choose a unique username to represent your Facebook account. More details on Facebook’s blog.

What Does This Mean?

How is this different from the way Facebook currently works? First, your username will be unique — many people are called John Smith, but there can be only one ‘johnsmith’. Second, Facebook will begin using usernames in profile URLs (probably inspired by Twitter):

Facebook username URLs

Facebook also say that they “expect to offer even more ways to use your Facebook username in the future”.

Should I Care?

It depends. If you’re a casual Facebook user, this probably doesn’t matter. But if your online identity is important for you, it makes sense to claim a Facebook username that matches, or is close to, the usernames which you use on other services.

Facebook will be allocating usernames on a first come, first served basis, starting (unfortunately) at 5 am on Saturday 13th June. So if you’d like to get a Facebook username to match the one you use on Twitter, set your alarm clock, and bookmark this page.

PS: if your name is James Wilding, forget you read this may the best man win.