For a server-based application that is installed and maintained by IT admins, what is the best user experience for providing configuration values?

The primary user of this application would be IT administrators. Once configured, the admin will not likely interact with it anymore (it's a Windows service) unless configuration needs to change.

I see a few options:

  • A GUI application that launches after installation, or from the "Start Menu" whenever the admin needs to update it.
  • An XML (or other text-based format) file that the admin edits to update it.

I've seen applications go both ways. The application in question will have roughly 5 configurable parameters. What do you think?

  • Welcome to the site, @joelsand. Can you please provide some more context? Who are your main users? What are they doing with the application? Commented Aug 27, 2014 at 20:09
  • 1
    Thanks @3nafish! I added some additional context to the question.
    – joelsand
    Commented Aug 27, 2014 at 20:27
  • IT administrators are usually quite technical, so editing xml is possible, however atleast I feel sometimes frustrated having to edit all sorts of configuration files in locations I never remember. And if there's possibility of errors from inserting invalid strings into the xml, then I would make a GUI with validators (for example datatypes: datetime, integer, decimal).
    – Samuel M
    Commented Aug 27, 2014 at 21:05

2 Answers 2


There are various pros and cons for each. For instance, XML files can be emailed and shared over the internet, whereas a GUI application need someone to click about.

But I think that from a pure UX perspective the main argument in favour of GUI is that text (or XML) files are far more prone to user errors, as any programmer who's application didn't work because of a missing colon or a capital letter will tell you.

GUI offers validation and opportunity for contextual help (although with config files the latter is commonly provided in a template comments). But perhaps most importantly, it can reduce user errors by applying constraints - a good example for this is the comparison between a credit card form that uses a text box for the expiry date (prone to errors) vs dropdowns (constraints on the possible values entered).

Another UX aspect that comes to mind here is efficiency - I'd argue that users will be able to achieve their task quicker by taking advantage of GUI components (checkboxes, dropdowns), compared to a rather slow text typing.

So GUI has my vote, but it's hard to be definite as you didn't provide sufficient data on the actual design in question.

  • In this case, I think the validation and contextual help is important, so GUI it is. Thanks.
    – joelsand
    Commented Sep 4, 2014 at 20:49

Why not both? A GUI that outputs XML.

  • 1
    Your post is a comment, not an answer. Please either expand it to provide evidence or else remove it. Commented Aug 27, 2014 at 20:26
  • What I'm really looking to determine is which method has the least barrier to the user (in this case the IT admin installing the software). It needs to be simple to install and set up. Having both is an option, but then we'd have to support both!
    – joelsand
    Commented Aug 27, 2014 at 20:34
  • In fact, as far as I'm concerned that IS a good answer to the question. GUI for easy access by novice users and those who don't want to deal with XML syntax. XML representation for toolability (plugging in other UIs or automatic configuration or whatever) and for ease of access by sysadmin types who want direct access to the fields and values and would find a GUI got in their way more than it helped them. Specific example: IBM WebSphere Application Server, which stores its configuration in a server.xml file but also offers GUI/web tools for manipulating that.
    – keshlam
    Commented Aug 28, 2014 at 1:54
  • 1
    Answer does not need to be long to be complete. +1
    – paparazzo
    Commented Aug 28, 2014 at 18:16

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.