Sunday, August 9, 2009

Definition of memorable

Memorable is the difference between expected experience and actual experience.

Really bad and really good experiences stand out because they were far from what we expected. On the other hand you can used to a lot. Once you have eaten at 5 star restaurants a lot, they stop being special, and if you are a plumber, then things other people would find gross, are just everyday work to you.

Friday, July 17, 2009

Usability does not matter…

…anymore than Security and Performance

I am not going to ever have another argument about whether usability is important. That is so 1990’ies. I will walk away from every such discussion saving my breath.

I just needed to get this off my chest.

I think we are almost over the “is design important” discussion and soon, hopefully within the next 5 years or so, we will also be over the “does it really matter to establish an emotional connection to people in your product design” question. I am looking forward to that day.

Till then, still lots of convincing to be done.

I hate ‘users’

Users are Humans, not users. The word ‘user’ is looking at people through a product lens as if their purpose in life is to use that particular product. But users are not users. Users are human beings of flesh and blood who behave in predictably irrational ways, with real goals and dreams and jobs and most importantly of all, with other things going on in their life than using our product.

It can be a bitter pill to swallow when you pour your heart into your work, your oeuvre, the application that will solve these users every need and then being told that your application is less important, a lot less important to these people that you could hope and wish for.

Don’t get me wrong. Not thinking about the people who are going to use your product in some way is just fundamentally wrong. But on the other hand, when we talk about User Centered Design today, it sounds as old fashioned and as inhumane as Business process reengineering.

Do I have an alternative? Sure, it is about building on Don Norman’s concept of activity centered design, having the right understanding of how human works, and Dan Ariely and  Dan Lockton both add significantly to that understanding, and then we must talk to actual people who will use actually the product, and we must keep talking to these people throughout the product cycle.

But really, it starts much simpler than that. Instead of saying “what will the users want?” say “what will the people who are going to user our product want?”. It is a small change, just a few more words, but I find it really changes how you think.

 

All of this may seem a little abstract. A friend of mine pointed me to this Argentinean example of adapting to real people.

Summary: In Argentine Pepsi is pronounced Pecsi by a significant number of people. Pepsi embraces that and launches Pecsi.

I love it. Instead of trying to reinforce the name, they change it to what people call it anyway and play on it.

Sunday, July 12, 2009

Useful? yes. Usable? yes. Desirable? not so much…

They built it in April: This curb along First Avenue South just south of King Street was a crooked mess. The acting street-department head blames the haphazard construction on a lack of communication between crew and supervisors.  

Today Seattle Times ran a story on what can only be described as sloppy work by the Seattle street department. See the picture above for an example of a curb that had to be remade three times. The first question that comes to mind is how anyone would walk away from a piece of work like that straight faced. And the second question is how often something similar happens in software products or other products.

The article is an instructional piece on what can go wrong when the culture of a group is mismanaged. But it is also a great piece on when the designers and the crew do not communicate and when neither is willing to give in and listen.

I don’t think a lot of bad code is actually shipped, but I do think there is quite a few products where the various pieces of code fit together about as well as the curb stones in the picture above.

I also think that the Seattle Street department is not the only one marred by designs from less than fully informed designers:

Homeowners couldn't get out of their driveways without scraping the bottom of their cars after a new sidewalk was installed in December 2007 in the 8200 block of Ravenna Avenue Northeast. Bookman said the problem stemmed from poor design. The project designer was a relatively young, new hire who left the department shortly after the work was completed, he said.

Wednesday, May 20, 2009

Dan Ariely -Predictably Irrational

DanAriely_2008P_blog.jpg

I have been wanting to write a book review on Dan Ariely’s excellent book Predictably Irrational for a while now. Instead I will just say that is is a fantastic book that is absolutely worth reading for anyone and especially any designer and link to a few Ted Links.

A blog post on Ted by Dan Ariely about behavioral economics:http://blog.ted.com/2009/05/dan_ariely_2008.php

And two talks that cover some of the fundamentals of the book: http://www.ted.com/index.php/talks/dan_ariely_asks_are_we_in_control_of_our_own_decisions.html and http://www.ted.com/index.php/talks/dan_ariely_on_our_buggy_moral_code.html

All I can really say is that this book has given me a language to talk about and data to back up my long held skeptics about rationality.

Monday, May 11, 2009

Got 10-40 Servers? Want Free Software?

Sign up for a 1:1 interview with the System Center Essentials team and receive your choice of a Microsoft product from the available list.

Who?

IT administrators/engineers/managers in mid market
companies with 10-40 servers.

What?

Participate in a 90 minute 1:1 interview with the System
Center essentials team.

How?

E-mail sobitar@microsoft.com or sign up at the Microsoft System Center booth in the orange area in the MT area. Or catch us at Twitter @MS_ITPro_UX

Sunday, May 10, 2009

Find us at Teched

Are you an IT Pro and at TechEd 2009 in LA? Then sign up for our Server & System Center User Interface study

Here is how to find us. We are in the orange section of the Technical Learning Center. The Technical Learning Center is where all the Microsoft booths are next to the expo.

We are here:

We-are-here

Go the left when you come in towards the orange section

Guide1 

And find Christian. I will most likely wear a white Microsoft t-shirt.

Find-Christian

The back of the T-shirt says “@MS_ITPro_UX” which is the twitter name we are posting under.

Christian_back  

I am always happy to talk, especially about your experience with our Server and System Center products, so if you see me, come chat.

Tuesday, May 5, 2009

Are you an IT Pro and at TechEd 2009 in LA?

Help make Windows Server and System Center products better. Participate in this study at TechEd, help us, and get a little gift of appreciation.

Where & When
TechEd in LA May 11-15th

Location Update: please see Find us at Teched

How long will it take
This will take about an hour. Since we are scheduling this add-hoc, we have many open spots and at the time of day that suits you. Contact us (see below) and let’s set something up.

Why
In order to make the best possible products for managing IT infrastructure it is crucial that we understand how you work in real life, what the real scenarios are, and where you want to go with your systems and processes. This particular activity is about impacting the future versions of Windows Server and System Center. It is about getting the common 'stuff' right and we need your help.

Who are we
We are User Researchers and User Experience Designers from Microsoft who work on Windows Server and on System Center products. We are currently working on WS2008 R2, SCE, SCCM, Service Manager and other similar products.

How to sign up
Most communication of this will happen via twitter @MS_ITPro_UX. You can sign up with either of the following tweets:

@MS_ITPro_UX TechEd study. Interested, contact me at TechED

@MS_ITPro_UX TechEd study. Interested, contact me at TechED. Monday, Tuesday, Thursday

The latter means those are the days you are most likely to be available. You can also give us a time you would like.

You can also contact us on email: chagelsr AT Microsoft DOT com. Please put “TechED Study” in the subject and give us the same information as above. Should we just contact you while at TechEd or is there a specific timeslot you are interested in. We will of course not send your email to anyone else.

You can also just come by the Windows Management Technologies Booth and we will make sure to post where we will be and you can sign up there.

And as a small thank you…
As a thank you for your time we will offer you a piece of Microsoft software. You will be able to select it from a list of pre-selected software. The only caveat is that in order to get the software you have to be a US citizen or have US Social Security Number. This is for Tax purposes. You are very welcome to sign up for this study without getting the gratuity.

Sunday, May 3, 2009

People who influenced how I think about design

There are a great many people whom have influenced how I think about design but there are two people whom I think have influenced me more than anyone when it comes to what design is rather than how to think about specific problems.

Victor Papanek

Victor Papanek, introduced to me by John Paulin in a class on accessible software, has given me the notion that as designers we have a moral imperative to make the world better.

Papanek_mod

One story about Papanek that forever changed my thinking is about car bumpers.

In the 1950’ies a lot of people died in traffic accidents due to poorly constructed cars. Someone would drive into a tree and the bumper would just fold and the people in the car would die. Congress held a hearing with the car manufacturers asking them to improve their cars to bring down the death toll. Congress got answers along the lines of “no, can’t do that”, “it is impossible to build a bumper that will withstand more than 15mph for a price that won’t make cars too expensive” and similar explanations playing on congress’ fear of curbing this booming industry. As the congress and industry people were leaving the building, walking down the stairs, a car came driving up on the pavement and slammed front first into the side of the building. Out got the driver, Victor Papanek, unhurt. Congress men stormed over to see this perculiar sight and learned that Papanek had built a bumper of 2 layers of 10 cent cans that could withstand a crash, as it just did, of 25 mph. The congress men turned around, went back into session and were a lot less lenient on the car company representatives.

I haven’t been able to actually verify the story, but nonetheless, it taught me that as designers we should never accept commonly held beliefs and it is our role to show the world what is really possible. We change the world by making and showing.

Donald Schön

For my thesis my professor, Peter Carstensen, suggested I read Donald Schön’s book The Reflective Practitioner. This was a mind opening book that shaped how I have come to think about design as an activity. We learn by having what Schön calls a ‘dialog with the material’ a phrase I have adopted and used many times to describe the design process.

picture: donald schon

In design we do not just iterate. We step into the problem and work in the problem, then we step out to gain perspective, challenge the problem and our assumptions and then step into the problem again with a fresh perspective and work in a changed direction. This is also why the practice of design crit is so fundamental to design. It is a help from peers to pull you out of the inner workings of a design to gain a new perspective, new insight about the problem before you dive back into the glory guts of the details.

Saturday, April 25, 2009

The Substance of Style

This is really for another post, but it all started with Claudia Kotchak’s talk on bringing design into the DNA of Proctor and Gamble. In that talk Kotchak mentions Virginia Postrel’s book The Substance of Style. I just finished reading it and I highly recommend it. It is a fairly easy read, I mostly read it on the subway while on vacation in New York, and it is thought provoking. How you will be provoked depends on where you are coming from I suppose.

Being a designer, I wasn’t provoked by the claim that there is value in style and that surface sells. I really didn’t get provoked until the sixth and final chapter in which Virginia Postrel pre-empted my criticism of the book stating that instead of telling the world how much more design is than mere style, designers should take pride in providing value through surface modifications. It is on page 178 in the paper back. I have still not quite accepted that statement…

Honestly, I had a really hard time getting through chapter 1, chapter 2 was only a little better and it wasn’t really till chapter 4 that I felt I was actually learning something. But that may be because I really did not need convincing that design makes sense.

What the book really gave me was a language to talk about the changes from earlier periods of one style to rule them all to a modern day notion of a multitude of equally valid styles.

The book also provided me a lot of good food for thought on what design mean to identity. This is something I have been thinking quite a bit about recently and Postrel terms it well in talking about going from “I like that” to “I am like that” i.e. the style of the objects you surround yourself with are used to express who you are and what you aspire to.

Chapter 4 and 5 were probably my favorite chapters. Chapter 4 deals with the Boundaries of Design and covers issues such as city planning, committees that determine design with or without an agenda. Both are bad.

Chapter 5 is about being Smart & Pretty and how the two are combined, raising the bar for entry into any category. This is something I personally work with everyday, talking about how all applications / websites are dated i.e. presents a thinking from a given area. If for instance you produce an application that today that looks like Outlook 2003 then you are simply not meeting the barrier to entry for a modern day application.

One favorite quote from chapter 5 is

Aesthetics is pre-rational or nonrational, not irrational or antirational. (p. 171)

I think I will use that quote in a conversation soon :)

Chapter 5 also covers the cost of aesthetics and goes on to state that the (sad?) truth is that aesthetics is not often not about making more money anymore, but about staying in business. It is not an added and valued extra, but a requirement. I suppose this really only is sad if you are a designer and you thought you main value add was in style. (see, I can’t let go of that notion).

A little criticism

It does seem to me that Postrel tips over into the too post-modernist camp and states that because there is no one style that everyone follows, then everyone has many styles. I simply do not buy that. Everyone has one major style or maybe a public/work style and a private style and of course there are times when our style is adopted to the situation for instance when we attend formal events such as funerals or weddings. 

But it is worth reading, and funny

The book is filled with interesting examples. One funny example is the about the cultural context of something as simple as a color. Today blue is associated with business, but in ancient Rome it was the color of weakness and in the twelfth-century France it was the color of the monarchy. (pp 94-95).

And if you want to learn more

If you want to learn more, visit Virginia Postrel's website, read about the book:The Substance of Style. Or spend 17 minutes on this TED2004 talk on Glamour, also by Virginia Postrel.

 

All references are to the paperback. On Amazon: http://www.amazon.com/Substance-Style-Aesthetic-Remaking-Consciousness/dp/0060933852

Filtering in Active Directory Administrative Center

This is the post I have wanted to write for a long time. I had to wait until the designs had been shown in public (see bottom of this post). This is also the latest in a series on filter designs.

Let’s get back to our original goal of…

…making a filtering mechanism that works well for the majority of cases. ‘Works well’ means that it is easy to use and complete enough to cover 95% of the scenarios of the people who use our products. Getting deep on Filtering

We have looked at a number of different examples of Attribute based filtering and we need something that is as good as the Zune filter yet is much more scalable.

Enter the design for Active Directory Administrative Center. This is the application in all it simple might and glory once you have navigated to a folder (called Organizational Unit in Active Directory) full of user accounts.

filterQuery2

In the following screens we will focus in on the list area:

image

  1. A: Title. Tells you the name of the folder and number of items in the folder or the number of items in the filter
  2. B: Free text filter. Filters across most attributes
  3. C: Add criteria button. Lets you add rules or attributes to your query
  4. D: Saved queries.
  5. E: Button for saving the current filter.

If you type in the free-text filter we filter the list as you type and update the title with (“number of matching records” of “total number of records”):image

We also change the background color to indicate that the list is filtered.  Hit ESC to clear the free-text filter. CTRL+E will set focus on the free-text filter.

We added the free-text filter because most times you can get by with a quick search even when you have a couple of thousand records in a given folder. If you have more than a couple of thousand records you may need more advanced filtering. The ‘Add criteria button’ provides a set of rules (see Different kinds of Filtering) and a list of attributes to filter on. Active Directory Administrative Center lets you filter on about 20 attributes. From a pure design point of view that number could be much bigger. From this applications’ perspective, we went through rounds of user testing to figure out what the right attributes were to include and it did simply not make sense to include all 150 or so attributes.

We added the idea of rules for two reasons. First of they are a helping hand in what we expect a lot of people to be filtering on all the time such as for instance “users with disabled/enabled accounts” which is really just a shortcut for “Object type = user AND Account state = disabled/enabled”. Rules can also be a way to package a filter that would otherwise not be possible to make with this design. More on that later.

The ‘Add criteria button’:image 

As soon as we add the ‘users with disabled/enabled accounts’ rule the filter is updated. image

To get the enabled accounts, simply click on the link “disabled” and you will get a dropdown with possible values.  And we could of course have added more than one rule and several attributes. Here is just one more attribute:

image

Notice the ‘and’ in the beginning of each line? We automatically AND the free-text filter and the rules and attributes together. this gets us to the core of this filter design:

Criteria on different attributes are AND’ed and Criteria on the same attribute are OR’ed.

Here is an example of this design rationale in effect:image

In the example above we have created a filter for

((Name starts with ‘t’) OR (Name starts with ‘a’)) AND (Type = User) AND (Free-text contains ‘hund’)

We do not allow you change the Boolean operators, and we do not allow you change the attribute once it has been added. you can remove a criteria (click the red x) and add new attributes. We do not allow you change the Boolean operators or change the attribute because that way we can take care of grouping automatically and prevent filters where you get the too much due to wrongly grouped ORs (the Cartesian product) or nothing at all due to wrongly placed ANDs.

On one hand we have avoided the raw Boolean logic exposed in products such as Winamp which we know most people have a really hard time getting right, and on the other hand we have avoided jumping through hoops as Itunes does or created a design that is inherently limited as Zune has done. 

We also have created a design that can take care of about 95% of the scenarios. And if 95% is too little there is room to improve it through rules that target special cases where a set of criteria across different attributes should be OR’ed. We don’t ship any of those in Active Directory Administrative Center. We could not come up with any even through extensive user testing.

What about the last 5%?

The Active Directory team has put a lot of effort into PowerShell in Windows Server 2008 R2 so if you need a really advanced filter you can always go to command line. The alternative would be to make a GUI design that covers all cases, but honestly, I don’t believe we could do that and still keep it usable. This is a trade-off, but by not designing for all edge cases we also don’t pollute the experience for the majority of people using the application.

A little more on this specific Design

I am sure you could implement the core design idea differently and still get a great design. The following covers some specific choices we made for this implementation of the idea.

To get the query shown above we first selected Name and Type

image

image

…and then added Name again…

image

The new criteria is inserted under the existing criteria for Name and indented and OR’ed.

image

This may seem like a round-about way of adding the same attribute twice, but we chose to do it this first of all because we believe most filters will only use the same attribute once, and second because this allows us to insert the second instance of an attribute at the right spot and hence both take care of grouping and get it to visually line up without having to move criteria around after you have already interacted with them.

If you are an Active Directory admin you may very well be working across multiple domains. If you have 2 domains, say ‘Corp’ and ‘Sub’ and you want to find users with expired accounts in the User OU of either domain, you can create the query anywhere, save it and reapply it in a different OU:

image

I hope you have enjoyed reading about filtering as much as I have enjoyed designing for it and writing about it and if you have comments or questions, please leave them here or catch me at Twitter @rulerbreaker.

Credits

Like all other designs this was a team effort.  A lot of people from our UX team (Twitter @MS_ITPro_UX) have contributed and it should go without saying that so have the great Program Mangers, Developers, and Testers who have worked on this.

Active Directory Administrative Center will ship as part of Windows Server 2008 R2 which means it is not out yet but has been presented at TEC and will also be touched upon at TechEd 2009 (session SIA326 “What Windows Server 2008 R2 Does for Your Active Directory”).

Friday, April 10, 2009

Social trails

Don Norman talks about how we in the real world use the actions of others to find our own way. He has used exampels such as seeing people waiting on the train means that the train has not arrived yet, or that a path through some grass being an indication of a need for a path there. Very interesting and insightful, but I can't help but wonder if maybe it applies less to software. I think that in software, at least ideally, we look at what people really do and then change the application to fit their workflow.

What I am really trying to understand is if it is better to build trails ofbither people into software, or if it makes more sense to just change the software.

There are probably cases for both approaches.

Saturday, March 14, 2009

Zune –on Filtering

Zune has, in my opinion, nailed the core insight in attribute based filtering: Criteria on the same attribute should be OR’ed and criteria on different attributes should be AND’ed.

There is no mentioning of AND or OR In the Zune autoplaylist UI. You also do not have to select between ANY or ALL as you do in ITunes. It is simply all built in and just works the way you would expect it to work.

Zune’s autoplaylist has two defining characteristics. First, there is a predefined set of attributes you can filter on. You cannot add additional attributes which means Zune does not need to expose groupings. Second, the dropdowns used to pick values to filter on automatically makes the ORs between the values.

Zune1

Below is a screenshot of the dropdown. When picking what album artist to filter on, you can pick multiple entries from the list.

Zune2

Here I have picked NOFX and the dropdown has added a semicolon to indicate that more can be added. Similar to typing in email addresses.

Zune4

You can also just type text in the dropdown which is the same as a ‘contains’ operator.

Zune6

Above we have created our example from previous posts:

(Album artist name is NOFX OR Offspring OR contains ‘Bad’) AND rating is Like

Zune5

When it comes to music players, I think the Zune autoplaylist UI is the best i have ever used. The only reason to not just copy it is really that its strength is also its weakness. It cannot be expanded to include a lot more attributes.

Next we will finally look at the filter in Active Directory Administrative Center.

Thursday, March 12, 2009

ITunes –on Filtering

ITunes, another media player, another attribute based filtering mechanism for dynamic playlists. And another solution to how you let people create complicated queries yet hide the complexity.

The Smart playlist UI in ITunes starts out much like other players letting you pick an attribute, operator, and type or pick an operand.

ItunesOperators

ITunes is different form other players however when you add more than one criteria. The top part of the dialog changes from “match the following rule” to “Match all/any the following rules” wich is of course shorthand for “AND all the rules together” or “OR all the rules together”.

ItunesRatingAllAny 

Assume we saved the playlist in the above picture as “All music above 1 or 2”. It would simply show us every song in our library not rated either 1 or 2 including unrated songs. Useful, but a little broad.

If we want to create a playlist of all Metal that is either unrated or rated above 2 stars we could not do that with matching either ALL or ANY of the criteria. If we chose all we would ask to skip songs that were rated both 1 and 2 stars and were of the genre Metal. Clearly an empty list because a song cannot be rated both 1 and 2. If on the other hand we OR them all together we would get all music because songs rated 1 would not be rated 2 and the other way around.

To overcome this problem without compromising the simplicity of the UI ITunes has introduced one of my favorite features when it comes to filtering in media players: The ability to use a playlist as a criteria in another playlist:

ItuneBasedOnPlaylists

This is a bit of a crazy feature, but very cool once you understand it. Each playlist essentially works as a reusable group of criteria which allows us to get our Metal playlist without the songs we have rated 1 or 2 stars:

ItuneBasedOnPlaylists2

I would expect people to object to this idea of reusable playlists  as being a strange or silly solution to the problem and I would not be surprised if someone brought forth the argument that it is convoluted and that there must be a better solution.

I personally think it is elegant and powerful. And useful in enterprise scenarios. Imagine that you were running a campaign targeting large companies in different countries. In Denmark a large company may be defined as one with more than 5.000 employees while large in the US may be defined as companies with at least 15.000 employees. With reusable criteria you could define “large Danish companies” and “large US companies” as separate playlists and reuse them in queries about your past sales, you current open orders, overdue invoices and so forth.

What’s next?

Next up is Zune. A limited/focused solution (pick your point of view) that in my mind is the most elegant solution so far.

Playlists in Windows Media Player –on Filtering

Like other media players, Windows Media player has an auto Playlist feature. WMP has also realized that providing people with raw access to Boolean logic will usually not resolve in a good experience and so has opted for a solution where it is very clear and easy how to add criteria, but as we shall see, it breaks down quickly if we try to create our example from WinAmp.

When we create an auto playlist we get this screen…WMPStart

and when we click on the green plus sign we get the standard 3 step filter design of

  1. Pick an attribute
  2. Pick an operator
  3. Write or pick an operand

WMP2

If you want to make a playlist for a band or a genre this works brilliantly. It is very easy to create for instance the playlist you can see below of “All songs by Goldfinger where my rating is at least 3 stars”.

wmp3

If, however, we were to create the same playlist as in the WinAmp example:

Artist is (NOFX OR Offspring) and Rating is at least 3

we would get in trouble. Windows Media Player ANDs everything within a group together. In the following example I wanted to make a playlist for Punk and Jazz rated at least 3 stars, but because the Genres are AND’ed the result will alwyas be an empty playlist because a song cannot be both Jazz and punk i.e. it cannot have two genres.

WMP_Genre1

Because every criteria within a group is AND’ed you must repeat common criteria across groups to get the expected result. Below I had to add the criteria for rating to both Punk and Jazz. Had I only added it to Punk the result would have been “Punk rated at least 3 stars and all Jazz” which is not what we want.

WMP_Genre3

What’s next?

Next we will look at ITunes and its interesting tricks and after that we will look at Zune and finally we will take a look at the Attribute based filtering in Windows Server 2008 R2 Active Directory Administrative Center.

Tuesday, March 3, 2009

Would you buy a car from Chevy right now?

Does good UI mean anything for business software? The people who will make the purchase decision usually aren’t the people who will actually use the software, so even though, for the end-user, the interface is the system it should not matter to the people with the money.

Of course you can talk about TCO, about the time it takes to train people, and how enjoyment of work leads to more productive people. But at the end of the day, I think what really matters, is that the people who are about to shell out a substantial amount of money can see that you, the seller, cares and is investing in the software.

This was brought up by a friend of mine from a different product group. They have recently released a completely revamped product. New backend, new UI, some new functionality. My friend said that the experience selling this product is substantially different form the other products form the same division. First of all, the UI looks new and modern and people want to like it. Once they have gone through the rest of the system and everything checks out to be modern and have a future, the buyers get really excited. They can see that we are investing in the product and that gives them confidence.

Which leads me to the car analogy. Chevy does not have a good track record on quality, but the newest version of the Malibu has received very positive feedback. Yet, I am not sure I would personally buy a Chevy car. Not because the individual car may not be of high quality, but because the overall system that it is a part of is not sound. I honestly don’t know if Chevy is going to be around to honor the guarantee or supply spare parts. I have lost faith in the company more so than in the product.

I think something similar is at stake in business software. The product may be technically great or the UI may look spiffy, but unless you can show how you are investing in both and that you are prepared to keep investing, I don’t think you have a compelling case.

Now, please do not think that I don’t think the UI should work well, but just look great, of course it should be great. I actually believe in the TCO, training, and enjoyment arguments above, but the first usage of the UI is not when people start using the software, but on the box or in the sales situation.

A First Look at the Active Directory Administrative Center in the Windows Server 2008 R2 Beta

When you don’t work on web sites but on installed software and on top on that on software that is really specialized it can be hard to convey what you are working on to family and peers, but here at least is a review of the almost finished version of Active Directory Administrative Center. This software is part of Windows Server 2008 R2 and the screenshots are form the beta version.

Being somewhat past the Beta version internally and moving steadily towards the finishing line, it was fun to see the Beta version again and see that the version we will be shipping will be even more solid. Yep, lots of little things changed since Beta. Nothing major.

The pictures are in the bane of my existence, namely the Windows Classic look which is hideously ugly and unbelievably hard to design for. Some day I will share some war stories about that and share some tools I have made to make life a little easier.

Enjoy: John Policelli’s Blog » Blog Archive » A First Look at the Active Directory Administrative Center in the Windows Server 2008 R2 Beta

Sunday, March 1, 2009

Playlists in WinAmp –On Filtering

WinAmp provides a typical attribute based filtering mechanism for creating smart playlists. But instead of just starting you off on your own, WinAmp does include a set of pre-canned queries that can help get you started.

WinAmpViewStart

If however, we dive into the custom filtering we get the standard 3 step filter design of

  1. Pick an attribute
  2. Pick an operator
  3. Write an operand

And we get to put AND’s and OR’s between the criteria. Lovely.

WinAmpViewBuildingSimple

In the above example the default OR will get us all Metal regardless of rating, all music rated at least 3 and all music from artists such as Manowar beginning with ‘Man’. That is a pretty broad playlist :)

The Advanced Mode

As with most old school attribute based filtering designs there is an advanced mode that lets you just plainly type a query into a textbox complete with its own syntax and all the other goodness that can be pulled out of the database.

WInAmpViewAdvanced1

WInAmpViewAdvanced2

The Query Builder

To help you compose the query WinAmp even has a query builder that has some interesting properties.

Lets create the a playlist that gives us songs by NOFX, Offspring or Bad Religion that are rated 3 or more.

First we create the criteria for NOFX

WinAmpQuery1

and then we add '”Off” and OR it to the previous criteria

WinAmpQuery2

which will interestingly put a set of parenthesis around the two criteria.

WinAmpQuery3

As you add another criteria with OR WinAmp will add yet another grouping making it

(((A has NOFX) OR (A has Off)) OR (A has Bad)

which is equivalent to

((A has NOFX) OR (A has Off) OR (A has Bad))

WinAmpQuery4However, when you AND a criteria WinAmp does not add a grouping

What works and what doesn’t work?

Ultimately we are going to see that for most filters it makes sense to OR and group criteria on the same attribute and AND criteria for different attributes. In other words, as long as we know what we are doing and are doing it sequentially, WinAmp does the right thing. As long as we are making criteria for Albumartist and we are OR’ing them together, WinAmp is right in grouping them. And when add a criteria from another attribute, in this case rating, and AND it to the query it should not be grouped in with the previous criteria.

If however we added NOFX and Offspring first, then AND’ed the rating of 3 and then finally OR’ed Bad Religion we would get

((NOFX OR Offspring) AND rating =< 3) OR (Bad Religion)

Which would include all songs by Bad Religion and not only the 3 or above rated songs. To change that we would have to remove the grouping around the rating and the first two artists.

The templates in the first screenshot like ‘recently played’, ‘Audio by genre’ or ‘60’ies music’ are also good ways of circumventing the fundamental problem with this design namely that you really need to know what you are doing in order to use it properly. And when all is said and done, I quite frankly find the automatic grouping more help in the advanced version than the lack of grouping in the supposedly simple version.

The only truly great thing about this design is that it is easy to share a smart playlist with a friend or on your blog by simply copying the full string. This kind of easy sharing is something that most filter solutions should include.

What’s next?

Next we will be looking at the query interfaces of Windows Media Player, Itunes, and Zune. All three have worked hard on the usability of their solutions and I think there are some mistakes worth learning from in Windows Media Player, some interesting ideas in Itunes and some great things to copy from Zune.

No, it is not ok!

I hate error messages that just state the fact and then give you a single ok button. Like on the IPhone, I try to read mail, it cannot connect and it comes back with the message: “Cannot get mail” and provides me with a single choice: “Ok”.

No, it is not ok. You did not do you job you little piece of no good junk. I would feel much better if it would provide me with a way to rate its performance so I could get the frustration of my chest. I would be much happier if it gave me three buttons:

  • [Do it again and be thrown out]
  • [We’ll let it slip this time]
  • and [It is Ok for now]

Yes, much happier.

Saturday, February 28, 2009

Different kinds of Filtering

This is the third post about filtering. In this post we will look at different kinds of filtering.

Filtering is usually a good way to help people work with large data sets and depending on the kind of data and the goal there are at least the following kinds of filtering:

Indexing

Indexing such as tag clouds or alphanumeric filtering can be used as a simple way for people to narrow down the data set to a more manageable chunk and to help people focus on what they are interested in. Indexing is defined as only allowing you to filter by one tag/letter and is only really useful if people already know something about the data or what the tag/indexer means.

Multiple Tag Filtering

In Multiple Tag filtering you get to select more than one tag to narrow down the result set. Del.icio.us provides a great example of this kind of filtering:image

There is always an implied AND between the tags meaning that only results that have all the chosen tags will be shown. Del.icio.us implementation where you can remove any tag from your filter lends itself well to exploration of the data. In the above example for instance you could remove ‘ux’ and the explore what other topics there are articles about.

Faceted Navigation

Faceted navigation is one of my own personal favorite kinds of filtering because it encourages exploration and does not require you to know the data very well beforehand. To get faceted search to work it is crucial that the facets are only showing existing data i.e. if you are searching for MP3 players the price ranges should be derived from the actual price ranges and not let you select $1000 when the top price is under $500 (yes, seriously, $500).

image

Though it is a best practice to only show criteria that will lead to results you could get faceted search to work with links to empty results as long as you can predict the possible links. In other words, if you know that the display size for MP3 players come in 1.0”, 1.8”, 1.9” and so on and you don’t currently have any with 1.9” in stock you could still include the link and let people save that query as an agent, but you should not include 1.1”, 1.2” and so on, just because that is the logical numbering. In other words you should never allow people to get to a meaningless query.

The strength of faceted navigation is also its weakness. In domains where you don’t know the possible data values which is often the case in for instance computer management, you need a way to allow people to search for possible rather than actual values.

Attribute Based Filtering

Attribute Based Filtering is in its raw form really easy to program, because it really just exposes the database, and is hence seen in way too many applications. It is also really hard to make usable because it normally requires people to not only know the data but also understand AND, OR, and groupings. Having seen enough Development Mangers get Boolean queries wrong in Microsoft’s bug database has let me to believe that there really is no reason to expose the horrors of Boolean logic to anyone but maybe programmers.

WinAmpViewBuildingSimple

Interestingly attribute based filtering is the defacto standard way of making auto playlists in all the media players I have used. In many ways, I think this is a bit lazy and that those applications should really work towards faceted navigation based on your music collection. When I say ‘lazy’ it is because faceted navigation not only requires a design, but also that the application constantly monitors the data set and creates the facets. That requires a lot of programming.

From a design perspective, making faceted navigation work also requires a way to OR criteria together that is typically absent i.e. Artist is Dire Straits OR Mark Knopfler. Normally you would only be able to pick one facet from each category but to get playlist to be really valuable you want to be able to pick more than one genre or artist.

Rule Based Filtering

Rule Based filtering is best known from Microsoft Outlook and is a way of making attribute based filtering easier. Essentially rules are pre-made queries where people are only asked to fill out the operands.

OutlookRule2

If you for instance create a rule like: “with specific words in the subject” this gets translated to “with Word1 OR Word2 or Wordn in the subject” which means you cannot change the logic, the attributes or the operators.

Rule based filtering is both usable and powerful because it takes away much of the complexity of writing queries by pre-packaging the most likely used queries in the right format and can cover a large set of different cases. There will however always be cases that the pre-canned rules do not cover and for that you typically need attribute based queries.

Next we will dive into some existing implementations of attribute based filtering.

Getting deep on Filtering

This is the second post in a series on filtering. This is really getting into the gory details of filtering and may seem a little dry. Skip it if it bores you.

Terms and Definitions
  • Search: you start with nothing and get something
    • Think of web search. You start with a blank screen and get some results back
  • Filter: You start with something and get less
    • You have a full collection of music. By setting up a criteria you will see less than everything
  • Find: You start with something and move around in it
    • Try it in Word or in your browser. You find the first instance of your search string but you can still see the rest of the document.
Attributes, Operators and operands

‘Artist equals NOFX’ follows the normal pattern for a filter criterion on songs. When we break it down into pieces we will use the following terms:

· Attribute: Artist is an attribute just as Rating, Play count, and Release Year

· Operator: Equals is the operator. Typically filter criteria uses operators such as Contains, equals, above, below, and between.

· Operand: In the example above, ‘NOFX’ is the operand. Operand is just a fancy word for the value(s) we want to operate on.

Boolean filtering

At the end of the day, filtering is really about finding the right subset of data, and if you want to get in deep, you should read up on set theory. For this discussion that will not be necessary though. We don’t really care about mathematics and what people could possibly do, we care about making a filtering mechanism that works well for the majority of cases. ‘Works well’ means that it is easy to use and complete enough to cover 95% of the scenarios of the people who use our products.

You will nonetheless need to understand a little about AND, OR and grouping.

If you have a basket of apples, some green, some red, and those apples are of different sizes and weight, you can subdivide the apples into smaller groups by those properties. You could for instance pick up only green apples, or only red apples that are larger than a tennis ball. To express the criteria by which you picked the apples, the latter could be expressed as

Color is ‘red’ AND size = Larger than tennis ball.

Now say you weren’t looking at apples but bell peppers. They come in small, medium, and large and in Green, Yellow, Orange, and Red. Now if you are like me, you prefer small green ones. But if you are more colorful you may like yellow, orange, red in medium and large. To get those you would use the criteria:

Color is Yellow, Color is Orange, Color is Red, Size is Medium, Size is large.

Now, without any additional information about which information goes together you have effectively used an OR

Color is Yellow OR Color is Orange OR Color is Red OR Size is Medium OR Size is large.

and may end up with Small Yellows or Medium Greens. Actually, the only kind you will not end up with are small green ones, which is good because those would then be left for me :) but you clearly got more than what you intended.

However, if you only use AND you not get any bell peppers at all, clearly also not what you intended.

Color is Yellow AND Color is Orange AND Color is Red AND Size is Medium AND Size is large.

What you want is a mix of AND and OR with some parenthesis to demarcate which pieces goes together

(Color is Yellow OR Color is Orange OR Color is Red) AND (Size is Medium OR Size is large).

With this criteria in place we have the foundation for all the filtering we need. If you look closer at it you will see that we have OR between all criteria for the same attribute, parenthesis around all the criteria that is related to the same attribute and AND between parenthesis. This is a core concept which we will dive much more into once we get to the Active Directory Administrative Center filtering: Criteria on the same attribute are OR’ed together and grouped, Criteria on different attributes are AND’ed

Next we will look at different kinds of filtering and after that we will look at some product examples.

On Filtering

I have worked quite a bit with filtering over the past couple of years and I just happen to be an obsessive filterer when it comes to my music collection. As in I rarely listen to a specific album or artist but to playlists that are made up of genres, rating and so forth.

This will be the first post in a series on filtering. My main goal is to explain a recent design of an attribute based filtering I have been part of for Windows Server 2008 R2 Active Directory Administrative Center –lovely short name, ain’t it ;-)

First however, I think we should talk a little about filtering in general, the different kinds of filtering, some different implementations of query based filtering and then we will get to the AD Administrative Center design and why we designed it the way we did.

Why Filtering

If you boil it down to the core we only really deal with a few questions in UI design. ‘Find stuff’ and ‘deal with stuff’. Both gets more and more exaggerated as there is more and more stuff and the stuff becomes more and more complex. My music collection is some 10.000 songs and that is not even considered large by today’s standards, and each song has so much meta-data that the traditional windows property pages crumble under the weight. Now try managing a data center, or try to look at events, or figure out the meta-data on an AD object and the music example will seem trivial in comparison.

But music makes good example data for talking about filtering because it has built in natural groupings such as artist, album, year, and genre, and most music players allow you to add to that meta-data with for example ratings or moods. In that way music has many of the same characteristics of the data we deal with in the IT management space.

I split my music into Indie Rock, Alternative Rock, Y’alternative, Hard Rock etc. and make playlists with criteria like

Hard rock, Heavy Rock, Alternative, unrated or with a rating over 3 and not marked for not playing.

If we write that out it becomes

Genre = Hard rock OR Heavy Rock OR Alternative
AND Rating is above 3 OR Rating is empty
AND Comments does not contain ‘don’t play’

This query is not unlike queries we will find in the IT management space, in ERP, or anywhere else where we are dealing with large data sets of structured data.

Next, let’s discuss the details of filtering and Boolean logic (Getting deep on filtering) or you can skip that if you know the stuff or really don’t care and go straight to the different kinds of filtering.

Thursday, February 26, 2009

A Good Time to Quit?

We just got a new person on our team. He had been at Microsoft before but quite some years ago to go travel fro a couple of years. Now travelling had become tiresome and he wanted to settle down again for a bit and so got back to work.

Got me thinking… is now really the perfect time to quit and go travelling or work on a new business idea? At least assuming you have the funds, or should you wait? Think about it. Everything is cheaper right now. Airfares are dirt cheap as the carriers are desperate for business, hotels are dying for business, and stores seem to be inventing new anniversaries that can give them an excuse for a sale. Maybe now is the best time in years to quit for a while enjoy life and then get back to work when the economy is picking up again.

Thursday, February 12, 2009

It is you, not me… A Great Ted talk

http://www.ted.com/talks/elizabeth_gilbert_on_genius.html

There is nothing scarier than the beginning of a creative process where the canvas is blank and everything is possible. Will you succeed again, will you deliver the desired outcome?  Elizabeth Gilbert talks about Muses or similar concepts. Before the renaissance, people believed that creativity came from without, not within. From Muses, genies, spirits. That takes the pressure off you and puts it onto an external force. I like that idea. I also think it has a lot to do with the environment you are in, the people you are working with and so forth.  But then again, you could think about those as the spirits :)

Friday, January 9, 2009

10 Most Common Misconceptions About User Experience Design

Sometimes you stumble upon a brilliant book or article where you think “well, they said everything I had to say and probably better”. This article: http://mashable.com/2009/01/09/user-experience-design/#comment-11384681 gave me that experience.

It lists the top 10 misconceptions of UX from ‘UX is user interface design’ over ‘UX is just about the user’ to ‘UX a choice’. If I could add an 11th misconception I would add “UX is about tools”.

People often htink that because you are a designer you must be great at Photoshop or that if you are great at Photoshop, you can be a designer.

It is short, maybe even too short, but really worth the read.