When you're designing a user assistance architecture, you often run into conflicts between what is best for your users and what presents the fewest technical challenges.
For example, a couple of years ago I had to design a Related Topics feature from scratch to overcome some limitations in our authoring tool. I developed several models. Some used XML to dynamically generate lists of related topics, while others relied on metadata tags and elaborate scripts.
Security issues made the design process tedious; the feature had to work on local hard drives under the Windows XP SP2 local zone lockdown.
In the end, I was able to come up with a model that was both reliable and user-friendly. There was only one problem: because of complexity, the feature was a nightmare to implement.
Every time I see that feature in the help, I have mixed feelings. I'm usually inspired by how reliable it is, and how it provides a user-friendly way to navigate through the help topics. But then I cringe at how difficult it was to develop and implement in a project.
Was it worth it?
Good question. Yes, I think so.
Unless higher priorities exist that would make the help even more user-friendly, I think such enhancements are worthwhile.
The bottom line is that users don't have to experience a single moment of the tedious work that went into that feature. They just experience the fluid and intuitive lists of related topics that guide them to the answers they seek. They only see the good side of the technology.
As a help author, my job is to create the most user-friendly help I can. Sometimes there is no tool to make a job easy, but I do it anyway, because those challenging features help to separate our products from the competition. Every technically difficult feature they choose NOT to implement makes our product better by comparison.
(Also, I have a confession to make. I'm way more content when I have a technical challenge or two to keep me from getting bored.)
Are you struggling with a technical enhancement? Don't give up. Your users will appreciate the work, and you'll learn a lot from the process.
Feel free to share your struggles by leaving a comment. Perhaps someone will suggest just the solution you're looking for!