Most of the software development I do is web-related, as I am co-owner of a web agency along with other folks who do graphics, marketing, and a ton of other different things.

As even my dog knows, most of today web sites are dynamic: they’ve got a database underneat which provides the contents. And there is an administrative area where customers insert and edit contents: while this is a great thing in itself, customers (of course) want to edit the graphic aspects of what they insert, from a bold text to the alignment of an images to the insertion of a list/table. So some WYSWYG web editor, such as CKEditor, is usually provided.

This thing works out nicely only sometimes, as most of the customers don’t have any knowledge of how an HTML page works: of course they don’t, as they do entirely different things in their life (in my case they mostly run medium-sized companies which manufacture various type of metal items). So, bad things usually happen:

  • They change the font face (sik!)
  • They paste text directly from a word processor
  • They give fixed dimensions to images and other elements, thus screwing up the carefully studied responsiveness of the web site
  • They try to align elements or other things, but then the CSS used on the public web site changes everything
  • They (usually by mistake) past dangerous/unwanted content (i.e. JavaScript code)

Some of these issues can be (partially) resolved by filtering the content which gets inserted. Others are simply impossible to deal with.

There’s a simple solution, well known to all developers, which should be taught to customers, even (especially?) non-technical ones: Markdown, or one of its many extensions/variations. The advantages of using such markup language are immense:

  • It’s dead easy to learn
  • It allows for enough graphic customization while still staying within the boundaries of decency
  • The generated HTML is generic enough to be good with any CSS sheet used on the web site
  • It’s easy to make it generate only safe HTML
  • You work directly on the source, which is very readable and has no XML tags
  • The created content can also be used as plain text, and it looks great

So, web agencies should really teach Markdown to their customers. It may be not easy to convince them to leave the WSYSWYG editors, but it would be of great benefit for everybody: users browsing the web site, web agencies, and web agency customers themselves.