A few weeks ago, I received an email notification from GitHub alerting me to a new, user-submitted issue in PencilBlue, our Node.js-based, open source content management system. The notification was titled, “WYSIWYG: Server running on Ubuntu generate [sic] ��� when pasting large chunk of text.”
I know almost nothing about the submitter, whose account has been on the site for four years. Most of his or her repositories are forks of others, and there’s no contact information on the profile. Although I can’t vet this user, we have to tackle this issue no differently than if it had been submitted by one of our partner companies. To complicate matters, the “large chunk of text” that’s generating unrecognized characters is in Chinese.
I don’t speak Chinese. We currently have no business interests in China, and we will be unlikely to create any of significance in the near future with a new, open source CMS.
The bug report links me to a website hosted in Hangzhou, a city two hundred kilometers southwest of Shanghai. The block of text in question is the People’s Republic of China Administrative Licensing Law, which, from what I gather after clicking Translate, has to do with obtaining legal permission to act as a representative of another individual.
I have to solve this issue for the user. We make a point to distinguish PencilBlue from the competition through our user experience, even if we have no control over who uses our product.
Ultimately, that’s what makes UX in open source content management such a daunting task. The limitless, unpredictable variance in use cases, combined with an ever-increasing demand for multi-language, “easy to understand” interfaces is difficult to keep up with.
To complicate matters, in the past few years, website administration has overwhelmingly moved out of the programming department and into the hands of marketing professionals. The CTO is still there to ask, "What does the system do?" But now the CMO follows up with, “Does it just work?”
At PencilBlue, we see this change happening in both small organizations that contract development, and in large, enterprise information systems departments. Next to wanting to migrate to Node.js, the second most common reason companies give for vetting a transition to our CMS is that non-technical staff have too much trouble managing the current platform.
Closed source systems can stave off this sea change by continuing to count on limited use cases and required training programs. But open source content management systems, on average, don’t have the same kind of entrenched, legacy architecture and business processes to count on. Our users regularly aren’t the proverbial cruise ships that take months or years to institute even the smallest change.
So what makes modern day, multi-language, open source CMS administration just work?
Mobile. Mobile. Mobile.
Smartphones have become so ubiquitous that seeing someone with another type of device is now considered out of the ordinary. Because almost everyone has some sort of touchscreen device, the interfaces users interact with most often are touch enabled, with drag and drop functionality, and are no bigger than the palms of their hands.
This doesn’t mean that the average website administrator is going to do most of his or her tasks from a phone. (If my wife is any indicator, blogging is going that way). However, the interface should at least facilitate use on tablets and touchscreen laptops—and ideally all devices—through responsive web design.
Another expectation derived from the sharp rise in small screen use is that all information displayed on the screen is relevant to the task at hand. For example, in the old methodology, if a user wanted to compose a new static page for a website, they would be presented with a single-page web form containing every required and optional field for the task. Although this passed before, to today’s user it looks cluttered and hard to understand ... well, it is cluttered and hard to understand. The average user just doesn’t have the patience to deal with it anymore.
We solved this problem in PencilBlue by breaking every interface down into multiple segments (tabs), ranked by their importance in completing a task. Although our static page form has more fields than the average CMS, we present fewer of those fields at any given moment than traditional interfaces.
Casual users might not even use half of the available functionality, because the bare minimum to solve a task makes up the first segment. The result is an interface that is rich enough for the granular needs of an enterprise CMS, but simple enough for a first-time user to figure out.
Can your platform do X?
The Chinese GitHub user’s bug with character parsing is in no way unique as a request for something we didn’t fully prepare for in our original planning. We’re even hit regularly with requests for PencilBlue to do something outside of content management itself. One of the downsides of managing an open source project is dealing with the fact that the average user can’t see outside of their own use case, and often expects you to consider their individual needs more important than those of the community.
You can certainly discount the vocal minority of users who expect a CMS to meet all of their custom needs, without having to do any customization themselves. But it’s important to provide a framework to those willing to put in the legwork, and the more flexible it is, the better.
These are all customization requests we’ve received on Twitter in the past week:
- "Is there a way to link custom data objects to a page in the admin console, so they can be used in a form?"
- "Can you modify a static page so it can only be shown to a user who’s logged in?"
- "How can we configure access to only select members listed in a MongoDB collection?"
You can easily see how providing a coding framework for manipulating your open source platform works heavily into UX.
Perhaps the best evidence for the power a customization framework has on your users’ experience is that we were able to answer all three of these questions satisfactorily in less than 144 characters.
You will be defined by your users
Marketers have coined this era of business as the age of the consumer. Posturing aside, the cold, hard truth is that the average person now sees products as more servant than tool, and open source software is not free from this shift in perception.
Those who fight the consumer’s desire for simple UX will quickly be dropped by them. The open source content management systems that succeed in the future will do so by putting the needs of the everyday end user above all else.