Technical skills for publishers

Posted by Lisa Bos on Feb 25, 2014 9:28:00 AM

Technical skills for publishersTechnical skills for publishers using a CMS and XML

Publishers often ask us what skills they should have on staff in order to be ready to use a CMS and XML. Our response is that publishers will be more effective if they have staff with the technical skills tied most closely to their content and products. Not every publisher needs to be able to perform RSuite customizations using Java. (In fact, few publishers need or have this.) But every publisher should know their own content and publishing processes. This is especially important when a system is first rolled out, but continues to be useful for normal system maintenance and for those occasional unexpected problems when you need help fast to get your product out the door. It’s not that you can’t outsource these skills; it’s that you will be more nimble with them.

Identifying Your Content Architect Candidates

At RSI we usually refer to someone with these skills as a “content architect”. In most cases, our customers already have one or more staff members poised to take on deeper content architecture expertise, and hiring isn’t necessary.  You’ll recognize these colleagues as the ones you already turn to for answers about why and how things get done.

  • They know your content and products deeply.
  • They know your processes backwards and forwards.
  • They are naturally interested in the under-the-cover details of your existing systems.
  • They have technical aptitude – an intuition for how software works or might work. They might also have a background in scripting or another software development area.

Most often (but not always!) these colleagues will be on your print or digital production teams.

Skills and Knowledge Areas to Consider

The following are typical areas of focus for content architects. Each item’s relative importance depends on factors like the volume and pace of your publishing schedule and the complexity of your content and processes. While you don’t necessarily need the same person to be expert in all these areas, having one or two people with broad knowledge across the areas provides the shortest path to solving problems and planning system improvements.

DTD/XSD maintenance

Publishers rarely need staff who can develop an XML schema (DTD or XSD) from scratch, but someone on staff should be able to read your schemas, understand how they are used to mark up your content, and talk in detail with partners, vendors, or other departments who need to use them. This is crucial because you need this skill to manage your vendors (e.g., Is the XML created by your vendor good enough?).

Sometimes it’s useful if your content architect can make minor schema changes and deploy updates to RSuite, but since such changes are rare and rarely time-sensitive, you can usually do without this skill on staff.

Metadata maintenance

Metadata is all the data you use to manage your content and to enable findability and usability on the web and elsewhere. It drives many internal and customer-facing publishing systems. Content architects can help you plan how to build in metadata quality aids and checks, and can diagnose problems when something goes wrong. For example, if topical metadata is missing, content might not be findable on your website or might not be delivered to a partner. How might your CMS help avoid this problem? How can you tell when a problem has occurred?

Transformation knowledge and technical skills

Transformations are the automated or semi-automated steps that convert content from one form to another, such as from Word to XML or XML to ePUB. Transformations are responsible for much of the efficiency gains and product improvements CMS and XML bring.

But here’s the thing: Unless you have products that are very high volume and can be held to extraordinary consistency standards (think “dictionaries”), then your transformations will never really be finished. No sooner will you get one issue or book out the door then you will realize that your next project is just a little different. You need a new type of article, or a new type of layout element. This is normal and this is okay – as long as you can quickly and affordably adjust your transformations for minor changes.

When using RSuite, this means someone on staff (or at least on call) should be able to maintain Word-to-XML mappings and XSLT scripts and the mappings and XSLT scripts responsible for generating outputs from XML. Our most successful customers do light maintenance themselves and call us or other experts only for more complex changes.

Template maintenance

Most of our customers use two types of templates: those for Microsoft Word, and those for their page production systems (e.g., InDesign). Templates define many of the inputs and outputs of your CMS. Along with transformations, they enable you to work predictably and, therefore, efficiently. A staff content architect should understand how templates must be used to ensure successful transformations, and ideally will be able to make minor changes to templates to correspond with maintenance level transformation changes.

Workflow and content lifecycle management

“Workflow and content lifecycle management” is a fancy way of saying someone needs an understanding of the changes content goes through over time, from creation/acquisition through to delivery to all targets, and who or what is making those changes. While the prior areas focus on the technical details of the content and software, lifecycle management adds in knowledge of who (or what system) is doing what when. This holistic understanding is required to quickly debug and correct problems when they occur, and to know when outside help is and isn’t needed.

How to Start?

The best way to prepare someone to be a content architect after your CMS launches is to make them one of the primary participants in CMS implementation. They will naturally learn most or all they need to know through the project. If your content architect is going especially deep with transformations or schema management, then formal training might be desirable, but in most cases it’s not needed. What they will need is some time to gain experience while still being backed up by outside experts.

Your content architect will also need some of his or her ongoing work hours freed up. For some publishers, this work represents only a minutes each day. In other cases, such as when significant new product development goals are being rolled out concurrently with the CMS, this could turn into a fulltime job. Your RSI project manager can help you think through what is most likely in your organization.

In summary, you need a content architect for light maintenance, to solve unexpected problems, and to help plan for content and CMS changes over time. The good news is you probably already have the  right person on staff!

 

Share your thoughts!

Topics: RSuite, workflow, metadata, Publishers, Technical skills for publishers, start, beginning

Unintended consequences of features: Lessons from an automobile

Posted by Christopher Hill on Feb 12, 2014 9:48:00 AM

Constraints can be beautiful

Several years ago (before I had worked with RSuite), I posted on my personal blog a couple of times on the merits of constraint in design http://blog.chiliarchy.com/search/label/constraint. At that time, I was dabbling in software design but had yet to be responsible for establishing and communicating constraints to the engineers building a software application.

The redesigned RSuite of today often challenged me and the engineering team to balance many competing opinions and interests. With an application offering the flexibility of RSuite, it is tempting to always do more.

Engineers tend to like building things. A good engineer's "can-do" attitude will favor developing enhancements. It's more fun to create new code. Going back through existing code to refactor, trim, or remove can sometimes feel like cleaning out the garage.

Customers often request more, seldom request less

Project managers, the tip of the spear when it comes to customer projects, are also often managing requests for features. Customers tell them they need a button, widget, dial or gadget and it seems simplest to just add it. Rarely does a request come in to remove anything.

Features have immediate and ongoing costs

It's obvious that a new feature costs something to build. Most people consider this when deciding whether or not a feature is worth adding. The more important factor is the long-term costs that aren't so easy to identify. A single button can have an exponential effect on the number of test cases and unintended interactions. Documentation and support have to be revised and maintained. More features often mean more visual elements for users to process when using the software. These penalties often seem relatively tiny when viewed in isolation.

An automotive example

I was on a work trip driving from Minneapolis to a city several hours away in a rental car. I rented a Ford Focus, a car I actually owned in 2000. It was a dark winter night in Minnesota, so I took time to check the lights, made sure I knew to to operate the various wiper modes, adjusted my mirrors, and familiarized myself with the climate controls and stereo.

Unexpected company

After 45 uneventful minutes on the road, I made a quick stop for food then headed back out on the dark two lane highway. Twenty minutes later a car overtook me from behind. Rather than pass, he tailgated for a few annoying miles. Suddenly a flood of police lights had me pull over to the side.

As the patrolmen cautiously approached I fumbled for the window controls.

The car "helps"

As I was trying to unroll the window, the Microsoft Sync voice came over the speakers asking how she could help. I didn't know what I had bumped that caused this but decided to first get the passenger window down. As it opened the patrolman asked for my license. As I retrieved my wallet the car's computer voice told the officer she didn't understand the command, could he try again? I began to try to explain when the car interrupted and began listing some examples of commands she could understand.

I fumbled around for an "off" switch. Suddenly the controls I thought I largely understood were becoming confusing. I turned off the key but she kept talking. I pushed several more buttons. I pulled the key out of the ignition. She kept talking. Then I remembered that the power to the accessories remained on until the driver opened the door. I gently pulled the door latch and she fell silent. The officer seemed mildly amused as he said, "Rental car?"

Good design or a trap?

Ford's engineers had done an excellent job adding lots of additional features to this car without making it seem unfamiliar.

A myriad of optional features were present, but not obtrusive. I had left the airport confident that I could competently operate the vehicle. Under stress, however, the inadvertent activation of voice control had suddenly made me realize the large number of controls I hadn't paid attention to. In my attempts to silence the computer I had tried pressing many of them. Would I regret some of those actions later?

Taillights-off mode

The patrolman informed me that I was driving with no taillights. I told him the headlights were working and that they must have burned out. He said that he had seen this a few months prior on a Ford pickup, and asked me to try all the positions for the light control. I turned the knob to several positions. "That's it. Remember that setting."

While he went back to his car with my license, I studied the symbols on the headlight control. What seemed so natural an hour ago now looked like symbols on an alien spacecraft. The patrolman returned with my license and wished me good night.

A dubious feature documented

I'm still not sure why the car could run with the headlights on and the taillights off. Later I consulted the owner's manual. To improve accuracy and save costs, automobile manuals are modular to accommodate re-use across models and provide for optional features. In the manual, there was what appeared to be a single page showing the use of the lights. No where was there any mention of the possibility of using headlights without taillights.

If you were reading the owner's manual cover-to-cover you'd find two more pages on the lights. When was the last time you've done that? At the end of the third page, below several optional features that were irrelevant and further encouragement to stop reading, was this warning.

describe the image

I had to read it a few times before realizing it applied to me. Although I still wasn't sure how this all played out. Even if we were to move the warning to a more prominent place at the beginning of the section and clarify its language, how many people have read the owner's manual before operating their car for the first time?

A lesson for IT projects

Whether designing a car, creating a piece of software or customizing an application for your organization, managing whether and how features are added is an important activity that is too often overlooked. It is easy to see how a feature might help when used as directed. The real challenge is in being able to see potential unintended consequences the feature may create.

Whether you are designing, modifying or selecting software, it is tempting to just list all the desired features and evaluate its presence or absence. Much harder is evaluating whether the features provided are provided in a usable way. Don't assume that more is always better. Sometimes a feature like "headlights on taillights off" can create problems for users.

If you find yourself having to place warnings or cautions in the documentation you should be reconsidering either the presence of or implementation of a feature.

Software often has an advantage over car design in that it is easier to add custom features to software. The CMS I work on, RSuite, makes it possible to implement features for a subset of users if needed. Sometimes customers complain that some feature isn't included.

Balancing features and design

RSuite has a flexible user interface that can accomodate a wide range of features. Menus can be rearranged and reorganized easily. This makes it not only easy to make product changes, but also can be used if a customer wishes to customize RSuite for addressing specific business requirements.

When developing the product we strive to balance the impact of additional features against the overall product usability. This often means looking for ways to clarify, simplify or modify other areas of the interface. It is also vital to test for unintended consequences that may inadertently create potential problems for users. 

Reflect on your design

A major goal as we work on our RSuite product is to find ways to design RSuite's interface to support the highly flexible architecture while discouraging practices that might create problems that are invisible or difficult to correct. This is a primary consideration whenever a user-facing modification is made to the interface. Even though objective perfection is not possible in any design, we strive to examine each implementation and look for potential refinements that could benefit the product as a whole.

We've made a number of refinements over the last several months from these activities, and have identified more substantial changes that will be rolled out in upcoming releases. Some of these will actually provide additional features to users while reducing complexity.

Potential signs of design problems

There are some areas that often indicate potential design problems. None of these are a smoking gun, but they are good starting points when reflecting on a design.

Does the feature rely on an "Are you sure?" confirmation before performing an action?

Do you find your support staff complaining that users don't read the manual? 

Are you putting cautions and warnings into your documentation?

Do you rely on users to report problems? Remember users often are unaware of problems they may have inadvertently caused - instead blaming the software.

Are there "irrational" complaints or support requests that cannot be reproduced? 

Are there support requests that have been marked "as designed"?

Have you looked at what aspects of product implementation require the most customization effort, documentation effort, or training effort?

More is not always better

Sometimes they are right and we add the feature. Other times the request is narrow, and adding the feature would probably result in more harm than good. It is easy to overlook this whether designing, modifying or evaluating software. Creating a long checklist of features is tempting. But make sure those features don't leave your users in the dark with their taillights off.

Topics: software design, documentation

Comment below