There's no telling how true this really is, but there's rumored to be a new user interface for Windows Mobile. The post says it sits on top of WM6, which makes a little bit of sense, since WM6 was released not too long ago, but typically, UI enhancements constitute a major version change. Either way, I'm intrigued by the rumor. I will say there's been talk of a completely new user experience which isn't based on the "start" menu concept in the next version of Windows, but I don't know if this qualifies -- besides, this is just Windows Mobile. There's still a start menu, but it is a different concept than what we have now. I imagine Microsoft is looking for some new ideas and this is perhaps a prototype of one of those. I kind of doubt we'll see something too close to this interface, but I'm sure all WM users will be eager to see some change. There hasn't been a major change in the mobile user experience since its initial release six or seven years ago.
As I started the process of upgrading my Oracle client from 10.2.0.2 to 10.2.0.3 a few weeks ago, the pain and aggravation it caused reminded me of how much Oracle must really hate its users. Seriously, can you think of any other reason Oracle hasn't improved its user experience in the past 10 years!? Should it really take over an hour to make such a minor upgrade? I've installed, tested, and uninstalled apps in less time. It's not just about the time, tho. The fact I had to manually replace files, install assemblies, and modify registry settings is what really takes the cake. Don't even get me started on the pain of accidentally installing Oracle into two separate locations, which is a very common problem that causes immeasurable aggravation.
With all this, you can imagine how much I had to laugh when I saw Oracle's name on the World Usability Day poster. Oracle and usability? You gotta be kidding me. I don't think so. While we're looking at the names, I also found it amusing that the top two tech companies known for usability aren't there: Apple and Microsoft.
I've always shied away from laptops. Laptops, in general, aren't extensible enough and tend to be too expensive. Over the past few years, tho, as I have become more and more mobile, laptops have become a necessary evil. The worst thing about laptops is the keyboard you're stuck with... and I do mean stuck with. If you had some level of flexibility to switch out keyboards, that'd be a different story, tho. Heck, now that I think about it, with a little reverse-engineering, someone could make some money replacing standard laptop keyboards. I imagine most don't question their laptop keyboards much, but as a touch-typer who tries to ween every bit of productivity out of the system as possible, I want... no, I need my keys to be in a standard location. Honestly, when I look into buying a laptop, the keyboard is the first thing I look at. If you don't have a keyboard that at least closely resembles the standard layout, I take my money elsewhere. What do I look for? Perhaps the first thing is the Insert/Delete/Home/End/Page Up/Page Down buttons. I want the 2x3, horizontal layout. Most vendors get dropped out here. Next, I look at the arrow keys, which must be in the inverted "T" formation. From what I've seen, most vendors who pass the previous test pass this one, too. From there, I glance over the other standard keys like Ctrl, Fn, Win, Alt on the left and Alt, Context, Ctrl on the right of the space bar. I can live without the context menu button being there, but it is the "standard" location. These are the main things I look for and, believe it or not, most laptop vendors fail to meet them all.
I don't know why laptop vendors insist on placing keys in random places. It's almost as if they just shove the qwerty keyboard on a canvas and just toss the rest of the keys on to see where they fall. Perhaps the best vendor I've seen is Dell. HP does a pretty good job, but not as good as Dell. On the other hand, HP has been using extended keyboards with a full number pad. I always get annoyed when I see a laptop -- like my 17" Dell Inspiron from 2004 -- that has plenty of extra room on either side of the keyboard, but no number pad. When you see a laptop with a number pad, you know the vendor is putting more thought into its user. The other thing I like about HP is the button to disable the mouse touchpad. When I've mentioned this to people in the past, they talk of a software disabler, but I have yet to find one; either way, a button is nice. I've pretty much dismissed all other vendors (especially Toshiba *grumble, grumble*)... well, that was until I got a hold of my Lenovo. People told me how "solid" these laptops were and I always wondered what they really meant by that. Since I've tried various other laptops already, I figured I'd give it a shot. Let's just say I was sold. Lenovos are missing some of the consumer conveniences of other vendors' laptops, but if you can get past that, Lenovos can be summed up in that one word: solid. Unfortunately, they're not all that and a bag of chips, tho.
When it comes to Lenovo laptops, I have four complaints. Let me start with the small one: the touchpad buttons are too low, which makes it awkward to use when the computer is in your lap. If the stupid trackpoint buttons weren't so huge, it wouldn't be a big deal. I've always hated those annoying mouse "nubs" and it irks me that it degrades my experience. The second is another minor annoyance; a nicety that was added to enhance users' web browsing experience: Back/Forward buttons on either side of the up arrow. My annoyance is that I've hit these keys several times when I wanted to use the arrows. This can be very annoying when you lose a lot of data (i.e. a blog post). As if that wasn't enough, the capability already exists with the use of one additional finger about 4" away (Alt+Left Arrow). Adding buttons with trivial benefits like this annoys me; especially when there are obvious negative effects. I wish they would've opted for a smaller button that wasn't as easy to accidentally push, like one the shape/size of the volume buttons. My third complaint is the Esc key, which is above the F1 key instead of to the left of it. I keep hitting F1, which makes the system hesitate while it brings up the help. This derails my productivity, like the Back/Forward buttons. Speaking of derailing productivity, this last one baffles my mind: the left Ctrl and Fn keys are switched. This is the first time I've seen something this stupid. What really gets me is how a vendor who has such a quality laptop can miss something this obvious. Most people seem to think it's ok; that you'll just get used to it. I'm sorry, but I refuse to accept this. Of the 7 people I know who have a Lenovo, all of them say this is their #1 complaint. Another handful of people complained about this when I sent an email internally polling for a workaround. Unfortunately, the Keyboard Customizer Lenovo offers doesn't cover this.
This is obviously a common problem, tho, and Lenovo isn't the only one to blame. The broader topic of keyboard standardization came up in Hanselminutes a while back. Some of my concerns were voiced there. Perhaps there's a need for a true standard. I don't see anyone pushing that, tho, so I'm not sure where to go for a global resolution. For now, I guess we're left with our voices.
Tim Barcz talks about options when it comes to implementing search for a custom site . He suggests two answers: Google and custom built. I'd recommend two more; both of which I've used and been very happy with.
From what I've seen, Google is not quite what I'm looking for when I think about integrating search into my site. It's not bad, but it doesn't give me the feel I'm looking for. Admittedly, I haven't played with it. I'm simply going off of what I've seen around the web. I want something wholly integrated into my web application, not just Google with a logo. Ok, I understand there's more than just that, but I have yet to see a Google search inserted into a site; every implementation I've seen has been the other way around. On the other hand, there are ways to do this with a bit more work... but I'm lazy.
The second option is just plain crazy. Sure, if you've got the time, go for it. Who does, tho? Even if you do have the time, who says you'll implement something completely bug-free? Yeah, right. For this, I have one suggestion that gives you search and a host of other capabilities without limiting your ability to create great .NET sites: DotNetNuke (DNN) . DNN is an open source portal framework or content management system, depending on who you ask. It's absolutely wonderful. That's what I use. While I'll probably get some flack on this comment, think about it as SharePoint-light. DNN is a little rough around the edges and I don't think I'd want to claim the vast majority of the code I've seen, but it is a very good foundation with an excellent extensibility story. Since I'm mentioning it, tho, SharePoint would also be an option; however, I'm not convinced it's the best story for anyone looking for a website. It'll do what you need it to do and then some, but it might be overkill. SharePoint is much more polished and provides a host of features DNN couldn't touch, but the developer experience isn't all it's cracked up to be. I'm going to stay hopeful for the next release, tho. But, I digress...
I just came across Loke Uei Tan
's comparison of Silverlight, .NET 3.0, and Flash/Flex
. I don't think .NET 3.0 or, more specifically, WPF should be included in this comparison, but whatever. I guess it does come into play if you're truly looking at a user experience decision, as opposed to a rich web interface decision. Then again, you can use WPF in the web, but that's Windows only, so I usually poo-poo that idea. But, I digress... I also noticed 3d capabilities weren't mentioned. I know WPF does
support 3d and Silverlight doesn't, but I don't know about Flash/Flex. If I had to guess, I'd say it doesn't; otherwise, I imagine it would be a highly touted feature. Of course, this isn't a huge deal if you're willing to do the math yourself. Having the feature is more about easing development. I'm curious what else was missed, but this is at least a good place to start. I'm surprised to see Flex missing so much, but knowing Adobe, I probably shouldn't be. Either way, I don't see Flex doing much for the Flash market
. Adobe needed to bring Flash to applications, but that just never happened on a large scale. With integration into .NET, Silverlight will be an obvious answer for most developers.
I mentioned I might have an opportunity to get Simon Guest and company to work on a user experience prototype for a project I'm working on. He came by last week to talk to a few people and the response was very good, which I was glad to see. Of course, that doesn't mean it'll happen. There's still the security issues that need to be worked out, since its a government customer. This honestly shouldn't be a problem since neither the data nor the code is what Simon's team has an interest in, but such is the life...
In one of the meetings we had, Simon made a comment that I thought was very interesting. One guy was talking about having Simon's team do the user experience prototype on a webpart. Simon basically responded stating that deciding what to show in a webpart is more about user interface than user experience -- downloading and using the latest and greatest controls doesn't necessarily mean you're delivering a great user experience. Thinking about it, this made a lot of sense. Of course, I'm probably bastardizing the whole thing. What I pretty much got out of it was that the difference between user experience and user interface, in part, lies within the context of that interface and its presentation to the user. User interface is a subset of user experience in that a user interface defines what the user can see and/or do. User experience is more about how the user gets the job done; specifically the ease of use aspect of that interaction.
This concept of UI vs. UX pretty much strikes right into the heart of the idea that throwing up pretty pictures equates to a good user experience. Not to knock graphic design's importance, but interaction design is a must-have when it comes to improving user experience.
If you're not familiar with Simon Guest , he's on Microsoft's Architecture Strategy Team. While the name may not mean a whole lot to you, you'll probably recognize the Architecture Journal , of which Simon is the editor. If that's still not ringing a bell, I suggest you at least give it a look-see. A lot of devs find the concepts too abstract, so it's not for everyone. Each edition is very themed, so you'll usually have a good idea of how much you'll get out of it pretty early. Either way, that's not what this is all about... Simon started pushing user experience for architects about two years ago, if I remember correctly (probably not). I kind of latched onto this because I'm a huge proponent of user experience. Like most developers, I'm no designer, but I think I do have some artistic ability... at least moreso than most developers I've met. Of course, it's not all about graphic design; behavioral design (aka human-computer interaction or HCI) is actually the biggest part of user experience. Admittedly, I have a lot to learn in this arena. I'm finding out a lot of it has to do with merely thinking outside the box and trying to imagine simpler ways to get tasks done, but even that isn't as simple as it sounds.
I was lucky enough to see a presentation on user experience Simon put on at Microsoft's internal conference for those of us in the field, TechReady. His presentation was absolutely awesome. I left psyched about one thing: getting him and his team out to a project I'm working on. We have a number of systems that could seriously use some re-engineering on the UI front. Then again, what system doesn't? I don't know if it's going to work out or not -- there are a lot of factors that come into play. Nonetheless, I'm hopeful. I'd seriously enjoy the opportunity to leach off the process Simon and his team use.
If you have an opportunity to see Simon's user experience presentation, I highly suggest you take advantage of that. He recently posted the slides from his recent appearance at the San Diego UX Summit, so that's a start; but I have to let you know you won't get the same experience. Simon's presentation is something you need to see in person.