Business need is for ability to see a grid of values for custom fields that are created by user.

Example of business need. Take Microsoft Visual Studio for example. MVS has a closed set of fields for viewing a grid of items. Fields such as:

  • ID
  • Title
  • State
  • Assigned To
  • Type
  • Work Item Type

The grid would like like this:

enter image description here

...Via the GUI that I intend to design, user can create his own custom grid. So say he wants a grid that has only 3 fields:

  • Subject = "Title" + " " + "(" + "State" + ")"
  • Developer = "Assigned To"
  • Work Type = "Type" + " " + "Work Item Type"

... and then his customized grid would loook like this:

enter image description here

As you can see, the 100% of product fields to choose from when creating these custom fields is a closed list that already has mapping logic for values and that logic is not customizeable.

To sum up:

  • User decides the name of the custom field
  • User decides which field/s to map to the custom field (support concatenation of product fields)
  • User decides order of the custom fields

I envision a sort of field builder where user can drag and drop + enter text for custom field names and text for concatenation field seperators, but can't close down the way to do this UI-wize.

The usual field selector looks like 2 boxes (Available and Selected Fields), has left/right arrows to move fields between boxes and up/down arrows to decide on order of selected fields.

enter image description here

It obviously doesn't cover the above requirement, but I believe I do want to build on it as users are already familiar with that type of customization UI.

Is there a suitable idea that will cover the requirement as mentioned above?

Note that the end user is sophisticated, but doesn't have a technical background (end user is a trader in a bank's dealing room).

  • 1
    I have no answer to you, but the description plus the last sentence makes me cringe. What you describe is close to the report creating functionality in Access. After years of watching non-technical end users struggle with that, I can tell you that this task is generally too hard for them (they fail to create good reports from an existing well-designed database). Your organisation may have to employ some dedicated experts with good domain knowledge and some technical affinity, who will click together the reports in the interface you describe and give them to their colleagues for use.
    – Rumi P.
    Commented Aug 15, 2013 at 13:16
  • 3
    Which, on the other hand, means: If you are determined to (or required to) make this work for the non-techical end users, you should ruthlessly reduce as many degrees of freedom as you can. The more guidance a non-techincal user gets in a challenging task they don't feel qualified for, the higher the chances of getting it right in the end. I know that the idea of reducing the user's degree of freedom goes against programmer instinct, but it really helps your users.
    – Rumi P.
    Commented Aug 15, 2013 at 13:21
  • I've tweaked your question a bit - you shouldn't really ask for examples of something, you'll just get a load of screenshots that may not actually be of any use. You should ask for the actual answer to your problem (as this is a Q&A site after all). Suitable answers may reference some examples out there but you want the answers people leave to explicitly answer the question and provide you with a reasoned solution.
    – JonW
    Commented Aug 15, 2013 at 14:08
  • Thanks @RumiP. Following your comment I added to the description the fact that the user is a sophisticated one albeit not technical. The screen which I'm talking about is one of the main screens in the system and items in the grid are actionable so this is more of an action screen than a report. The user would be eager to customize as much as possible. I agree that I have to strike the correct balance of flexibility vs. usability.
    – Peled
    Commented Aug 15, 2013 at 16:09

3 Answers 3


First of all I would suggest to be very careful with assumptions. According to my experience it is not so hard to develop a good and handy table/tree-table customization approach, but users tend to ignore that anyway.

I've solved this issue by providing a predefined set (a library) of columns with the ability to switch between libraries in real-time. 9 of 10 users were happy. The other 10% simply asked to help with customization, because they "didn't have enough time" to look through available fields.

Example 1

I can't show you the actual UI because of the NDA, but will try to restore it using Balsamiq.

Key ideas:

  • Column libraries
  • Typed values
  • Format is used to get a string representation for a given value
  • Registry of attributes
  • User defines column content using DnD

enter image description here

Table with several specialized renderers was used as a view. It was quite an easy task to reconfigure column library, but it was decided to provided two switchable libraries: standard (just an overview) and low-level (more details and technical insights).

I can show early alpha screenshot, but please don't be confused by the overall complexity. Network sniffers with good analysis capabilities are tend to look a bit complex :)

enter image description here

As you can see customized table views were heavily used.

Example 2

Wireshark (yes, yet another sniffer) also allows to do some customization.

enter image description here

Please check this video - How to - Wireshark Tricks Tutorial: Custom Columns

Frankly speaking I develop new (and hopefully better) approach to customize a table (actually a tree-table). I'll publish my results as a separate answer if I manage to finish this task soon.


I would recommend radically changing the interface:


download bmml source – Wireframes created with Balsamiq Mockups


We had this challenge when I worked in health care. Custom report builder. Nobody used it. Because it was too difficult to use.

My suggestion is to seed the system with some basic reports, and make them editable (or provide the ability to duplicate those basic reports, and let users edit the duplicate).

In e-learning, the practice of providing worked examples is called scaffolding. Prop them up with useful help until they can stand on their own. In this case, you teach the user to build reports by customizing existing ones.

Expose the renaming and field selection functionality directly on the UI of the example reports. Make it clear that the labels are editable. Make it easy to add columns, select data sources, remove columns.

What you're providing is a worked example, which people will find much easier to use than a blank sheet of paper. (Everyone's an editor, but very few are writers.)

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.