Designing software is something people specialize in for a reason. A: Programmers have radically different values than end users. B: End users often don't know what they want, or want contradictory things.
Therefore it takes a specialist to step in and mediate.
We design our own software here at work. We have specialists who do nothing except make sure the tools are designed to specification, and useful and functional.
To this end, they write specs based on the end user's needs. But often they must step in when the end user wants things, and don't know the repercussions of their request. A good designer doesn't simply do everything the programmer's way, or do everything the end user's way. He exercises his judgment based on his experience and training in design and UIs.
One of our world-building tools here at work, designed in olden days by programmers who had no accountability with the end users, would simply quit, instantly, if you pressed the Escape key. Now, if you're familiar with the standard Window's Interface, "Escape" has a specific use. If you're typing in a text field, for instance, and you hit Escape, it will clear the text field.
Well, this program had text fields and if you hit Escape while you were in it, the program would instantly, suddenly, quit and you'd lose all your work without warning.
When we went to the programmers and complained, they all said the same thing; "Don't press Escape."
This is what we call a "programmer solution." Meaning "only a programmer would say that." It's not only absurdly literal, it ignores the way people actually use software.
Now we have a tools team, with tools programmers, and the experience is night and day. They listen to what we want, go away, present something that's very close to what we need and, as we use it, they optimize it...but they also tell us "No," sometimes, because sometimes we want things that directly contradict other things we've asked for.
Even this is not something we could release to the public. Here, the end user is a designer who's highly educated on all the issues.
Making software, like a D&D character editor, that's accessible and useful to the average D&D player means making it very, very simple, and intuitive and unless you're an experienced tools programmer and have a good UI designer, it's very unlikely your product is going to be awesome, especially when you're working in an open source environment with lots of people working separately under disparate schedules and conditions all modding the stuff.
What they acheived with PCGen is very impressive! But asking people in this thread to help fix it is exacerbating the problem. The people in this and other threads are not experienced tools programmers.