Ayende @ Rahien

My name is Oren Eini
Founder of Hibernating Rhinos LTD and RavenDB.
You can reach me by phone or email:


+972 52-548-6969

, @ Q c

Posts: 6,125 | Comments: 45,488

filter by tags archive

Accessibility Concerns

time to read 3 min | 504 words

Kelly Stuard called me out with regards to the NH Prof user interface:

I'd just like to weigh in and say that I am completely against the WPF-murder of this application's UI.  There are several hundred reasons to go away from the OS's colors and standard dialogs; I do not see a single one here.

In choosing to shove your choices upon your users you are potentially alienating people who may need a particular color contrast or text size(color blind / low vision) or need to only use the keyboard (blind with reader).

It looks very sexy, I will admit.  However, it is a piece of software I want to *function* very sexy; that is its only job, in my mind.  I want it to look just like every other application and respond to my OS changes just like every other application.

There are a few reasons that we chose this particular look & feel for the application. One was branding, I wanted the application to remind people of my blog*. The second was that this UI allows us to express a lot of things in a concise fashion while keeping it pretty. The third was that it allows us to create pretty UI.

That may seem like an inconsequential point, but it is actually very important. UI sells, period. And good UI sells more than black on gray that is what going with the OS scheme would give us. I am building this application to sell it, and as such, anything that increase the sales count is a huge plus for me.

Now, am I alienating people that would prefer to have a different color scheme? Am I alienating people with screen readers?

Probably so, I am afraid to say. But that is, again, a conscious decision on my part.

There are ways that we can improve the situation for that scenario, such as providing an alternative color scheme or one that pick up the user's system colors. WPF also contains the hooks to make applications friendly to screen readers, so that is possible as well.

But that isn't going to be in version 1.0. I am not sure that it will be in the product at all, for that matter. It is a very simple matter of considering the ROI. Doing something like that is going to take resources that I can invest in other features. In order to justify doing this, I need a big enough user base that require this functionality.

At the end of the day, I need to be able to pay the bills. And considering the target audience of the NHibernate Profiler, I don't think that this is a Must Have feature for v1.0, and it is a feature that will be triaged along with the others for vNext.

* Funny how what seemed like a trivial decision four or five years ago, choosing color scheme for the site, turned out to have such huge implications for the rest of my software.


Sergey Shishkin

This is how I see your blog: http://tinyurl.com/ayende-blog. I'm sure most of your readers see it similar.

I don't believe that any of the potential customers of the tool will buy it because it has different colors than the other apps. But I'm sure that thick black frames, tiny pumpkin-orange scroll bars, and gradients are not what I like to stare at all day long.

There are different design considerations when you build an app for professional users than when you build it for teenage gamers. Currently NHProf looks like an amateur designer thought "look how I can play with all these colors and gradients! cool!"

Oh, and the X-close button should be in the top-left corner.

P.S. In my opinion constructive criticism is much better than thousands "dude, you rock!". So, don't take it personal ;)

Ayende Rahien


Nothing is taken personally.


I agree with Kelly and Sergey. This UI reminds me of MSN Messenger for some reason. (Disclaimer: I don't really remember what MSN Messenger looks like. I don't use it because of it's terrible UI).

It's all shiny and gradienty; it looks like a piece of software made for none-computer users. Most software developers though, which is who I believe your target audience to be, prefer tools to look like the professional tools we're all used to - see Visual Studio, and SQL Server Management Studio for good examples.

We've tried using a Visual Studio-like pane in our program at work. I believe it was a perfect fit for that particular window. But it didn't go well, because are target audience is comprised mostly of people who put the installation CD upside down. I've actually seen a customer put a CD on a machine, trying to install it... Which is why we no longer ship CD's :)

But I digress. Your design is good looking. But it's made for the wrong target audience.

Also, Sergey, why would the X button be at the top-left?

Sergey Shishkin

Ooops, top-right, of course. I mistyped. User should be able to move the cursor in a glance to the upper right corner and click to close the app without a need to precisely point to the X button.

Luke Breuer

Wait a second, this is WPF. Isn't it supposed to be pretty easy to change the themes around a lot? Isn't that kind of the point of WPF?


The look of NH Prof is working against it. This is a tool for very skilled and opinionated people, which follow the rule of thumb that the most flashy an app, the crappiest it is. So you'll have to convince them that the app is very good despite looking like a toy. Your target buyers don't buy apps based on radical looks, anyway.

When I first saw the screenshots I thought "OK, this is probably because the app uses WPF and is skinnable, and Ayende made a 'blog' skin for it to show it off", but if that's not the case, so, for what free opinions from unknown people are worth (i.e., nothing), make it look like VS2008 and you'll have a much easier job selling this.

Kelly Stuard

I'm just glad to see that the decision has been made as explicitly as you spelled it out. All too often the decision to alienate users is done "accidentally". That you thought of it and chose not to is still a thousand times better than doing it for no reason. I hope that the bulk of your user-base does, in fact, appreciate the glitz and glamor. As I mentioned before, I am only your target audience for its functionality. Your branding has no effect on me! ;)

Damian Hickey

There are a few reasons that we chose this particular look & feel for the application. One was branding, I wanted the application to remind people of my blog*. The second was that this UI allows us to express a lot of things in a concise fashion while keeping it pretty. The third was that it allows us to create pretty UI.

I think you possibly forgot to add - working in Winforms sucks...

Now, while I agree WPF is sexy*, allows you to do more, quicker and with more flexibility, I would think that your target market are the sort of people who hate non-standard UI (menu bar flush to the right?) and non-system colours.fonts. The same people who who hate Chrome for having non-standard toolbar buttons and window handling so it doesn't work with Ultramon nor AllSnap (it doesn't maximise properly on secondary montitors either)

Branding doesn't necessarily mean skinning the entire app (does it play well with Aero?), and certainly doesn't mean breaking standard UI conventions, especially as it's a developer tool.

We had a discussion recently enough on Alt.Net regarding Winforms vs WPF. The consensus was that I should do a spike on WPF, which I did, and the result of which was that I decided we are going to stay with Winforms for our LOB application. One of the reasons was how WPF didn't fit in well with system look & feel. (There are other reasons too...)

I think you may have more success if the application looked and behaved like VS2008 and perhaps even embeddable within. Ants Profiler is a similar application that comes to mind as an example.

  • notwithstanding the infuriating blurry text and different cleartype rendering algorithm to the system
Ayende Rahien


Trying to achieve the type of L&F that we have right now, talking just from functional perspective, would be very hard in WinForms.

More than that, the internal architecture would be much more complex than it is right now.

As for integrating in VS, that is not a feature that I would like to do, just the time to do something like that is hugely disproportionate to the value it brings.

Stuart C

I like the design but I'm sure I'll bore of it fairly quickly.

A flashy wiz bang UI is not always a good idea as it's appeal is very subjective.

Giving UI's a personalized look will actually narrow your market. It is the same reason property developers decorate properties in neutral colours and tones and free of any personal or subjective features as this will widen their potential market for buyers.

Anyway I will give you credit for at least being different and original...

I'll buy this app regardless of what it looks like to be honest, (as long as the price is right) :)


I created a stylised and, I thought, sylish app for one of the big 4 accounting firms a few years ago. QA hated it and wanted a standard look and feel for usability. But the sales guys loved it and, apparently, so did the target users. In any case a decent amount of money was made (albeit not by me).

Maybe I'm shallow, but I like the flashly look of your app, so from a sales perspecitve it works for me. Having said that, in the long run I'd probably prefer to have the option to switch to a more bland skin.


I think it looks quiet nice but I really hate it when apps look different just for the sake of looking different. This is one of the things that keeps me on linux. Every KDE app has the same look and feel (except firefox) at worst I only ever have to look at 3 widget sets on any given day.

When I jump over to windows it just seems like another layer of non intuitiveness.


I just wanted to say that while all of your points make sense, specifically, "supporting people who need high-contrast or screenreaders doesn't give a good enough ROI", just think about all the times a certain software you liked said "we know we should support RTL, but the target audience for that feature is so small, it isn't worth it in terms of ROI" and how frustrated that made you. Er, me.

Just food for thought.

My two agorot: Either stay with the system theme (people who like flashy UI theme their OS, so that wouldn't be a problem) or provide a skinning ability. Shipping it with a flashy "I love brown, hope you do too" interface and no means to change that isn't a good idea, IMO.


I guess that one of the most common use cases for this app is to figure out when something goes terribly wrong; now, can you imagine how fun it is to keep looking to this orange window for 3 hours, on a projector, at 11PM with other guys at the company's war room?

Olivia Xifry

With respect to your personal nature of your choice of color scheme for this website (which you indicate has helped you to make your choice of color scheme for the profiler), I have always found your site's color scheme to be unappealing.

I have read ayende.com for quite some time, and I am able to read it much more effectively thru the sanitizing filter of my RSS reader. If I had to read the website directly, I would choose not to do so.

I'm commenting to second my appreciation that you are making your design choice (as to color scheme) very explicitly.

But I am opposed to the outcome of your decision. I think it's a very bad idea to force the ayende.com scheme onto NH Prof, and it will definitely impact (negatively) the opinion's of those informed individuals who want to use such a powerful tool.

The ayende.com scheme is fine for a personal blog. It's not a good choice for a commercial application. Please reconsider.

Neil Mosafi

I think you should offer a console app version and see if anyone buys it

Comment preview

Comments have been closed on this topic.


  1. The design of RavenDB 4.0: Physically segregating collections - 10 hours from now
  2. RavenDB 3.5 Whirlwind tour: I need to be free to explore my data - about one day from now
  3. RavenDB 3.5 whirl wind tour: I'll have the 3+1 goodies to go, please - 4 days from now
  4. The design of RavenDB 4.0: Voron has a one track mind - 5 days from now
  5. RavenDB 3.5 whirl wind tour: Digging deep into the internals - 6 days from now

And 12 more posts are pending...

There are posts all the way to May 30, 2016


  1. The design of RavenDB 4.0 (14):
    03 May 2016 - Making Lucene reliable
  2. RavenDB 3.5 whirl wind tour (14):
    04 May 2016 - I’ll find who is taking my I/O bandwidth and they SHALL pay
  3. Tasks for the new comer (2):
    15 Apr 2016 - Quartz.NET with RavenDB
  4. Code through the looking glass (5):
    18 Mar 2016 - And a linear search to rule them
  5. Find the bug (8):
    29 Feb 2016 - When you can't rely on your own identity
View all series


Main feed Feed Stats
Comments feed   Comments Feed Stats