Archive for the ‘usability’ Category

Deane Barker: Editors Live in the Holes

Thursday, August 5th, 2010

A few days ago I read Deane Barker’s excellent post Editors Live in the Holes (go ahead and read the post and then come back) and I have been thinking about it ever since. I have had the same experience several times and it is a good reminder for developers to pay special attention to configuring and testing the rich text editor. As Deane points out, it is too easy for developers to disregard “the holes” as a contributor problem, not a system problem.

To get it right, the holes need to be jointly owned by the designers, developers, and content contributors. Designers need to design for flexibility. Developers need to do everything they can to make contributors successful. But this raises something of a chicken and egg problem — at least for new CMS implementations (as opposed to migrations). In these projects, content entry typically occurs after the system is considered complete. This means that the designer and developer need to anticipate what rich text capabilities (formatting controls and the styles that control the display of rich text) the contributors will need. This is particularly important in the ever-present “generic page” content type that is typically used for the many one-off (odd ball) pages that exist in any website.

I have found two good techniques to get around this problem. First, it is good to test the rich text editor with a few of the more challenging one-off pages on the site. Take a page with embedded images and objects (like perhaps a Google map) and formatting and try to reproduce it in the rich text editor. Don’t disable the rich text editor and edit the source. That is cheating. If it turns out you can’t do it without pulling your hair out, you need to come up with a work around. If it is a really important page, you might need to develop a special content type and/or presentation template that does some of the work. If you find that there are too many challenging one-off pages to choose from, you might step back and consider enforcing more uniformity between pages. Otherwise, you will probably not be getting all of the value (content reuse and manageability) out of a CMS.

The second technique is to build a “style guide” page and place it in some discrete area on the site. The style guide page is a generic page that contains examples of all the stylings that are available to the contributor. For example, every heading level, paragraphs, lists (ordered and unordered), tables, embedded images, etc. The content contributor can visit this page to get an idea of what is possible and then open it in edit mode to see how the formatting was executed. The process of building and reviewing the style guide page is a useful forum to get designers, developers, and contributors together to collaborate and align. The fact that it is so tangible grounds everyone in the real capabilities of the platform. The style guide page is also the first place to check updates or enhancements to styles after launch.

At the end of the day, designers, developers, and contributors all want the site to be a success. They can’t just claim victory on their little piece (“the mockups were approved,” “we got out of QA,” or “I got my page to preview!”). Editors may live in the holes but everyone has to keep the holes clean.

Keeping your content DRY

Thursday, July 22nd, 2010

After over 10 years of working in content management, I have come to realize that there is only one way to learn the value of managing structured information: the hard way — and that way is only 50% effective. People can intellectually accept concepts like content re-use and content/layout separation, but in the heat of the moment, few can resist the siren song of a word processor and the clipboard. Pasting in a bunch of text into a rich text area (and then re-formatting it) provides so much more instant gratification than data entry into the fields of a structured content form. It is only after a number of painful global content changes that people come to realize that the value of all that painstaking WYSIWYG work has a very short shelf life. It is not until a migration onto another platform that one becomes aware of all that semi-redundant content. But that realization only happens around half the time. The other half of the time the site’s unmanageability is blamed on the CMS. A clear sign that the content manager didn’t make the connection is when there is a requirement that the new CMS have a global search and replace feature.

As someone who has seen many companies succeed and fail (and really fail) with content management, it is easy for me to notice these patterns. But that doesn’t mean that I can make anyone short-circuit his/her learning process. If I were able to forcefully impose a highly structured content model on a client, all they would notice was the complexity of the content entry forms. They would take for granted the downstream benefits. The best you can do is gently guide and hope that guidance will lead to recognition when the site becomes unmanageable. I don’t get too worked up about it. If I get frustrated, I can just talk to my friends in the DITA/XML advocate community. Their pain in working with technical documentation teams is way worse.

In the software development world, we have the concept of DRY (Don’t Repeat Yourself). The idea is “every piece of knowledge must have a single, unambiguous, authoritative representation within a system.” I call the opposite of DRY WET (Write Everything Thrice) or DAMP (Developer Accepts Maintenance Problems. Hat tip to Brian Kelly). This means copying and pasting code (rather than referencing it) or writing the same data over and over again. Part of the development process is recognizing patterns and coming up with ways to reduce redundancy. Good developers are constantly thinking about maintaining the code they write because they will inevitably need to add a feature of fix a bug. And the feedback cycle is really short for developers. You write a bit of code, test it, fix it, write some more code, test that and the first code you wrote, fix it…. If you did anything stupid, the time you have to wait before suffering for it is usually short. I am not saying that all developers practice DRY, but they have a better track record than content contributors.

Most content contributors don’t have that short feedback loop. Too often, content is considered a “set it and forget it” initiative. You publish and move on. But I am seeing two positive trends in the content management industry that may shorten the feedback loop. First, there has been some great thought leadership around solving the “post launch paradigm”. Second, many CMS vendors are building in analytics and multivariate testing functionality that encourages the content manager to constantly tweak a website to maximum performance. My hope is that awareness of this functionality will compel buyers to think of their content in a more dynamic way — something that evolves and improves like software. Then maybe we will hear content managers talking about their websites being DRY, WET, or DAMP.

Never say “User”

Friday, June 11th, 2010

Ever since I got into web content management, I have advised my clients to avoid the word “user.” It’s a useless word because you are never quite sure if someone is talking about a user of the CMS, or a user of the website. For this reason, I get my clients to adopt the words “contributor” and “visitor.” A contributor is a person that contributes content or participates in the content workflow of the content management system. A visitor consumes content on the website.

The primary goal of a content management system is to mediate between these two populations. If a CMS was only to think of the contributor, the content would be poorly structured, cluttered, chaotically structured, and hard to find. By the way, pretty much every organization has one of those systems — it’s called a shared drive. If a CMS only represented the visitors (or other consumers of content such as other systems), it would insist on extremely fine-grain structure for maximum reuse, pristine HTML (sorry, no WYSIWYG editors), and perfect quality (hello 10 step workflows). The CMS applies structure and rules to establish a compromise between these two groups.

Web 2.0-style sites jumble this model up a bit because the line between contributor and visitor are blurring. Visitors can potentially contribute. Web content management systems like Drupal, Plone and many others merge the contributor interface into the externally facing website. These platforms tend to call registered users (contributors and visitors) “members” and, by default, allow members registered themselves. The distinction between a self registered member and a “SuperUser” is just a matter of permissions.

I still think that the distinction of contributor and visitor is useful because members need to wear different hats. Sometimes they are visitors on the site simply trying find something. Other times they are contributors wanting to post something. The CMS is still mediating but instead of mediating between different types of users, it is potentially mediating between the same user in different contexts. It forces the contributor to put in a little extra effort to make life easier when he becomes a visitor. It would be a little like Clippy telling you “Oh, you don’t want to use that file name and place that document there because you will NEVER find it again! And while you are at it, maybe you should print that out because you messed with the margins and I bet its going to look like hell.” Clippy doesn’t do that and we still find him annoying. Now you wonder why nobody loves their content management system?

Supporting Internet Explorer 6

Wednesday, April 14th, 2010

IE6 not supported on Microsoft.com

Over the past few days, I have been involved in a number of conversations about supporting Internet Explorer 6. Arguing about when to drop support for outdated browsers is a sport that is as old as the web itself. There is nothing really new here but the IE6 support debate feels particularly emotional — not as charged as back when people were arguing for only supporting Internet Explorer, but close.

IE6 had a really long run. It was Microsoft’s browser offering for 5 years (late 2001 through late 2006). Up to that point, Microsoft was releasing a major version of IE every year. Now it looks like they are settling into a pace of every other year. That means that IE 6 was installed on a lot of computers. In particular, a lot of computers that were bought when internet usage was starting to get really ubiquitous. In many businesses and households, these computers were bought as an internet appliance with a really long expected lifespan — like a refrigerator or a telephone. Companies are hanging onto their old IE6 computers. Vista’s flop means that Windows XP is still the corporate standard and IE6 comes with XP. Unless you have a technical or information-intensive job or are working at a new company, chances are you are on a highly locked down, old Windows XP computer that your employer begrudgingly bought to give you access to email and the intranet. Your employer doesn’t want to upgrade your machine unless absolutely necessary. That usage pattern has caused IE6 to linger longer than other browsers. See how IE8 seems to eat up more of IE7’s market share than IE6’s?

Internet Explorer Browser Share

Not only do the numbers of IE6 user continue to be significant, the types of users seem to be desirable as well: internet n00bs that click on ads and buy what they see (with the money that was not taken by Nigerian 419 scams).

Technical people have little empathy for these types of users. The first thing we do when we boot up a relative’s computer for home tech support is stop the malware/adware processes, install Firefox, and hide the IE icon. As developers, we know that a requirement for IE6 support translates into maintaining two code bases: one that uses all the goodness of the latest HTML and CSS standards and fast Javascript engines; and another that is a bundle of hacks to compensate for IE6’s quirks. Many web development firms I know are starting to charge an additional 20% – 30% to include IE6 support. They are not price gauging. This is probably less than the actual cost. The customer will probably invest an even larger percentage of additional resources to maintain the application.

For this reason, an increasingly larger number of websites are discontinuing support for IE6. They have done the calculations and have decided that the convenience for the IE6 hold-outs is not worth additional cost and drag on innovation. I don’t mean to sound like a jerk, but big web properties (like Google, Microsoft, and Content Here) dropping IE6 is a good thing for everyone (almost):

  • Visitors will have a greater incentive to upgrade. If they can’t upgrade on their own, they can make the case to their employers that running a 9 year old browser is not acceptable.
  • The more modern technology will increase overall security
  • Web sites and applications can be developed more cheaply and with higher quality.
  • The spending to upgrade outdated equipment will be good for the economy. Companies and households don’t have to buy $2,000 laptops, they can probably get away with cheap NetBooks.

This site never supported IE6. If you are stuck on that browser, I am sorry for the inconvenience that I have caused. But, I figure you are used to browsing broken websites by now :)

Hippo’s New Version Compare Functionality

Monday, March 29th, 2010

Arjé Cahn recently screencasted a demonstration of the new version compare functionality that will be released in Hippo CMS version 7.4 (due June 2010). While (as Arjé concedes) versioning and version compare are nothing new, the Hippo team has added a subtle twist that I think makes a vast improvement.

When an approver is reviewing a change to a previously approved asset, Hippo CMS defaults to a version compare view. Adds, changes, and deletes are highlighted by color and strikethrough (see screenshot).

The concept reminds me of source code control system commit emails that highlight changes to code whenever anyone checks anything in (click on screenshot for a larger view). I do a lot of web development team mentorship and I have come to rely commit emails.

SVN Commit Example

They allow me to quickly determine if there are any material changes that I need to dig into and saves me loads of time (in the case of the screenshot example, no important changes have been made). I am wondering if the Hippo implementation adds excerpts of changes in their workflow notification emails. That would be convenient.

I really like the Hippo team’s pragmatic approach to enhancing Hippo CMS. Rather than adding lots of a new “checklist” features (that make the product more complicated), they tend to focus on refining and streamlining functionality that customers probably already use. It is that “make it suck less” philosophy that makes software continuously better for the users but tends not to get recognized by most analysts and buyers.

Keep up the good work Hippo!

My Microsoft Office CMS Analogy

Monday, March 22nd, 2010

The other day I was trying to describe to a client how content management systems are different. My audience was not familiar with some of the core features of a CMS so my examples were too abstract to get my points across. However, they were familiar with Microsoft Office so I used that as an analogy. They found it quite useful so I thought I would repeat it here.

The Microsoft Office Analogy of Web Content Management Systems

Imagine your boss wants you to “put down a few thoughts” on a topic to share electronically with a group. You might choose to create a Word document, a PowerPoint presentation, an Excel work book, or maybe even an Outlook email message and then start typing out a list. Because you just want to capture some ideas and your boss was so vague about the format, it doesn’t really matter what you choose. Your boss asked for ideas, not a deliverable. Let’s say you choose PowerPoint because you have a nice looking master template and you figure a few bullet points would look nice in big text on one slide. It doesn’t hurt that you are really comfortable with using PowerPoint.

So you show your boss the PowerPoint deck and he wants you to elaborate more. You have used terms that need to be defined and he wants you to support your points with some background information. This “few thoughts” is starting to sound like a memo or a report. Now PowerPoint is not looking so good. What do you do? You can start to overload PowerPoint’s features to make it work like a word processor; or bail out and copy/paste everything into Microsoft Word. You will probably make this decision based on how familiar you are with PowerPoint vs. Word, how particular your boss is going to be about the format, and how long this document will live. If you make the wrong decision, fighting the technology will start to dominate the time you spend on this project. Every change will risk blowing up the whole document.

Strengths and Weaknesses

Like all analogies, this had its strengths and weaknesses:

Analogy Strengths

  • Many companies choose a CMS for arbitrary reasons without really understanding their requirements. When requirements are vague (like “we just want a simple website”), all options look equally viable.
  • Stakeholders often have tacit but very specific requirements. e.g. “I will know it when I see it.”
  • If you really know a technology, you can force it on a problem by overloading features and redefining the problem. For example, while the MS Word user sees a bunch of paragraphs, the PowerPoint user sees a series of vertically arranged left-aligned text boxes. However, eventually these solutions tend to become unstable, especially if they need to get supported by different people.
  • You need to know when to swap tools. If you do it too late, you waste too much time misusing the old technology and you have more content to move over.

Analogy Weaknesses

  • My client immediately wanted to know which CMSs were like Word and which CMSs were like PowerPoint. You don’t want to go too far with this analogy because a CMS is more than a document editor.
  • The switching costs from one CMS to another is much much greater that from one document format to another. If this was a CMS implementation, you want to ask your boss to clarify where this project is going before you pick your tool.

While not perfect, I think this analogy did its job of making people think about CMS selection in terms that they can relate to. They can now visualize themselves misusing the wrong tool to get the results they want and living in constant fear that one more hack is going to bring the whole site down. They are now thinking about their website in terms of a development roadmap that will be influenced by different stakeholders over time. They can relate to how people have a difficult time expressing requirements that they know tacitly and can apply familiar skills to get clarification. As long as I can keep them from over identifying the website with a MS Office document, I think I am going to be OK.

The Myth of the Occasional CMS User

Wednesday, February 3rd, 2010

Not long ago, a university hired me to evaluate their CMS implementation. They were having doubts about their CMS selection because the implemented system was not living up to the lofty promises that got them the budget for the project. It turned out that they did make a reasonably good platform choice but they failed in two of the other critical content management success factors: expectation setting and project execution. The project execution wasn’t horrible for a first try (they were working with a systems integrator that was new to the platform) and there were some remedial efforts already in progress to clean up the implementation. What was really killing them was that a primary goal for the CMS was the notion of “self service.” They wanted their faculty to be able to edit their own profile pages. These faculty pages were more than a simple staff directory. Each entry was intended to showcase the experience and accomplishments of the professor and included a CV, a career narrative, and a history of publications. To maximize content reuse, the content model was highly structured — thereby increasing the complexity of the content entry forms. They might have been able to scale back on the detail but the amount of content they were looking for was not trivial: especially for an individual whose chief concern was not keeping a website up to date.

Often, one of the big justifications for a CMS is removing the webmaster bottleneck and delegating content entry to the people who have the information. The implicit assumption is that everyone wants to directly maintain their portion of the website but technology is standing in the way. But if you visit a CMS customer a while after implementation you are likely to find that the responsibility of adding content is still concentrated in a relatively small proportion of the employee population. Either the CMS never gets rolled out to the anticipated user base or it is rolled out and the user base fails to hold up their end of the bargain so the core content managers take back ownership. There are plenty of exceptions to this generalization — especially when there is an individual who has taken responsibility for outward (or inward) communication for his/her sub-group. For example, you might have someone from the human resources department whose job depends on communicating corporate policies to the staff.

You could interpret failed adoption as evidence of poor usability. That was my client’s inclination. But you need to consider the usability of the other alternative, telling someone else to do add your content for you. Prior to the CMS, a professor would only have to send a terse, typo-riddled email containing some research references or a CV and the marketing department would clean it up, fill in the gaps, put it in the right style, and handle all of the coordination. How can you beat that? You can’t.

Usability can’t take the place of ownership and responsibility when managing content. As long as the marketing department owns the website, they will have the motivation to maintain it to the standards that they have set. It would be unreasonable to expect a professor to put the website above his other responsibilities: teaching and publishing academic books and articles. When the marketing department needs to spend a lot of energy cajoling and coordinating a professor for content, it is usually easier for that marketing department to do the content entry too.

Generally speaking, you can’t delegate content authorship beyond the perception of site ownership. A good strategy is to centralize content authorship and give a relatively long turn around time (perhaps 5 business days) for site update requests. Those who do not feel ownership of the site will be fine with that lag. But those who are annoyed by the lag (or their staff) are good candidates for becoming content contributors. To them, using any CMS will be preferable to waiting a week. If they do complain, their criticism will be about needing more control to produce more elaborate content rather than needing simplicity for basic edits.

Once you scale back your expectation of distributed authorship, the role of an occasional user gets less important. The occasional user is certainly less important than the primary content contributor role or the engaged users that prioritize website management in their list of responsibilities. You shouldn’t buy CMS for the occasional user. You should buy a CMS to maximize the effectiveness of your core users who are primarily responsible for the content and performance of the website.

In-Context and Power User Interfaces: One for the Sale, the Other for the Content Manager

Monday, February 1st, 2010

A dirty little secret in the CMS industry is that, while in-context editing is often what sells a CMS, the “power user” interface is usually what winds up getting used after implementation. This phenomenon obviously creates problems in the selection process because, when the sales demo focus on an interface that users will quickly grow out of, any usability impressions are irrelevant. This is also part of a bigger problem: the importance of in-context editing for sales has caused many CMS vendors to neglect their power user interface.

It is easy to understand why the sales demo gravitates to the in-context user interface: the audience finds it more intuitive. What is less obvious is why. In a typical CMS sales demonstration, the audience has the perspective of a site visitor. After all, this is not their site. They have no responsibility for it. As a site visitor, we think of editing the content that we see: “I see a typo;” “that sentence is hard to read;” “I would prefer to see another picture here.” The user just wants to go in and fix it — like a Wikipedia article. Until it’s fixed, that content issue is going to bug the user so directness and immediacy are critical. Like with a wiki, the in-context is ideal for solving these kinds of problems.

The content manager, however, has an entirely different perspective. The content manager is thinking more about the whole web site than any one page. The content manager has to solve problems like re-organizing the website and making global content changes. Needing to manually change every single page of a website is not acceptable so content reuse should be top of mind. From this perspective, the appearance of a page is less important than the actual content, which also includes information you can’t see on the page but drives the behavior of the site. You can even go so far as to say that the visible page (what the visitor sees) actively hides information that the content manager needs to see. The visitor shouldn’t know where else a piece of content is featured on the web site or what caused the personalization logic to show this item in this particular case — but the content manager does. Incidentally, this is why you should make product demos focus on scenarios. Scenarios force you to think about what the content manager does – not just dream of being able to edit somebody else’s web site.

Yes, you can make the argument that the occasional content contributor (who 80% of the time experiences the site as a visitor) needs a simplified user interface to fix the issues that they notice or keep a few bits of information up to date. But, as an organization gets more sophisticated with managing content, those cases of simplistically managed pages (with no reuse and no presentation logic) get less frequent. At that point, you are just talking about the “about us” page and some simple press releases. Are you surprised that this is what your basic generic CMS demo shows? Furthermore, I am beginning to believe that the occasional user is a myth (another blog post).

In-context editing interfaces are steadily getting more powerful by exposing functionality like targeting and A/B testing but there inevitably comes a point when the content manager wants the full power of the application at his fingertips. As the in-context editors get better, that point gets pushed further out. But adding complexity and power to the in-context editing interface will no doubt steepen the learning curve for the occasional user and minimize the wow factor of the demo. And no CMS vendor will do anything to reduce the wow factor of their product demo.

The world’s worst WCMS

Wednesday, November 4th, 2009

I just read Philippe “@proops” Parker’s tweet:

there’s no “best” wcm, says @jarrodgingras, but is there a worst one? #fixwcm

My 140 character or less answer is “No” but I have more to say so I will elaborate here….

There is no worst WCMS. In fact, I would go so far as to say that every WCMS is (or at least was) the best WCMS for someone. The reason is this: every WCMS product was built to someone’s specifications. Some WCMS development projects fail in their mission but we rarely see the products of those projects in the marketplace. What we do see are the products that delivered so well on their specification that somebody had the bright idea to get into the business of repeating that success for other organizations.

So every WCMS, at least at one point in its lifetime, was someone’s best WCMS. But software is not static. It changes over time (at least it should) and it is quite possible that poor product management can make software worse. I see that as a very real problem for many of the software products in the marketplace. It takes discipline to avoid feature bloat that clutters the application and makes it less suitable for its best use. Software companies that look to competitors and potential customers for guidance are more vulnerable than companies that listen to their customers who are already using the software.

There is a great philosophy in software product management called “Make it suck less.” The idea is that, rather than add new features to draw in new kinds of customers, make life better for people who already use your software. That is, don’t ruin the software by trying to please everyone.

Sadly few companies take this approach and, as a result, the race to make worse software has a bigger, more competitive field than the race to make better software. Therefore, nobody is going to win the dubious distinction of the developer of the worst WCMS – its going to be a big tie.

What the Customer Really Needed

Friday, August 14th, 2009

This great cartoon showing how a product is understood and described by different stakeholders is definitely going in my toolbox for explaining project disfunction. My explanation will be that you can’t start to achieve a common understanding of something until get visual. If everyone got together and drew a picture of the solution and then regularly checked in as it was incrementally built, the potential for miscommunication would be nearly zero. Proofs of concept, prototypes, and pilots are useful for communicating more complex functionality — Much better than a lengthy detailed written specification.