views:

75

answers:

2

I've worked with several different types of "user-generated content" sites: wikis, a message board, blogs... These systems can differ greatly: a blog post editor allows more control over presentation than that for comments on the blog post, a wiki topic editor encourages wiki links over raw URLs, etc.

However, one key design decision is common to each: should I provide the user with a simplified markup language such as Wikitext, Markdown or BBCode, forcing users to learn that, or should I give them a WYSIWYG editor like CKEdit or TinyMCE and filter or transform the resulting HTML behind the scenes?

There was a time when I thought this was a simple matter of classifying my intended users: tech-minded users get markup, non-technical get WYSIWYG. In practice, this hasn't worked out all that well, occasional users struggling with markup and the WYSIWYG editors providing at best a leaky abstraction for the underlying HTML.

So with my initial confidence throughly crushed, I come looking for advice:

  • What factors should I be taking into account when making this decision?
  • Have simple markup systems become commonplace enough that I can rely on most users having at least some familiarity with them?
  • ...Or should I abandon them as merely a relic of the past, and work on finding ways to make WYSIWYG work more effectively...?

I'm not looking to go back and tear apart what I've already done. For better or worse, these systems are working, their few users comfortable or at least competent by now. But it would be nice to have some better guidelines when putting together future designs.

A: 

"What factors should I be taking into account when making this decision?" What do your customers want? Can you not have a 'fall back' kind of system where the 'simplified' WYSIWYG can be used until they need the added features of raw markup? What kinds of things do the most users use most often? What features are used less often but, when they are needed, you customers cannot live without?

"Have simple markup systems become commonplace enough that I can rely on most users having at least some familiarity with them?" For people using wikis and blogs, I think the answer is yes. Even commenters on blogs to some extent for the simplest things but again, I think you should let them do markup in-line if they are able (or some common sub set of markup) and have the option of more power if they need it.

"..Or should I abandon them as merely a relic of the past, and work on finding ways to make WYSIWYG work more effectively...?" I would not take this all on at once. Work from a solid kernel of functionality and work outward to a complete system.

Ichorus
+2  A: 
Carl Smotricz
The duel-editor idea appeals to me, but kinda feels like punting the decision off on users who may not be equipped to make it. I know for the Google Blogs editor I've usually done the same as you - gone with raw HTML simply because the WYSIWYG editor failed to allow something I needed; I wonder if it wouldn't have seen more improvements if the fallback option wasn't there. Still, good answer, especially regarding security and raw HTML - thanks!
Crassgod
Here again, I'd make the simpler option default, as your simpler users will be oblivious to the alternative. See, problem self-fixes automatically :)
Carl Smotricz