“Hey, Mart, can you post the latest newsletter to my web site? By the way is that something I can do easily?”
I have many clients for whom I’ve built web sites. I usually try to let them make updates themselves through an admin interface, but even then, some clients would rather have me do the work.
For some people, updating their web site is about as fun and relevant to their job as filing taxes.
So what do you do when a client wants to be able to make changes to documents, or launch a blog, or post newsletters on their own web site?
WordPress to the Rescue (*assuming you drank the WP Kool-Aid)
I know many advocates of WordPress who say it’s just as easy to use as Word or Pages. They recommend it to all their clients. In fact, here I am on a WordPress site. And yet, I have a hard time recommending it for some of my clients, for many reasons:
- Interface overload can be intimidating for someone who just wants to publish some text. As I type I have a sidebar with 8 options; I see two icons above the sidebar that I don’t necessarily understand, as well as a few cryptic buttons. As a computer professional, I don’t find them intimidating, but to someone who doesn’t know what’s okay to ignore, it’s more cognitive load.
- WordPress requires an installation, of code and database.
- WordPress is popular among hackers and spammers — just the sort of security risk most of my clients don’t want to think about.
- WordPress doesn’t easily integrate with an existing design. Someone has to spend time customizing WordPress templates to sort-of match a site’s design.
- WordPress does HTML structure how it likes to which means your blog and your site may not look exactly the same, and they may not share CSS and JS, requiring twice the effort for every update.
Don’t Start with a Hammer
Some would say that WordPress is a great tool. But when your favorite tool is a hammer all your problems look like nails.
Rather than recommending yet another unnecessary WordPress installation, I asked, what is it that my “newsletter client” was already doing? And how can we painlessly integrate that into her web site.
Well, she had written a newsletter in Pages. There was minimal formatting — a headline, paragraphs, one link, and a photo. She created a document, pasted a photo and e-mailed it to her friends.
Would there be some way to write a document, without all the overhead of WordPress, and include it on a web site?
Of course there is.
Markdown is Simple
One of the best experiences I had editing a document on a web site was submitting a correction to the CakePHP documentation. The documentation is hosted on github. When you find a page you want to edit, you click a button that opens the page’s Markdown source. You make whatever changes you like, then submit your version of the doc to be reviewed, merged, and published.
Because it’s markdown, you can’t inject any malicious code. You can’t ruin the structure or the design of the page. You can only add text, with basic formatting. So unless you type gibberish, you really can’t do much to break the site; you are just adding content.
Markdown’s resulting HTML is simple and clean, unlike what comes out of WordPress. It plays nice with whatever template and style sheet you’ve already defined.
For my client to save her newsletter as Markdown would be a simple matter of exporting her already-written document as plain text, and cleaning up three things –
- adding # before the headline,
- changing her link to [link text](url) format,
- and changing the photo to ![Happiness Unshared](myphoto.jpg).
If she creates an .md (markdown) text file, it’s still not on her web site. Should she FTP the file into a special folder? That sounds like as much trouble as WordPress with even more risk.
What about hosting the documents on github? Well, it’s a nice idea but their system is entirely set up for hosting documentation. It’s not really usable for ad-hoc web sites.
However, the idea of committing code to a repository and pushing it seems like it might be pretty easy, especially if we find a very user-friendly program like Tower or SourceTree. She doesn’t need to know about source code or how git works, she only needs to know that she checks in her new newsletter when its done, and clicks Push when she’s ready to launch. (We already have an auto-deploy script running). Fixing a typo is as simple as editing the document and re-pushing it.
I think it could be easier and cleaner and less risky than WordPress. But I admit this could be one of my crazy ideas that’s more dumb than inspired.
I’ll visit my client on Friday and show her both options. We’ll see what she thinks.