home       archive       nukeation.com     about      articles       contact       rss

Differentiated UX

Last night, Brian Noyes pointed me to his blog post about Differentiated UX and asked my thoughts about it. This post is derived from my reply to him.

From Brian's post:

A new buzzword that I hear more and more these days, particularly from Microsoft evangelists, is "differentiated user experience" or "differentiated UI". I'm even guilty of using this occasionally myself. And yet, it is one of those terms that often makes people cock their head like a dog that heard a human-inaudible screech.

In an effort to save my dying keyboard, I'll call it DUX or DUI here. And trust me, the effort needed to make a DUI can actually cause a DUI.

As Brian mentions, there is no clear concept of a differentiated UX or UI, but we agree on the basic definition.

From my reply:

I totally agree that a good – differentiated – UX would use a new way of doing the same tasks.

To clarify, task oriented means creating a UI that makes sense for a particular task rather than commonly used UI patterns. Let me give you a very simple example: if you are creating a graphical application and need a button that activates the Pencil tool, it would make more sense to use a pencil icon on a button rather than a button with the text "Pencil" on it. If you want a more complex example, check out my post about Rethinking the Button.

So yes, I'd say DUX is almost the same as task-oriented UX design.

From my reply:

I totally agree that a good – differentiated – UX would use a new way of doing the same tasks. This was something Kai Krause did magnificently and why he is my hero. We – the developers – are so caught up with all the hundreds of new technologies and trying to make them all work that there is no time to do UX, just a simple UI that is quick and easy for the developer.

I may not have been programming for as long as many of you, but from what I remember there weren't as many new technologies and 3rd party material in 1998 as we do now. Right now, we have LINQ and soon SQL 2008, the whole new way of handling WPF in the code layer, new strict UAC-oriented security guidelines, WCF, and what not. It really isn't the developers fault (or job, come to think of it) that he or she can't focus much on UX. And when there is no designer at hand to do this, the only fallback option is a quickly thrown together UI that more often than not (from a designer's and UX point-of-view) sucks.

From my reply:

In my opinion and experience, the biggest problem with bad UX is the old menu/toolbar/grid recipe (like mentioned in your post). Most regular developers I’ve seen are using that same method (and I forgot to mention the Outlook style sidebar) for their business apps. And in fact, a common rant of mine is that the Grid is making developers lazy. So often do they quickly bind a grid instead of using a more graphical and comprehensible. These controls are good for many situations but not for all. From what I’ve seen, a developer will use a Grid where a ListView can be used because it can be directly bound and does not require much code.

Brian's reply to this:

I shudder to think how many times I’ve gone in to help a customer put together a system and the developers insist “no, really, we HAVE to take this table with 57 columns and bind it to a grid with all columns in it… that is what our users want”. After I choke down the bile, I try to explain that they probably don’t really understand what their users want at all. :)

I don't care if you hate me. STOP USING THE GRID, people! Really, it is time to kill the grid. It is making developers lazy and end-users unproductive at best. And I promise to punch the next person to say "It's easy to bind the grid, nothing else is as easy". Wrong, wrong, wrong. Go watch episodes one (Intro) and three (DataBinding) of revoluxions that Andy and I did a long, long time back. It is SO darned easy to bind data to the ListBox (not even the ListView!!) in WPF.

If you're saying my <insert favorite 3rd party vendor's name here> Grid is super awesome and let's me add cool things like dropdowns and checkboxes and ink. Again, go see the DataBinding episode. A ListBox in WPF can accept anything - and I mean anything - including custom controls!!

From my reply:

The second biggest problem for bad UX are cookie-cutter 3rd party controls. Again, if you look at all the offerings from 3rd party vendors - it’s all grid essentially. The newer WPF ones maybe look hip and act cool, but they’re still just the same old controls with a bit of new functionality and eye candy. And these controls are keeping developers from adding a good UX. And custom work is always a requirement for a REALLY good UX. The Ribbon UI was a very innovative breakthrough for the Office apps. But now everyone is just aping it, not building on top of it. They just want their app to look like Office.

What more can I say? Trust me - not every app should be like Office. The Ribbon is cool but not useful everywhere. Custom controls from all those vendors are really good and useful, I don't deny that - but don't let them become the app itself. Add some customization that is focused on the task your user will be doing.

From my reply:

The software world can learn a LOT about this – especially differentiated UX – from the game industry. Check out control panels (on game objects, as well as the actual UI) in Doom3 or Quake 4 or Crysis or Republic Commando. While it is nothing that would be found in the real world (except some in Doom and Quake) they still speak of task oriented UI design, not common design oriented UI forced for that task.

Here are two simple examples. They seem simple enough, but we rarely do this in our applications.

crysisUX1  doomUX1

From my reply:

Of course, the root of the problem is that developers should not be doing the UI any longer. A designer has to be involved if good UX is a target. Someone who thinks exclusively about the end-user experience. Additionally, it has to be a hands-on designer, not someone who will provide JPEGs and then a developer does the XAML. Many unspoken ideas are lost in that process and tradeoffs are made in the moment and end up being a mediocre UX.

It has happened so many times to me personally. Over a dozen times, I've handed complete graphical assets (CSS, JPEGs, etc.) for a website design, along with complete JPEG mockups of how it should look when built. But for reasons I will apparently never completely comprehend, the developer(s) somehow mess up the design. The most basic thing I can think of is that they're not trained for putting together a design - they're trained for making it work.

Even after I've done the actual website - code and all - and published it, the client (a developer) will go in himself a month later to add a bunch of text. Wouldn't be more than 2 lines - a heading and a line of text. But he would use a non-pro tool like Notepad++ or something else instead of Visual Studio or Expression Web - or worse - try to hand code it in HTML. Now these alternatives are not bad - but only if you KNOW what you're doing. A lot of my designs are currently flying mutilated on the web.

If you're saying "So what? It may not look perfect - only a slightly different - as long as it works, what's wrong?" you're probably a developer and need a LOT of help with UX. Because the end user notices these things. It lowers the professionalism of the application, and in turn, of the developer that made it.

In Brian's post, he writes:

While a lot of this may seem like just eye-candy, one has to be always cognizant of the impact a simple visceral coolness to an application compared to its competitors may have. I frequently work with customers ranging from internal corporate applications; to ISVs for major industry software including financial, insurance, and medical; to government contractors developing specialized applications for defense and management purposes. In all these arenas, there is always an aspect of sales to the success of the project. If the funding source (the VP of X in the corporate environment, the purchasing bank or insurance company in the ISV scenario, or the General with the budget to give the green light in the government arena) can look at an application for which they have no expertise to judge themselves, but immediately feel like it is impressive in some way (which usually manifests itself graphically first), then they are likely to chose that as the way forward.

In a totally separate conversation regarding my product reuxables, Andy Eick writes:

I wish I would have learned earlier in my career how important the UX is -- when you are briefing the boss, they need to see a good looking UI, or you won't get your next funding cycle.

This is a fact. Apple has understood this for a long time. It's their aesthetics that sell their products more than anything else, IMHO.

From my reply:

And we come to the core of the thing – there aren’t enough designers out there. Not for this kind of work. A good majority of them are trained for eye candy – not usability. Designers also need to understand some basic precepts of software development so as not make the developers’ job too hard because of their designs. Again something to learn from the game developers. There is no common term for the role, but often there is a sort of interpreter in game dev teams. Someone who knows the basics of graphics and software and helps the design and development teams understand each other.

Unfortunately, we don't have an immediate solution for this problem. We can only wait for more designers to start learning about real UX (not the buzzword it has become) and provide their services. In the meantime, I humbly point you to www.nukeation.com :)





Posted on February 1, 2008 05:29
, , , , , , ,
E-mail | Permalink | Comments (27) | Trackback | Digg! | Kick it! | DZone it! | del.icio.us

Related posts

Comments

March 4. 2008 03:01

Grids are certainly making developers lazy, and we can certainly do a better job designing our business applications. But I have been reading a lot lately about "Differentiated UI", and I am very concerned about this sudden rush to throw out accepted standards and idioms for UI design. You act as if WPF suddenly opens up UI possibilities that didn't exist before; however, that simply isn't true. There were numerous UI frameworks in existence prior to WPF that existed outside of Windows Forms for making complex and graphical UIs. The reason those frameworks have not been used in business applications is because they don't make good business UIs. Its not that no one has ever thought of this before; its that we recognize that it is a bad idea.

Your game analogy is flawed in several ways. First, you ignore the fact that most games spend the first level or two (or more) teaching you how to use the interface and the controls. This is fine for gamers who have nothing better to do, but most business users don't want to go through that kind of learning curve. They want to sit down in front of my application and see the same menus and toolbars they see in other applications, because it allows them to start using the application immediately without going through training.

Secondly, these games have very high hardware requirements compared to the typical business application, and they are also typically written under the assumption that they will have access to all system resources. They can afford to use advanced 2D and 3D rendering engines to create their user experience. I have to write my applications to the lowest common hardware denominator, and I also have to share resources with the dozen or more other applications that the user may be running.

In my opinion, Microsoft Office is the worst example of user interface design. Every version completely reinvents the user experience, requiring users to throw out everything they have previously learned and start from scratch. The people that are willing to invest massive amounts of time learning the new interface surely end up with a superior experience, but most people never get that far. They don't have the time to invest or the expertise to understand the massive changes that have been introduced, so they give up and end up using Word like Notepad. If the Office team would stop trying to completely recreate the interface with every version, they might not end up with as many cool features as they would like, but what they would have might be accessible to the average user.

I am not advocating a cookie-cutter UI design philosophy, nor do I necessarily think that most business applications are well-designed for the user experience. But advocating that we should be turning our typical line-of-business projects into multimedia applications, that we ignore accepted UI standards, and that we should take our cues from video games, strikes me as an idea that was born in the clouds, and has little bearing on reality. Let's leave it up there.

David Nelson

March 4. 2008 03:47

Thanks for your comments, David. I think you took my words too literally and misinterpreted some of my comments. Maybe I didn't explain myself as well as I thought I did. Allow me to clarify.

RE: Graphical UI before WPF. I do not contest that, there have been ways. But in my experience those methods were not really easy to use (like C++). WPF provides a good platform for the designer to work on the UI code directly. WPF also lets you do a lot of things that took a hell of a lot more time when you did it with non-XAML code. And some things were not directly possible.

RE: Rush to throw out accepted standards. I am not saying everything should be thrown out. If you read this and other of my blog posts carefully, I've said that we should start rethinking or reapproaching of how we use UI and specific controls and improve on that. In no way do I support recreating the whole concept of UI controls that everyone has come to know so well.

RE: Game analogy. Again, you took me too literally. Perhaps I did not explain myself well in the post. It was just an example. Read the text I wrote in the screenshots - I only advocated the EXPERIENCE/BEHAVIOR of the elements mentioned in the screenshots - not a full a 3D environment or flashing graphics.

RE: Hardware requirements. Again, I am NOT saying every application (or most, in fact) should use 3D graphics and animated graphics. And FYI, a decently designed visual theme in WPF can be made to work on a very low-end system. WPF renders MUCH better and more efficiently than GDI or GDI+.

RE: Microsoft Office. Well, you're certainly entitled to your opinion. For many people the change has been hard, same for Windows Vista. But I've seen many people enjoy the new experience, discover better ways of doing things too.

If people don't like the new UX/UI of Office why is there a huge demand for replicating that UI in custom apps?

I also don't believe that *every* version of Office tries to reinvent the UI. Unless you count adding a bit of color to the toolbars in the early 2000s. The biggest changes so far in my opinion have been the move to toolbars (remember the really old Office) and then this new one.

RE: Differentiated UX. I opened my post by saying that DUX in my opinion is task oriented. The UX differs from app to app. For a scientific or business app, the graphics need be too high-end unless really needed, while family or home user apps can afford to be. Every UX has to be thought out depending on the usage of THAT PARTICULAR application. Differentiated UX is often mistaken (and it is probably the fault of people like me who apparently aren't explaining it all the nicely) to be a glossy, highly graphical, sci-fi like UX.

So many people, I've seen, don't seem to get the X in UX is for EXPERIENCE and not for INTERFACE. Experience includes behavior, not just the look.

A visual example of UX: A tablet PC app button that says "PENCIL" replaced by an icon of a pencil.

A behavioral example of UX: A button marked "Process" when click, becomes disabled and says "Please wait, processing..."


Lastly, you say "advocating that we should be turning our typical line-of-business projects into multimedia applications, that we ignore accepted UI standards, and that we should take our cues from video games, strikes me as an idea that was born in the clouds, and has little bearing on reality. Let's leave it up there."

I recommend you re-read my blog post. Nowhere did I mention making every app into a multimedia application. I quote: "While it is nothing that would be found in the real world (except some in Doom and Quake) they still speak of task oriented UI design, not common design oriented UI forced for that task."

Hope this clears up your misinterpretation of my post.

Dax Pandhi

March 4. 2008 08:02

Thanks for clearing up some of your points. Perhaps I did take the post too literally, although I will say that I wrote that comment after also reading several of your other posts, so my impression was not just taken from this post alone. I agree that differentiated UX need not look like it came from Star-Trek; and yet, when I read bloggers who are evangelizing differentiated UX, all of the examples I see are "glossy, highly graphical, sci-fi like", which don't appear to me to be serving any purpose except as a portfolio item for the designer.

I agree that WPF makes certain aspects of UI/X design easier and more declarative, which is a good thing (I have always used "interface" to refer to both the visual layout and design as well as the behavioral experience of an application; now that there is a push to refer to them separately, do we need a new term to refer to the combination of the two?). I do think that it makes small, simple applications far more difficult than it should be, especially when compared to WinForms. But that is another argument.

Re: game design - I was responding to your quote "The software world can learn a LOT about this – especially differentiated UX – from the game industry", as well as to the specific examples you pointed out. I agree that some, though certainly not all, game control panels tend to be task oriented, which can be a good thing; but they also tend to be confusing at first, requiring significant investment of time and mental energy to master, since they are so specific to that particular game. It is this aspect of game design that I am wary of translating to the business world, and it is not immediately obvious to me how you propose to separate the concept of "task-oriented" (which must by definition be specific to the task at hand) and "task-unique" which (results in increased learning curves).

Re: hardware requirements - i guess our experience differs here. my experience with various WPF samples as well as writing a few small apps of my own is that WPF renders more slowly and generally has more trouble with transitions than WinForms. I have been assuming that this was due to its reliance on a more "advanced" rendering engine which was designed for more complex interfaces.

Re: office - here again, our experience apparently differs. i had the option of upgrading to office 2007 at work, and turned it down because i found that it overly complicated the interface without increasing my productivity. and not a week goes by that i don't hear a coworker who did switch complain about the unnecessary complexity. they just want simple, easy to use toolbars.

I think the desire to replicate it comes from the fact that it is "the next big thing"; I doubt if the people who are trying to add it to their own applications are really considering whether it will add any value for their users, just as they don't with grids.

In short, my problem is that most differentiated UX advocates seem to be saying that it means creating a brand new application interface like nothing that has ever been seen before. But if nothing like it has ever been seen before, then it is a bad UI! What I want is to be able to use modern frameworks like WPF to take the established interface standards and idioms to which my users are accustomed, and adjust them to better fit my users' needs. And I am not finding much help on that front.

David Nelson

March 4. 2008 08:09

One of my biggest recurring nightmares is that someone will try to make their application use the LCARS interface from Star Trek. Smile

I have to run now, but I will respond to your further comments soon.

Dax Pandhi

April 7. 2008 04:01

Pingback from emphess.net

A Differentiated UX Control | Emphess .NET

emphess.net

April 7. 2008 14:14

Pingback from blogs.windowsclient.net

Differentiated UX Conversations - Rob Relyea - Xamlified

blogs.windowsclient.net

April 9. 2008 12:36

"Grid makes developer lazy". This is half true.

Grid was invented for very specific task - massive input of data (see Excel). And this is one of the common scenarios in LOB applications. Lazy programmers use (mistakenly) it to just show data, but that does not deny the fact that absence of grid in WPF slow down its adoption in LOB application world.

Here is a simple scenario - filter all data for specific criteria, say all inventory items of some department and set field, say, "promotional" to true. Grid paradigm makes this typical operation clear, intuitive and easy, because it has special entity - "columns". You can filter by one column, sort by another and still input values in third one, row by row or by copy/paste of by replace.

Your cry for killing a grid just show that you are from other world - presenting information, not inputing it. And I totally agree with you - in your world grid is dull, inexpressive and just plain wrong.

But here is an exercise - input phone book in Excel and then try to input in whatever application you will write without a grid. If you come to something better than Excel's grid - well, I think you will be inventor of new UI paradigm for business applications.

John Swanson

April 9. 2008 13:02

John, I agree with you. The Grid is excellent for massive amounts of data entry. And like you said the laziness comments, etc. come from seeing developers use it to present data, but sometimes the grid is not effective.

Let me give you an example from an actual application I've seen. I once had this skin making app created by a friend (a prominent developer) and the fields to be entered for XML creation were - id, width, height, x, y, z, and group. For such small amounts of data using a grid becomes somewhat unproductive. For such an application a more visually designed interface could help enter the data better by intuitively understanding the input fields by their placement (X, Y, Z, Width, Height, etc). Developers often don't have time to code keyboard entry shortcuts and proper tabstop placement but with such care (and that's what UX designers are for) a non-grid interface can be used and still provide a very nice amount of ease-of-use. But this is just one example. When I find some time I'll post some bad-grid examples I've seen.

I realize that calling to "kill the grid" was too strong (DUX just gets me so passionate! Smile, I'd like to change that sentence to "people need to learn how to properly use a grid ... and especially when NOT to use a grid."

As for creating new UI paradigms that replace the grid, we actually have done this. We did this for a couple of medical applications that dealt with a great amount of data, a client registration tracking system, a backoffice type application, and others. And here's where the point of Differentiated UX comes in - we did not create a one-size-fits-all solution - we analyzed the requirements of each of these applications (all of which used grids in their previously existing versions) and we came up with a TARGETED UI that was built specifically for that task. These things can filter, move records, and still be as efficient as a grid but since they dealt with smaller amounts of data, we could get away without actually using a grid.

When I find some time, I will most definitely post some samples of these.

Dax Pandhi

April 9. 2008 17:02

Thank you for your response, Dax.

I feel that we have same views, but in different angles. I totally agree that targeted UI potentially is better, more appealing and, most important, more productive. (Well, when I wrote about phonebook I meant better, but still one-size-fits-all type solution).

And I agree with you, current technology makes possible to that custom work to be affordable. But here, I see the current state of affairs slightly different. Affordability is much lower but still too high for a LOT of customers.

But more important, it is not only programming they cannot afford. It is the custom design itself that is expensive. And risky. Somehow, most of our customers prefer to use one-size-fits-all (but proven and familiar) design solutions instead of paying for attempts to achieve the perfect match to their business needs. This is my experience anyway.

That is why I am so excited hearing your intention to publish some real world examples. But even more I am looking forward hearing why your customers see value there and ready to pay for this custom design work.

John Swanson

Comments are closed

Powered by the awesome BlogEngine.NET 1.3.0.0 | Designed by Nukeation Studios. www.nukeation.com

Sign in


Subscribe to Dax Pandhi's Blog by Email