kai_mactane: (Default)

I received a phone call at work this past week, while I was in the middle of debugging some complicated JavaScript. Usually, my desk phone shows the internal extension that’s calling me; this time, it showed a series of asterisks. Intrigued and confused, I picked it up… and discovered it was a recruiter calling me. Apparently a row of asterisks must be how this phone indicates “Caller ID blocked”. (Now I know.)

The next morning at 7:53, I got a call at home from a number that didn’t report any name. I always let those go to voice-mail. I heard another recruiter leave a message, including “it’s eleven o’clock”.

Two different recruiters in two days, making such elementary mistakes? I’ve been working on this article on the back burner for a couple of years, but it’s obviously time I finished it up and posted it.

Never Call a Prospect At Work

And I really do mean, never. You don’t know if your prospect’s current employer monitors calls. You don’t know if your prospect has already told their employer that they’re looking for other opportunities — but it’s safest to assume that they haven’t, because it is definitely not safe for an employee to tell their employer that. Especially in “at-will employment” states (like California), where an employer can terminate an employee at any time, for any reason or none at all, there’s an all-too-real possibility that the employer will just fire the worker immediately. (I’m not saying this would be a smart thing for the employer to do. And I’m not saying the likelihood is high. But it does exist, and it’s too much risk for the employee to take.)

Telling your employer that you’re looking for a new job can get you canned, posthaste. Having your employer find out from some third party that you’re looking for a new job can also get you canned. You know what’s the one thing that would be even worse than getting fired for being on the job market before you can find a new job?

Read the rest of this entry »

Originally published at Coyote Tracks. You can comment here or there.

kai_mactane: (Default)

Once upon a time, Netscape invented the <blink> tag. And people saw the <blink> tag, and put it on their web pages, and thought it was good. And the rest of us saw the <blink> tags on those pages, and screamed, “No, you morons, it is bad! It distracteth the user mightily, for lo, our eyes are built to take especial note of motion and changes in light, for they might signal the approach of predators.”

And so, in the fullness of time, most people learned to never, ever use the <blink> tag. And that was good, for a while. But more recently, people have started putting new — and even worse — moving doo-dads on their sites: Animated Twitter feeds.

I’m talking about the kind of feeds that refresh or scroll every five seconds (or sometimes more frequently). You can see them all across the web. Here are just a few examples:

  • Any comments page on Whedonesque (Joss Whedon’s site). Try to read the text, and your gaze gets pulled over to the constantly-updating “Twitteresque” box on the right.
  • Any article on WikiHow. You have to scroll down one screen before the “Recent Changes” box becomes visible on the right — but that just means the problem isn’t apparent to a cursory, design-level glance; it only becomes obvious when you try to actually use the site for its intended purpose, by reading the content that’s published on it.
  • Even Webmonkey has gotten in on the action. Again, you need to scroll down a screen (unless your browser is way taller than mine), but the “Recent Articles” box will try to grab your attention as soon as you read past the screenshot in the main article text.
  • Like Webmonkey, you’d think TechCrunch would know better than to do this. Admittedly, they do put their “PostUp Beta World’s Best Tweeters” box further down the page, but their articles are longer, too.

Why would someone put something on their web page that effectively says, “Hey, don’t waste your time reading my content! Go look at my Twitter feed instead! Or even at some total stranger’s Twitter feed!” I’m honestly mystified. (That’s why my own Twitter-feed widget, Hummingbird, does not and never will have any kind of auto-scroll feature.)

But what mystifies me even more is: Why would people who (I presume) would sneer in disgust at the very idea of putting a <blink> tag on one of their pages — even for just one or two words — then turn around and put a much larger, more annoying motion distraction on every page in their site?

The fact that it uses AJAX and a Web 2.0, RESTful API doesn’t make a paragraph-sized chunk of never-ending motion any less of a design and usability nightmare. And this is not exactly a new concept: the W3C advised against constant motion back in 1999.

At that, they were Johnny-come-latelies compared to Jakob Nielsen, who called out “constantly running animations” as far back as 1996. In other words: The days of Netscape Navigator version 2.0x called. They have some usability advice for you… that you apparently still haven’t learned yet.

It can’t be that hard to figure out… can it?

Originally published at Coyote Tracks. You can comment here or there.

kai_mactane: (Default)

Let’s organize a 10K footrace. At the end of the footrace — for, say, the last kilometer — we’re going to do whatever we can to encourage the people who are wearing blue jerseys and t-shirts and athletic clothing. There will be people standing by the sidelines to hand out bottles of refreshing sports drinks, and others jumping up and down and shouting slogans like “Dressed in blue! We love you!” whenever they see a blue-garbed contestant.

Why all the commotion over the people in blue? Well, that’s an attempt to offset what we’re going to do to them for the first nine-tenths of the race. You see, they’re going to be dealing with some seriously unfair shit: Instead of cheerleaders, the blue-wearing racers will have to deal with people jeering at them, shouting insults and telling them they don’t belong in this race. Some will be armed with Nerf guns or water balloons, which they’ll be hurling at the racers in blue in an attempt to slow them down or make them drop out of the race altogether.

And it’s not just the spectators; before the race begins, we’ll distribute secret notes to the racers wearing other colors, encouraging them to jostle their blue-garbed peers and even try to trip them up. Of course, many of our runners will abide by a sense of fair play regardless, but there will undoubtedly be those who take advantage of the biased environment we’re creating.

If a huge percentage of the racers in blue drop out before they ever reach the last kilometer… would you say that “not enough people in blue want to win races”?

Obviously, this footrace is a parallel for something else.

Read the rest of this entry »

Originally published at Coyote Tracks. You can comment here or there.

kai_mactane: (Default)

One of the biggest problems with Flash isn’t Flash itself. It’s Flash designers. More particularly, it’s Flash designers’ basic failure to understand why certain UI elements are the way they are. This leads to one of the most common Flash designer diseases: The drive to reinvent basic UI elements. Poorly.

Page Transitions

When a user clicks a link, they’re sending a specific message with a specific intent. That intent is “show me the information I’m interested in”. It’s not “show me a nifty animation effect that takes another 5 seconds out of my busy schedule”.

Users (rightly) consider page transitions to be the space in between what they’re actually interested in. Don’t force them to pay even more attention to them.

Reinventing Scroll Bars

This error is so common, and people screw it up so badly, that I’ve already written an entire post about it. However, I’d be remiss in not listing it here, as well.

Auto-Playing Sound

Speaking of things I’ve written about before… people have been complaining about auto-playing sound since Netscape Navigator first gave us the ability to include such an abomination, way back around 1994. Eleven years later, I listed auto-playing music as a “no-brainer”, in the sense that excluding it from your site should be a no-brainer decision.

Some people will apparently never learn.

Assuming Everyone Has Enormous Bandwidth

Yes, broadband is much more common in the United States now than it used to be. That means that people are less ready to wait a long time for your page to load, not more. And a designer, developer, or other professional who understands how HTML, CSS, and JavaScript work can arrange things so that at least part of the page (or AJAXified web app, or whatever) is usable when only part of the code has arrived at the user’s browser.

If it’s possible to provide the user with something more useful than a “Loading…” indicator before all the code has arrived, then why do Flash developers never actually do so? (This is a real, not rhetorical, questions, and an open invitation for Flash designers and developers to answer it.)

Here’s Why So Many People Disparage Flash “Designers”

For a trifecta of awfulness, check out the site for Alembic, a bar in San Francisco. On my fiber-optic, 6 Mbit connection, it takes nearly 10 seconds just for the site’s intro to load. Then, once the little rocks glass is full of liquor, the page blasts some sound at me — sound that doesn’t even convey any information. (Believe it or not, I already know what a crowded bar sounds like.)

Then there are the slow transitions from sub-page to sub-page. All told, it took me a ridiculous amount of time just to find out what their hours were. But for a true dose of awfulness, try clicking on “Menus”. Then try clicking on one of the other main menu items. The site’s “background” doesn’t even realize that there’s still a “window” open in front of it… even though both the “background” and the “popup” are just visual elements of the same Flash object!

The real kicker comes when you try clicking on one of the menu pages. Rolling over zooms them a bit, but clicking? Launches a PDF document! A separate one for each page! That zoom effect was apparently just a red herring, and trying to get the place’s full menu would require seven separate PDF downloads.

I suppose they could, somehow, have disrespected their users a little more. At least the page doesn’t literally throw a drink in the user’s face. Just figuratively.

Please, if you’re designing your sites in Flash, don’t make them like this. Don’t be the web equivalent of “that guy”.

Originally published at Coyote Tracks. You can comment here or there.

kai_mactane: (Default)

Here are a few things that I consider to be basic requirements for functionality in a smartphone, along with notes on how my Palm Prē fails to deliver:

When I press the power switch, the phone should turn on.
(Assuming the battery is charged, of course. And I’m willing to accept that a modern smartphone needs to be charged every night. No problem there.) But given that, when I press the “on” switch, I should see the screen light up within, say, one second. It should not take ten seconds. By the time ten seconds go by, I’ll assume that I must not have pressed the power switch hard enough, and I’ll try pressing it a second time.



Did you know that the Palm Prē stores power-switch presses in its input buffer? That means that when the phone finally does get around to waking up, it processes the first impulse, lights up the screen… and then immediately blanks it again as it processes the second impulse. This is extremely frustrating.
When the screen lights up and shows me an “unlock” icon, it should actually let me unlock the unit.
I’m not complaining about the fact that it shows me that icon. I recognize that it’s there to conserve my battery life by making me prove that I’m a human being, and not an inanimate object that jostled the phone in a crowded purse or backpack. I’m fine with that.



What I’m not fine with is having to try three-to-five times to get the icon to recognize my input. And it’s not like the Prē stores this stimulus in its input buffer, so if I just wait for it to catch up… it blanks out the screen and I have to try again.

Read the rest of this entry »

Originally published at Coyote Tracks. You can comment here or there.

kai_mactane: (Default)

The more I play with OpenOffice.org’s Writer, the more confused I am by some of the odd UI/UX warts in it. Here are the ones that are on my mind this morning:

  • When I press F11 to bring up the Style Picker list, why does typing letters not navigate me through that list? Why do I have to use the down-arrow to navigate to “Heading 1″, rather than just typing “he” and then Enter?
  • Once I do hit Enter to apply the style I’ve chosen, why does the picker window remain open even though my cursor focus has returned to the document? This is the worst of both worlds: part of the document I’m working with is obscured by the picker window, and now I have to hit F11 twice in order to apply another style. If the window went away, I could just hit F11 once to bring it up the next time I wanted to apply a style.

    Read the rest of this entry »

    Originally published at Coyote Tracks. You can comment here or there.

kai_mactane: (Default)

The following is a copy of what I just posted on the Palm Prē forums:

I woke up this morning to find that the webOS 1.2 upgrade had been pushed to my Prē automatically. I was happy, until the reboot finished and I saw:

Signed Out

You are no longer signed in to your Palm Profile on this phone.

If you plan to use this phone again, you can leave the files on your USB drive intact.

If you’re done using this phone, you can erase all your data on the phone and return to its factory default.

[Just Restart]
[Erase All Data]

The [things in brackets] represent buttons.

Read the rest of this entry »

Originally published at Coyote Tracks. You can comment here or there.

kai_mactane: (Default)

So, Palm was recently caught spying on its users. Major kudos, by the way, to Joey Hess, who initially broke this story. For those who haven’t kept up, various other news outlets and blogs have also been reporting on it.

Palm’s response to this problem is a single paragraph of corporate PR-speak:

Palm takes privacy very seriously, and offers users ways to turn data collecting services on and off. Our privacy policy is like many policies in the industry and includes very detailed language about potential scenarios in which we might use a customer’s information, all toward a goal of offering a great user experience. For instance, when location based services are used, we collect their information to give them relevant local results in Google Maps. We appreciate the trust that users give us with their information, and have no intention to violate that trust.

The problems with this statement are:

  1. There is no indication of how to turn off this particular piece of data collection. Not on Palm’s web site, not in the user manual that came with the Prē, and not in the Prē’s user interface.
  2. For all the “detailed language” in Palm’s privacy policy, there is no slightest indication — anywhere — that they collect information about what applications the user runs.

It’s particularly interesting to look at the “On-Device Services” part of the privacy policy: It mentions types of data that will be collected “If you use services we provide” (emphasis added). For example, they say, “When you use a remote diagnostics or software update service, we will collect information related to your device (including serial number, diagnostic information, crash logs, or application configurations)”. This is the only mention of collection data about a user’s applications, and it clearly starts with “when you use a diagnostic service”.

It doesn’t say “once per day, no matter what”.

Other items under “On-Device Services” start with “When you use a back-up and restore service…” and “When you use location based services”.

All of this suggests that users have some sort of control over what gets sent and when. The Palm Prē’s “Location Services” preferences item has a control labeled “Background Data Collection”, with the caption: “Allows Google to automatically collect anonymous location data to improve the quality of location services.” (This is after other controls labeled “Auto Locate”, “Use GPS”, as shown at right. If you turn on Auto Locate, you also get a control labeled “Geotag Photos”.)

It doesn’t say that Google (or anyone else) will collect data on what apps a user is running. And it strongly implies that this data will only be collected when I actually run an app that uses location services — for example, Google Maps, or OpenTable (which wants to know where I am so it can try to find nearby restaurants).

And it blatantly claims that if I turn off that switch, it won’t send my data off to big corporations any more.

So far, I’ve verified a few things:

  1. The application data log includes installs, uninstalls, and launch and close times for all apps, not just Palm’s official ones. Homebrew and third-party apps are included.
  2. Flipping the Background Data Collection switch does not turn off the contextupload process that’s responsible for sending the information to Palm’s servers.
  3. Nor does it stop logging application launch and close times. I’ll repeat that: My Prē is still logging application launch and close times into /var/context/contextfile, even though I have Background Data Collection turned off.

We in the technology business have a technical term for what Palm is doing when it claims that it “offers users ways to turn data collecting services on and off” in the context of this particular data. That term is: lying. Palm is lying to us, pure and simple.

Originally published at Coyote Tracks. You can comment here or there.

kai_mactane: (Default)

Note, Added A Few Days Later: This post does not tell the whole story. This is a wail of anguish, and is not intended to be balanced. For a more balanced look at the Palm Prē, read my later, and broader, evaluation of it as well as this post.


There are a lot of good things about the Prē, but right now, they’re almost all being overshadowed by the catastrophic mistake the webOS developers made with the Memo Pad and Task List. They appear to have been swayed by the general Google-based philosophy that “If you’ve got really good search, you don’t need any internal structure or divisions.”

This idea is completely wrong.

Not allowing me to divide things into categories and subcategories is a painful thing. The excuse that “you can find anything you want, just by searching”, misses the point that I don’t always want to search at all — sometimes I want to browse.

Sometimes, I don’t want to select a single item. Instead, I want to see which items are available. Dividing things into categories is also an exploration of the ways that things are connected to one another. Allowing access only by searching demolishes those interconnections.

The only thing that’s more wrong than denying the user the ability to sort things into categories from the beginning, as Gmail does, is to take away the categories a user has already set up. And that’s what the Memo Pad and Task List in webOS did with my imported data from PalmOS.

I used to have 237 memos, sorted into 11 different categories that relate to various hobbies and interests, projects I’m working on, my girlfriend, and so on. And within each category, memos were automatically sorted alphabetically by title. And I had 50 To-Do items arranged in 11 other categories, these ranging from locations (i.e., “things that can only be done at home”) to types of shopping trip (e.g., “things to pick up at the supermarket” vs. “things to pick up at Fry’s”).

These internal divisions are now completely gone. My 237 memos are now arranged in the order they were created in, which is absolutely useless to me. I can, apparently, assign each memo one of four colors, and I can drag them to reorder them, but I’d still be stuck trying to deal with a list of 237 items, where previously no category had more than about 2 dozen. This is the difference between a manageable list, and one that is completely unmanageable.

(As you might guess, I also had a bunch of categories in my Date Book — only 10, as it turns out. But categories aren’t quite as indispensable there, because a calendar app has a natural way of organizing data that’s more primary. Months and weeks even subdivide time for you automatically. So while I sorely miss the categories in my Date Book, their lack isn’t a complete, crippling, deal-breaker.)

To add to the difficulty of a 237-item list, webOS doesn’t seem to have scrollbars. The content will scroll just fine, but there’s nothing to indicate where you are in the list. Are you right at the top? Halfway through? There is no way to know. There is also no way to go quickly or easily from one end to the other; you have to laboriously traverse all the territory in between.

Confronted with such a nightmare, my first thought is, “What if I just throw away all my old memos and start fresh?” Admittedly, there is some cruft in there. (In fact, I do occasionally archive stale memos to my computer’s hard drive and then delete them. It could be worse; it’s not like I’ve kept everything.)

The mere fact that I’m considering nuking all my old data, just because the new system can’t handle it, is a tragedy of poor software design and backward incompatibility. But honestly, even that wouldn’t really help:

The very nature of the new memo pad means that it cannot handle very many memos before it becomes unwieldy. With no scroll bar and no way to filter the view, the user is forced to confront all of the information that’s present, instead of having any way of interacting with a reasonable subset of it.

Once there are more than, say, three or four dozen memos in the new memo-pad system, it will be unusable again.

And this means I’m going to have to find a new way to organize my stuff. My notes. My thoughts. My ways of remembering stuff when I’m on the go.

Maybe Palm will eventually put categories back in. I dearly hope so, because their lack is a calamity for me. But by the time they do such a thing, I’ll probably have found some completely new way to keep myself organized.

I am very upset right now. And this has all just been about one particular problem; it’s not like the Prē doesn’t have some other flaws. (The lack of a D-pad is pretty annoying.)

It has some nice features, and I really ought to write about them at some point, just for balance. But right now, confronting the complete breakdown of my organizational system, it’s hard for me to see any of the good stuff that lies beyond.

Edited to Add: It seems the To-Do List or Task List app actually does have a feature that effectively allows a single-level category grouping. It’s just somewhat easy to overlook at first. The Calendar will color-code items based on their source — for example, all items derived from Google Calendar might be blue, while ones from MS Exchange might be red. I think this is silly; I’d rather have, for example, parties in red, work tasks in blue, social appointments in green, and what-have-you.

Right now, all my items are green, indicating that they all came from the same source. I really hope later ones don’t pick up some other color; I’d rather have no categorization than color-coding that doesn’t match my thoughts and that I can’t turn off.

Originally published at Coyote Tracks. You can comment here or there.

kai_mactane: (Default)

I found an interesting UI problem today, on a site that I will be kind enough not to actually link to. Instead, I’ll just reproduce the general concept and problem here:



The links all just link straight to the nav bar itself, so if you scroll your browser view so that the list isn’t right at the top, you’ll be able to tell when you’ve clicked one of the links. See what happens?

You roll over one of the list items, and you get an immediate visual reaction: not only does the background change color, but the mouse cursor even becomes a pointer. It’s not just suggesting that your cursor is over a clickable item; it’s flat-out asserting that to be the case.

And it’s lying.

The clickable area is nothing but the text in the very center of the nav bar item, and the only feedback you’ll get when you hover over that is the destination URL appearing in your browser’s status bar — if you have that turned on; many browsers leave the status bar off by default.

I’m fairly sure the people at Anonycorp didn’t mean to do this. I think it was just an ill-considered (and poorly QA-ed!) mistake in choosing which CSS rules to apply on which elements. But it’s a horrible, cruel UI trick to play on your visitors and users. Don’t do this.

Originally published at Coyote Tracks. You can comment here or there.

Profile

kai_mactane: (Default)
kai_mactane

July 2011

S M T W T F S
     12
3456789
101112 13141516
17181920212223
24252627282930
31      

Syndicate

RSS Atom

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jul. 6th, 2025 09:50 pm
Powered by Dreamwidth Studios