« February 2008 | Main | April 2008 »

March 28, 2008

Search vs. URL

Watching the TV last night I saw an advert for EMA (Education Maintenance Allowance) which instead of giving a URL suggested that the viewer "search for EMA online". This is the first time I've seen this type of advertising in the UK, although strangely only last week the article about search terms taking over from URLs in Japan over at cabel.name was doing the rounds. Searching for EMA across Google (first both paid and natural), Yahoo! (first paid, second natural) and Live (first paid, third natural) seems like this works in this instance, but I can't help but fear the torrent of spam that will start to follow major ad campaigns that feature particular terms.

As Cabel says in his article this change seems inevitable for all the reasons that he lists, but it sure is going to make management of search placement a lot more complex over the next few years.

March 10, 2008

Forkd: big news

Firstly, we’ve rolled out a wide range of new features on our recipe community site forkd.com and removed yet more “coming soons” from the site in the process:

  • Activity panel (my favourite)
  • RSS feeds
  • Change message when changing a forked recipe
  • Blog to Wordpress
  • People search
  • Tag brush — our humble attempt to evolve the act of tagging

As usual, the full details are on the Forkd blog.

But more importantly, I am happy to announce that after our 6-month invite-only beta, sorry feta period, we are opening registration on forkd.com! We’re confident that we have a strong enough feature set, and have squashed all really embarrassing bugs, that we’re ready to open it up to all comers. So if you’re not on Forkd yet, why not sign up and give it a go?

March 08, 2008

Could not read chunk delimiter

I nearly cried. I went to svn up in a local check out of one of the projects I'm working on, knowing that I was a good few days behind and instead of getting the usual stream of files I got an error message:

Could not read chunk delimiter

I logged on to the server and ran svnadmin verify /path/to/repo and got a different error message:

Decompression of svndiff data failed

Much googling later and I found fsfsverify.py - a script that repairs broken fsfs-type svn repositories. The author (jszakmeister) doesn't allow comments on the page of his blog that hosts the script, so this is a public thanks for really really saving my bacon!

March 07, 2008

Favourite Firefox plugins

It’s worth choosing carefully which extensions you install, since too many of them will definitely slow down Firefox and use up memory. Here are the ones I rely on every day:

Firebug. Simply the most indispensible tool for the web developer. One of those rare applications that you love more every time you use it.

FireFTP. Not only will I never need a standalone FTP application anymore, but this actually outperforms any I’ve ever used.

Tab Mix Plus, mainly for the Session Manager. I typically have 3-4 FF windows open, one for each project or aspect of a project, and many tabs in each. It’s imperative that I retain this from one day to the next. Session Manager can reload the last session, or the one before that, or save any number of sessions to a particular name.

Web Developer toolbar. Before Firebug, this would’ve been #1. A lot of its functionality is supplanted by Firebug, but it still has many useful tools and some handy keyboard shortcuts, e.g. Ctrl-Shift-S Toggle CSS, Ctrl-Shift-E Edit CSS and Ctrl-Shift-A Validate HTML. It’s also great for evaluating accessibility.

Netvouz buttons. This is my online bookmark manager. For why I use it instead of Del.icio.us, see my comment (the 5th one) on this review.

Pearl Crescent Page Saver Basic. I need it for one simple reason only: making snapshots of web pages longer than the screen. The basic (free) version creates a PNG on the desktop; the pro version will copy the snapshot to the clipboard.

ColorZilla. It has a lot of functionality that I don’t use, but I find it the quickest way to read colour values off web pages. (I’d need Photoshop open otherwise.)

What are yours, and why?

March 06, 2008

IE8: steps in the right direction

After the furious controversy and rationalisation unleashed by Microsoft’s embrace of version targeting from IE8 onwards, we were thrilled by their u-turn on the decision yesterday. Instead of acting like IE7 unless instructed otherwise, “IE8 will, by default, interpret web content in the most standards compliant way it can.” Big sigh of relief.

And today Microsoft released the first IE8 Beta. Thanks to John Resig for his excellent review, pointing out all the significant improvements as well as ommissions. As Resig points out, it’s primarily my JavaScript-coding colleagues who’ll see the greatest leaps forward, but I’m amazed and happy to see support for ARIA, meaning we can finally improve the accessibility of Ajax-based web applications. And I love the Firebug-like integrated debugger — you can even use it when in IE7 mode!

In the review, Resig makes one comment that resonated with me: “I simultaneously feel both joy and anger in seeing these fixed. Happy that they’re being released and anger for the fact that I had to struggle through them and that they now consume some portion of my brain.” Joy and anger. That’s exactly what IE8 makes me feel. We’re made to feel grateful for the fixing of years-old bugs that on any normal software product wouldn’t have been tolerated for longer than a few months.

March 03, 2008

Reflections of a Windows-Mac switcher

10 months ago, starting a new job and needing a new laptop, I had a choice of platforms. Since I work in user experience design, knowing multiple operating systems is valuable in keeping my frame of reference as broad as possible. I haven't used Macs after 1999. I certainly preferred Win2000 and WinXP over Mac OS 7-9, but have become frustrated with Windows with increasing regularity. So I opted for a Mac (Powerbook 2.33 GHz Core 2 Duo with 2GB RAM).

Since then, I've kept a list of the pros and cons of OS X (Tiger) compared with WinXP. Naturally, there were many annoyances in the beginning, but I didn't want to blog about it until I've become settled on the new platform. I've not strictly switched either, since my home computer still runs WinXP, and I simply couldn't use OS X without also having WinXP on Parallels.

Short version: Took me about 3 months before I preferred working on the Mac, and am now likely to stick to the platform for work. Read on for my list of OS X annoyances, and likes.

OS X annoyances

Many of these complaints are really the fault of particular applications, rather than OS X. But I blame OS X since they're all behaviours that should have been standardised at the OS level. (That, or Apple has been less successful at getting developers to follow standards than Microsoft.)

  • Lack of "click through" to background windows. This is a fundamental difference between Windows and Mac and I admit there are strong arguments for both. There are certainly cases where click through can be annoying or dangerous, but even after 8 months it continues to annoy and slow me down. Plus, it's inconsistently implemented: e.g. the Finder clicks through for some operations (window buttons, drag). Some applications make it worse, e.g. the Firefox Back button menu which appears too easily, often forcing me to click 3 times before getting the desired result. The suggestion menus that appear below text fields have the same annoying effect. The latter does not happen in Safari, but dropdown menus still require an extra click to dismiss.
  • Modifier keys. I believe Apple screwed up by insisting for far too long the one-button mouse was easier to use than the 2-button mice common on PCs. The mouse may have been simpler, but it soon foisted upon Mac users a third modifier key, confusingly named Control, in addition to the other two modifiers known variously as Apple, Command, Alt, Option and various runes with even more nicknames. Nowadays Macs have a right-click, but users still have to remember more finger-stretching chords than PC users do. If you use a non-Apple keyboard (inevitable if you, like me, prefer the "natural" layout), then you have the added problem of confusing key labelling and placement.
  • Cursor controls are application-specific rather than OS-level. The most frustrating is the inexplicable lack of support for the Home and End keys. But Cmd-Left/Right, Opt-Left/Right, and Cmd-Up/Down behave inconsistently between applications and is sometimes not supported at all.
  • Keyboard access still lags behind Windows. When a dialogue box comes up, you have no guarantee that you could Tab through the buttons or fields, or activate buttons with keyboard shortcuts. This is up to the application, and there are no keyboard cues (e.g. underlined letters). Lately you can turn on better keyboard access modes, but this is still unintuitive.
  • Application installation / uninstallation inconsistent. I think this is simplicity gone wrong. At first blush, the experience is wonderfully intuitive: just drag the application bundle icon to Applications, delete it to uninstall, and that's it. But not all apps follow this, e.g. some have their own installer, or just a folder rather than an application bundle - hence the need for utils like AppDelete, still flaky.
  • Apple hardware is usually wonderful, but there is still the occasional style over function mistake: the Mighty Mouse can't click when you're holding the mouse in the air, or if you've rolled onto a cable.
  • Unnecessarily hard to resize windows. Can't believe it's still only the bottom-right corner. Again I blame a wrong-headed idea of "simplicity".
  • More simplicity-gone-wrong: I don't agree with absence of OK/Cancel in dialog boxes (e.g. System Prefs). No way to Cancel except manually resetting the things you've changed, if you can remember what they were. Also inconsistent from other apps which have OK/Cancel.
  • I've gradually made peace with most aspects of the Dock and app/doc switching, but some annoyances remain. In Windows, the ability to alt-tab between documents is a great timesaver. Only occasionally in tabbed apps did I have to use Ctrl-Tab too. On the Mac, I routinely need Cmd-Tab, Ctrl-Tab and Cmd-\ which really slows me down. Apple would like you to use Expose, but that doesn't use muscle memory (i.e. making the right selection without having to look/read).
  • Cmd-Tab is constantly thrown off by the mouse cursor happening to be over the icons
  • I see way too much of the Beachball. And the difference between the beachball and the wait cursor (which looks like a survivor from an old OS) is unclear to most users.
  • Confusing, overlapping concepts of Hide (Cmd-H), Minimise (amber button) and F11 (show desktop, which temporarily shoves all windows out of the way). Gradually getting used to this.
  • In the Finder, I still miss a tree view. Multicolumn browse is excellent, but still does not replace a folder tree + file list for some uses. For example, how do you drag things between folders without having lots of Finder windows open? I looked on the web for a utility that adds a tree view to the Finder, but found none.
  • Lacks a "temp" location -- most applications by default abuse the desktop, making it hard to keep clean.
  • Lacks an Irfanview-equivalent utility (fast, versatile image viewer with abundant keyboard shortcuts), either bundled or 3rd-party. The bundled Preview utility is woefully inadequate.
  • Spotlight is very powerful, but results can be unhelpful. It's hard to see the location of files in results listings, and you can't see a text extract around the matched term.
  • Some System Pref dialog boxes are as labyrinthine and confusing as Windows', e.g. Bluetooth.
  • Click-drag selections break when the cursor exits the application window. OK, this is not OS X, but too many applications (Firefox, Thunderbird) have this problem. Could this not have been OS-level?
  • The most pervasive problem is also the most minor and difficult to explain. Even on a high-spec dual-core Powerbook, the Mac just feels slightly soft/fuzzy compared with Windows. Windows routinely becomes maddeningly laggy, taking many seconds to respond to things that should be instant, which my Mac (so far) doesn't. But it's like there's a "micro-lag" for just about all operations on the Mac, making it feel like walking on a soft or slightly sticky surface. I'm not sure what causes this perception. It may even be a psychological illusion caused by the slightly fuzzy anti-aliased display, and the slightly greater travel distance of the Mighty Mouse button.

OS X likes

Inevitably, I'm going to be a bit unfair and not mention everything that's good, for the pure reason that when things just work you don't notice them as much. For the record, the benefits are sufficient to make me prefer the platform over Windows.

  • Menus at top of screen, not on windows. This is one thing Apple got right from the start, and Microsoft have stubbornly refused to concede.
  • Good range of OS-level shortcut keys, well explained and configurable in the System Prefs.
  • Excellent, OS-level screengrab
  • Copying straight from PDFs into Photoshop
  • Generally lag-free: most operating system operations are always fast and smooth
  • Things I like about the Dock:
    • Starting apps in any order thanks to fixed Dock. Good for muscle memory. On Windows I always had to open apps in the same order have a predictable taskbar.
    • good not to get overloaded by all installed apps
    • good that you can drag stuff to Dock icons, unlike Windows (but I still miss Windows' right-click: Send To)
    • good that you can overlay progress and other indicators on Dock icons
  • Expose is great. The use of screen hotspots (e.g. corners) is also excellent.
  • Wireless just works. On Windows a plethora of crappy devices and utilities, which work one day and not the next.
  • Networking that usually "just works", without telling you that it works. E.g. when you plug in Ethernet cable, you're just on the network, that's it. No announcements. The downside is that you don't know what you did to make it work. And if things don't work, troubleshooting can be as difficult as on PC
  • Generally much less intrusive than Windows, with fewer confirm dialog boxes and things popping up to tell you things you don't need to know. The Security Apple ad is spot-on.
  • Things I like about the Finder:
    • Nice instant View buttons on Folder windows (I wish Windows had this)
    • Columns view excellent; very quick (but still needs a tree view)
    • Keyboard shortcut for New Folder (wish Windows had this)
  • Laptop hardware likes:
    • excellent power management, suspend, etc
    • Two-finger trackpad scrolling, all directions -- unequalled on other laptops
  • Things crash somewhat less than Windows, but not much less
  • The 3 colour buttons on Finder windows struck me as mystery meat at first, but it makes sense for an OS you use long-term. Good use of reveal on mouseover

Conclusion

It took me almost 3 months before I got comfortable with the Mac, and didn't want to return to Windows. As I said above, I'd now probably stick with a Mac for work purposes. This is probably down to

  • fewer (or less serious) annoyances than Windows
  • somewhat greater stability
  • generally better usability
  • performance (it handles everything I throw at it, though how it'd compare with a top-spec Windows machine I couldn't say)
  • excellent hardware
  • Unix terminal
  • Vista. Do not want.

I'm sticking with Tiger, for the time being. There wasn't anything in the Leopard demos I've seen that made me want to upgrade.

For a more rigorous comparison of the two platforms, see xvsxp.com

Before anyone points it out, I know there is a 3rd option: Linux. I owe it a decent comparison as well, but well, switching operating systems while trying to get my work done isn't something I do for fun.

In praise of invisible text

As a website accessibility feature, invisible text has long been accepted as one of the most helpful things you can do. This is text that is invisible on screen, but read out in screen readers, using CSS like the off-left technique. So far, as in those articles, we’ve primarily used it to add skiplinks and invisible headings.

Yesterday, while peeking under the hood of the new BBC homepage (very impressive HTML/CSS), I noticed another very handy use of invisible text: replacing the oft-overused title attribute. Under the Radio section, a link that looks like “Listen Live” will actually be coded as <a href="/radio/aod/radio1.shtml" class="radiopop">Listen<span class="hide"> To Radio 1</span> Live</a>. For a sighted user, the visual context makes the extra text superfluous, but for screen readers users, it’s indispensable.

This is akin to “Read more” links, for which we’d usually add the associated page title in a title attribute (still a popular recommendation). But you can’t actually count on all screen reader users hearing the title attribute. (The fault of assistive technologies, but nonetheless…)