Posts Tagged UI

Some companies have the same look and feel

Sometimes its hard to spot the difference

image

,

No Comments

Localizing Telerik components

We’re using Telerik components in some of our software at RemoteX. Telerik components are localized using resx-files, but we don’t use resx-files so we need the localization to work with our system.

So this is how to do it:

First we create a ResourceManager that will handle our localization

class LocalizedResourceManager : ResourceManager
{
  public override string GetString(string name)
  {
    return String.Concat("Client.Telerik.", name).Localize();
  }
}

And then, in an appropriate location we set the default Resource Manager for localization:

LocalizationManager.DefaultResourceManager = new LocalizedResourceManager();

There you have it, short post, but someone pointed out to me that people would like to know these things before they purchase component libraries.

,

No Comments

The guessing user interface

My girlfriend has downloaded a solitaire application to her HTC Tattoo. While solitaire isn’t anything revolutionary it has an interface feature which got me thinking.

Se what the interface does is move those cards that it is sure that the next step is to move. So if I for example get an Ace, it moves it to it’s correct place at the top four card stacks.

This feature got me thinking about mobile phone interfaces. In applications in general, but even more so in the mobile context, you want to reduce the amount of interaction done with the user interface.

What if we can “guess” the input of the users input in the interface even in business applications?

image

We have hints in the domain, such as if you select this type of project you cannot register this type of time on it. You don’t register vacation time on a customer’s bill if your a consultant. Well, at least not that often.

These hints are common constraints, you might not want to enforce them by disabling the alternatives available. But you can check them and see if for a given input if there are any “assumptions” you can make about the next input to be made.

image

To take this one level further. We have the application data. We can order things in the UI according to a statistical analysis. Given this value in a combo box, this other value has more than 80% chance to be set in the other combo box. In such a case we can “guess” that this is the input the user would want to enter, and worst case is that he has to change it.

The cost of changing a value in a combo box is equal to setting one in the first place.

Now statistical analysis of data can often be costly, and typically not something you would want to do in a UI scenario. But what you can do instead is to calculate the statistical values into a decision graph (I think of it as similar to a Markov process for those whom have studied them). We can calculate this graph every evening and have a graph available for all input for the next day. Traversing the graph is now a simple algorithmic exercise.

, ,

No Comments

Computer anxiety

I just talked to a neighbour of mine over the phone. She had a computer crash this morning, and basically panicked. Now as I talk to her I notice one thing that I’ve noticed over and over again. Most non-technical people are actually afraid of computers.

Now she knows the best practices. Regular backups, anti-virus regularly updated, anti-phishing filters activated. Still she refuses to download anything on the laptop, even Spotify was a hard sell apparently. Out of one thing, she doesn’t want anything to happen to the computer.

How do I ease the anxiety she feels when she is using her computer?

The amount of stress a computer can cause on a non-technical person is horrifying, and is something we should keep in mind when designing software.

A good user interface is a user interface your mother can use, without stress.

note: the person in the blog post is not my mother, but could very well be.

SFUI = Stress free User Interface!

,

2 Comments

Left aligning wpf grid headers

Applying this style to the gridviewcolumns they will left align their header content.

<Style x:Key=”LeftAlignedGridHeader” TargetType=”{x:Type GridViewColumnHeader}”>
<Setter Property=”HorizontalContentAlignment” Value=”Left” />
</Style>

,

No Comments