|
| |
March 15th, 2008
Does HP do this on purpose? I don’t know if HP just likes to reinvent the wheel or what, but this just seems crazy. But let’s back up a bit before I go on any further…
I was at my brother-in-law’s house tonight and I was “privileged” to take on the role of family IT guy. What that meant tonight was diagnosing “Active Desktop disabled” errors along with random blue-screenedness. After a little investigating and some scrounging through the event logs, I saw that some services failing to start and other weird errors, so we decided it was time to wipe the slate, or in this case drive, clean.
So we backed up the stuff from his laptop (since no one ever backs up) and popped in the Windows XP install CD (this was back when HP actually gave you CDs). I reformatted the drive, reinstalled Windows and then moved on to the driver CDs. These are the custom gems provided by HP to return your laptop to the tip top amount of crapware that is on them by default. After the second driver CD, I was presented with this:
Um… huh? Ok… so I have the choice of both restarting my computer now and not restarting now? So I click on the restart later checkbox and now only the restart later checkbox is checked. I click on the restart now checkbox just to make sure and again only the restart now checkbox is checked. Hm… how come this smells like another control I so often encounter?
I’ve already talked about my previous dealings with HP software and them using the wrong controls at the wrong time. Here is yet another instance. This leaves me with a couple thoughts neither of which are very uplifting. Either the programmer at HP didn’t know about radio buttons and so reinvented the wheel by using exclusive OR checkboxes, or he did know about radio buttons but choose not to use them. Talk about a case of “Not Invented Here” syndrome. What gets me is even if the original programmer didn’t know to use radio buttons, do they not do peer reviews? or testing? Did these dialogs not get looked at by anyone else down the line? I’m just amazed that this slipped through the cracks.
But for whatever reason it was, this managed to get released as is. Whether because of the programmer, project manager or whatever force it was, this is how it is. But no matter what the reason, it’s not good…
February 11th, 2008
I created a new blog last week. That brings my count up to… well, a lot now. Anyway, the target audience is middle school to high school kids. (Don’t get any strange ideas here, this is for the youth group at my church, ok?) Anyway, so this is for teenagers which basically means it’s for people that have grown up never not knowing what a computer or the Internet was. So I put a post up on the blog which gave them links if they needed help with this or that and then at the end of it I put my email address up there for them as a last resort. At first I thought this was a pretty simple case of using a “mailto:” link in order to create an email when the user clicked on the link. But after a little thought, I quickly started questioning my decision.
If you have an email application installed on your computer, then mailto works perfectly well: it pops up a new mail with the “To:” field prepopulated, so that the user is all set to type in their life story and click “Send”. However, I don’t think that’s the common case anymore (and especially not for my user base).
Last year, I bought a couple copies of Office for the home computers. I got the version of Office that has Outlook just so I could have all the cool functionality that Outlook has nowadays. The only problem is I never use it. I always use the webmail interface provided by Yahoo and Gmail. What’s sad is that I actually love Outlook. All the nice folder capabilities, calendar views, task functionality… it’s just a great app. But I want the same experience on all computers I use. I don’t want my read email downloaded and available only on one of the three computers I use everyday. With POP email you definitely have that problem. With IMAP it’s a little better, but you can still have issues of folders created on the desktop not being available in the webmail and so on. I don’t want to be tied to always going to one computer to manage my email, so I just stopped using it.
I decided to strictly use webmail to manage my personal email and am pretty sure that that’s becoming the norm.
So what does that mean for good ol’ mailto? Well, there won’t be an application defined to handle “mailto”, so when the user clicks on a mailto link nothing happens… and that’s never good.

There are programs that will fix this for some webmail apps. For instance, G-Mailto and GMail Notifier make mailto work for GMail, but of course these are just one off fixes that you would have to find and install for your particular webmail on every computer that you use to check your email.
But either way, mailto doesn’t automatically work for webmail users. Worse yet, the user may right click on the link and select “Copy Shortcut” in IE or “Copy Link Location” in Firefox and paste that into their webmail app. That will include the “mailto:” part of it… and that won’t work either:
is from Yahoo and this one is from GMail:
And of course you have to be careful when putting email addresses in plain text on a website. You can obfuscate it using “[at]” instead the “@” sign, but that’s pretty low tech and bots probably check for that now anyway. Better yet you can encode it, so it won’t look right until it’s actually rendered, but that’s a little beside the point here….
So what’s the better of the two methods? Provide a “mailto:” link to foster an aging paradigm or just make it simple text that the user has to cut and paste? Cater to the crowd with desktop email clients installed all the while making the experience for the majority of email users a little more error prone?
Sad as it sounds, it looks like plain ol’ text may win…
February 9th, 2008
The dialogs popped up via the common Windows APIs through either MFC or the .NET framework always put the buttons in the same place, whether it’s an OK, Yes/No, OK/Cancel, whatever. Having controls in same place is a good thing. It make use of the user’s spatial memory. The user remembers and automatically knows where the controls, or in this case buttons, reside.
The problem is that typically modal popup dialogs are modal and popup precisely because they require the user’s attention. They need to ask the user something, confirm something, or simply alert the user to something. And since popup modals are all the rage, users get very used to simply dismissing them since either the user already knows what they say or the user simply doesn’t care. A form of popup dialog dismissal habituation has set in and combined with spatial memory automatically being invoked… BAM! no one reads your popups anymore.
So how do we fix this?
Well, some applications randomly rearrange the buttons (and don’t set a default button), so that the user has to read the text. Well, they have to read the button text, but they still don’t have to read the text in the body of the popup itself. And I don’t know about you, but those popups just piss me off. “Ok, where’s the darn button now???”
So what options do we have left? I’ve seen some people spouting that modal popups should be banned completely. Great! …now what do we put in their place? I agree that getting rid of modal popups would be a big win, but doing that requires doing all the confirmation and alerting in the form itself which requires much more code than just MessageBox.Show(). For example, how do you make sure that the user saw your alert? How do you make the user confirm something if they can continue using the form?
I don’t know about you, but I don’t see getting away from modal popups any time soon… but maybe that’s just me. Has anyone else had success in this?
January 30th, 2008
I would have thought that the rules of when to use and when not to use checkboxes were pretty straightforward. However, after a UI review last week, it became apparent to me that this may not be the case. So when do you use checkboxes? Simply when you have a true/false, yes/no, or on/off choice:

However, checkboxes don’t work if you have a two choice option that is not a simple, binary, opposite choice. Usually you can tell if this is the case if you can’t logically put a “not” or “don’t” into the label to describe what happens when the checkbox is unchecked.

In that case, use something else like radio buttons or combo boxes:

And of course any option that requires three or more choices would be displayed similarly:

But of course, there’s always the problem of deciding when something is one option with several choices or is two or more options with dependencies:

But the simple and most common case for checkboxes still applies: only for simple binary choices!
January 22nd, 2008
I don’t like buying music online. There. I’ve said it. I don’t know if that makes me an old fart or what. I just don’t like doing it. When you buy the CD, you are actually buying something concrete… something substantial. When you buy music online, you’re buying bits.
I think my biggest problem with buying online though is that you get the music files in only one format and in only one bit rate (which you typically can’t control) and slathered chalk full of DRM. If I buy tens or hundreds of albums on iTunes, I am thereby chained to using iTunes and iTunes forever else I’ll have to rebuy all that music again. And that’s assuming that iTunes and Apple will still be around 10, 20 or 50 years from now. Those facts almost make me consider renting music. You pay a relatively small fee and can download all the music you want. But then again, if you ever stop your subscription or want to transfer your music elsewhere, you’re SOL. You never really owned anything.
However, if I own the CD, I can always rip, rip and rerip the music into any format I want. MP3 is still the dominant format nowadays, but I may want all Ogg Vorbis in a few years. No problem. I have the CD, so I can rerip it. And not just that, but CDs are already a pre-existing backup to their digital counterparts. After you rip it, the CD sits on a shelf or in a case. If your iPod or Zen or NAS dies on you, you can always just pop the CD back in and rip the songs again.
All that being said, there is one online music service that I’ve tried and may continue to use. It addresses most of my problems and I don’t feel too dirty using it:
Amazon’s music downloading service is almost everything that I’ve wanted. Look at this from their help page:
Where possible, we encode our MP3 files using variable bit rates for maximum audio quality and smaller file sizes, aiming at an average of 256 kilobits per second (kbps).
DRM-free means that the MP3 files you purchase from Amazon.com do not contain any software that will restrict your use of the file.
The albums and songs you purchase from AmazonMP3 Music Downloads are free of Digital Rights Management software so that you have the flexibility to play them on any of your media players, PC or burn them to CD.
They have high bit rate files and no DRM. NO FREAKIN DRM! No matter where I put this, it will work. It’s up to me to keep my actions legal. And I’m not a 15 year old kid that is going to share all this stuff. I actually believe in buying music and supporting the artists. If I like the stuff that the artist puts out, I have no problem giving them money so that they can continue to produce more. If my collection consists of a hundred one hit wonders, maybe I need to reevaluate my musical tastes, but that’s another blog entry…
So let’s take a look at how all this works. Let’s say you want to buy an album from Amazon. You go to the album page on Amazon as normal. Look for the amazon mp3 panel in the lower right hand side and click it if it’s available. Not all albums are available, of course, but I’ve found most of the things I’ve looked for (and my tastes aren’t too terribly mainstream):
That will bring you to the album’s purchase page in the MP3 Downloads section of Amazon. From here, you can either buy your music song by song or just buy the whole album. And a lot of songs and albums are even cheaper than iTunes:
So after purchasing the music, you than need to download Amazon’s Downloader application if you haven’t already and then the .amz token file which tells the Downloader app what to do:

The Downloader then just goes on automatically downloading your files whether in the foreground or in the background:

And when it’s done, you’re politely informed of that too:
You can then spawn off your default music player to start listening to your new purchase or you can click on “Show Downloads” to open Explorer in the folder where all your purchases are. For me, that is C:\Users\mike\Music\Amazon MP3\. They are arranged by artist then album. Pretty typical stuff. There you have all your free and clear mp3’s to do with what you want. How beautiful…
The Amazon MP3 Downloader is a pretty bare bones app. It’s not this bloated thing sitting there in your system tray taking up CPU cycles. Consequently, it doesn’t save any state. After you close it or even if you buy and download additional songs, it will have totally forgotten everything you bought beforehand. You can only access them through the file system. But that isn’t a big deal. I don’t really like it when applications try to manage that stuff for you… like iTunes. Yes, it’s yet another thing I don’t like about iTunes.
Anyway, I’ve bought three albums in researching Amazon’s MP3 service and I think I like it. I’m still a little uncomfortable that I don’t have anything concrete to show now that ten more of my hard earned dollars are gone, but I guess I need to get my head out of 1995 and embrace this new age of digital music, social networking and cloud computing.
January 17th, 2008
I admit it, I have a big one. Sometimes being big is great. All that size is helpful. But sometimes you get made fun of for being big. Like at work, the past two days now. I pulled it out at a meeting and Scott made a comment both times: “Geez, Mike… that’s a big laptop.”
You see I’m of the opinion that you need to either go big or go small. No in between. That’s why I bought the HP Pavilion dv9428nr laptop. I wanted a machine that was still portable, but could act as a desktop replacement. And with a 17″ widescreen, dual core 2.20 GHz, 2GB RAM, I would say that it does the job well. On the other hand when I just need portability and small size, I go to my (now relatively outdated) HP iPAQ 2215 Pocket PC or to my LG Cherry Chocolate. On either one, I can check email wirelessly, surf the Internet, read RSS feeds, read books… They do the job and easily fit in my pockets. You see, I get these devices. They make sense to me.

Then there are the “in between machines”. These are the computers that don’t have a clear identity or place to fit in. For example, take the Asus Eee PC 4G. It’s small, but not too small. It runs Linux or Windows XP. It has a 800×480 monitor. It has USB slots, an SD slot, 802.11g, ethernet, and an external monitor port. It costs between $200 and 400.

It isn’t bad, but it isn’t great. It isn’t too terribly slow, but it definitely isn’t fast. So where does this fit in? What role does it fill? It may fit in my coat pocket during the winter, but it won’t fit in my jeans or shorts in the summer. It could work as a “couch term”, but if I wanted to do some serious programming or watch some quality video… eh, not so much. If that was the case, I’d just go get my laptop. If I wanted to check email in my car or in line at the post office, I’d use my phone or my pocket pc. The Eee PC would be too big. If I wanted to check my email or do some work while on travel or at a conference, I’d pull out my laptop. I wouldn’t need the small size of the Eee PC.
So where do these “in between machines” fit in? I can see buying the Eee PC if I simply can’t afford a powerful laptop. I’m sure there’s a market for that, but how big of a market? However, not all these computers are targeted at those markets. The Samsung Q1 is a small handheld tablet computer meant for video, email, Internet, etc. This is a case where they’re trying to put the desktop in your pocket, but with specs like a 900MHz proc and 512MB RAM, you just aren’t getting that.

This suffers from a lot of the same drawbacks as the Eee PC. Too big for real portability yet too weak for real use. However, this one isn’t quite so cheap. With a price tag of around $1000, you really have to want one to buy one. So I ask again, where do these “in between machines” fit in? Or maybe the better question is…
How big are you?
December 27th, 2007
At first I used RSS Bandit to aggregate my RSS Feeds. It worked fairly well, but I had a few issues with it… mainly the fact that items I read on my desktop would still be unread on my laptop. Trying to keep it synchronized in my head as far as which items I had already read was just too much. It may not sound like a big deal, but if you read say 30 items on your computer, to read another 30 new items on another computer you have to potentially process twice as many items (60 items = 30 old + 30 new). Then if you have a third computer on which you read RSS feeds (say at work), forget about it.

Then I started using the news reader I wrote Vein News. With a proprietary folder structure and some XML, multiple computers could share a data store which would then make read items marked as read on all computers sharing the same data store. This also had the fortunate (and somewhat planned) advantage that any of the computers could update the store which kept it more synchronized than a laptop with on-at-times-off-at-times uptime would have. It had another advantage of still having access to all your feeds if your Internet connection ever goes down (something that online news readers are susceptible to).

I kept my RSS aggregator up to date over the years and had it compiling to a desktop version and a Pocket PC version by simply opening either the dsw or vcw workspaces. The main problems I had with this approach was:
- I was the one that had to keep it up to date, add new features and fix all bugs. This is both good and bad. It was exactly what I needed it to be, but anything I found that needed to be fixed would stay broken until I found time to fix it. And since time is at a premium these days (even though I still find time in the wee hours of the night to blog)…
- I still had the problem of keeping the home feed store in sync with the work feed store. That could be fixed with keeping the feed store on a flash drive, but then if the flash drive isn’t plugged in and Vein News wasn’t running, it gets out of sync quickly.
Then a few months ago I decided I would give Google Reader a try. A couple friends of mine use it and I figured it couldn’t be that bad. Then around the same time, I started using the Internet access on my phone. Since I can get to any regular Internet page, I could access my Google Reader feeds too… and everything in is sync. No matter where I read my feeds, whether it’s at work, at home, on my phone, or at my parents’ house, my feed items are always marked appropriately. Also, if the Internet does go down for a few hours or even a few days at my house, I can still read feeds through my phone and vice versa. I am always connected. And that holds true while I’m out and about standing in line at the post office or waiting in the dentist’s office.


The always connectedness and complete synchronization of the feeds with Google Reader is basically everything you (well, everything I) would ever need in a reader. And then with the recent addition of offline mode to Google Reader… I mean come on.
December 3rd, 2007
I was at the Picture People in the mall the other day getting some pictures taken. After we trod through the photography session with our Sunday best on, we sat down at the computer to see the shots. This year we also decided to get Christmas cards. With these cards, you always get to put a little message on each card. They allow you to choose all the gory details of the text including the font, style and color… and that’s where things get interesting.
Above our personalized text, there was “Merry Christmas” in a cursive font and an orangeish goldish color. Our photographer suggested that we use the same color for our message and proceeded to pick the color:

However, our photographer either didn’t know the exact RGB values of the color or didn’t have an advanced talent for matching colors, since we sat there trying to match the stupid color for about 10 minutes… “A little more orange”. “No that’s too orange.” “Maybe if we change the brightness.”
What it really needed was a custom dialog that allowed the user to pick from the common colors used in the cards. Or better yet, a color picker tool to simply click on the color of the text to auto-select it for the foreground color. Either way, the generic color picker dialog was simply too advanced and provided too many choices for the application. Sure it’s nice to be able to pick any color, but what’s the help in being able to pick any color if you aren’t able to pick the exact color you need?

Another example is the common file dialog. This allows you to open and save files to and from any folder. However, if you need to limit the available folders to save to or if you know that the files will always be in a specific folder, then using this dialog is overkill. Write your own dialog and simplify that step for the user. I almost always know where the file I want is located, but I can’t tell you how many times I’ve looked over the shoulder of a friend or relative and I see them struggling to browse to the right location and find exactly where they put the file they want. How many users ever save anything to any location other than the desktop, My Documents, or an external drive anyway?
Don’t get me wrong. It’s often right to just use the common control as is. You don’t want to customize every combo box you have, but you need to be able to identify when usability demands using a custom control. We almost abandoned the whole Christmas card thing, because of this stupid dialog. The difficulty in picking the color almost lost them the sale. So is the simplicity of using a common dialog really worth the risk?
November 15th, 2007
On Tuesday, Miro v1.0 was released by the non-profit Participatory Culture Foundation. Formerly known as “The Democracy Player”, this little player improved both its name and the stability problems it was plagued with. After seeing this announcement, I immediately (well after a little thought of “do I really need another media player” followed by “yes”) went to download it.
After playing with it the past few days, I must say I like it. It’s a combination media player, bit torrent client and podcatcher, but this is all very much behind the scenes. With iTunes, I’m still very aware of the RSS behind the scenes and often have to paste in URLs. In Miro, I haven’t seen any address yet. It very much has a need-to-know attitude and hides things (like RSS URLs) that the user doesn’t need to know about. Anyway, let’s get on to the review…
After the install, Miro starts up with a little tutorial. In Step 1, you’re presented with a video that gives you a little overview of Miro:

In Step 2, you can easily add different groupings of channels. You’re not made aware of how these channels are synch’d or what’s behind the scenes, simply click the add button and it’s yours:

And then a little statement that tells you that it’s downloading and that you can start playing around:

So after the install and setup, you’ll have all your channels synchronizing and downloading content. You can easily see all your channels in the panel to the left and also the number of videos downloaded for each channel. There’s also a selection to view all your new (unwatched) videos as well as all the videos currently downloading. In the right panel is a view of the currently selected channel and all the the videos in it. The information and action buttons are very clear and very pleasing to the eyes. You can view the nitty gritty details of each item or just play happily with the overview of each:

As you can see they take their UI pretty seriously, which can be rare in free applications like this. But this isn’t just another pretty application. These guys obviously put great effort towards usability as well. For instance, after I installed it I was messing around with the options to see what was there. I found a field to change the downloaded video folder, so I changed it to reside on my data drive instead of the default. However, by that point videos were already downloading. So I made peace with the fact that I’d probably have to delete all the downloaded videos and redownload them to the new location, but after pressing OK I received this:

So now I don’t have to worry about any of that. Coolness. So what’s left to say about Miro? It’s clean. It’s slick. It’s polished. It doesn’t bog you down with details you don’t need to know or options you don’t care about. It’s simple to navigate and easy to add new channels.

My only problem is that now with Miro, Beyond TV, and the other video podcasts out there, I’m never short of video. If it were only legal to watch video while driving…
November 13th, 2007
I recently received an exported event log from our testing department. Usually our tracing is all I need, but in this case where the application in question simply won’t start, it’s kind of hard for the tracing module to initialize. So we had to resort to the event log. Although I don’t use the Event Viewer much, I must say… I’m not a big fan. Everything I’ve seen is a usability nightmare. For example, the log I received started logging events a few days earlier than the event in question. Ok, so I just need to scroll a bit… Whoops, it looks like saved event logs are paged. You only get about 250 rows before you have to go the next page. Ok, paging isn’t toooooo bad. We can deal with that:
So I click “Next Page” several times to get where I want. Uh oh. I went too far. That’s ok, I just need to click the… Wait a second, there’s no “Previous Page” button! There is a “Next Page” button and a “Back to Top” button for all those times you want to go back to the very first page, but no “Previous Page” button. Did we not have our thinking caps on when we designed this, Microsoft? What use is a web browser with no back button? Little. So what use is an event viewer with no previous page button? Not much, I gotta tell you.
So maybe now you’re thinking “But wait a second, Mike. You can just click on the ‘Date and Time’ column header to sort on that header and get the most recent events at the top.” Sorry, but that doesn’t work either. Sorting only works on the current page, which isn’t all that useful. And even if it did sort through all the pages, what would the page number show? If you’re observant, you probably saw the page display only shows the name of the log followed by the current page number. It’s not “Page 5/12″ or anything useful like that, it’s just the number of the current page. I still don’t know how many pages my saved event log contains.
So what’s the lesson here? Is it “Don’t display partial information”? Is it “Don’t provide partial functionality”? Is it “Don’t design for only a partial set of use cases”? I think any of those would work…
|
| |