At RebelLabs, we use WordPress as our content management system (CMS). A lot. Like, every day. And as with any technology you use everyday, it’s the bugs, UX and general shoddiness that gets discussed most loudly—you only begin to see the advantages of your current solution after being forced to use something else that’s worse and older!
After some experience with 2 other content portals out there, which will remain nameless, I realized that WordPress isn’t so bad, and probably ahead of the curve. But it’s hard for me to constantly deal with blatant feature gaps, and were I more sporting, I might issue a challenge the WordPress team to improve in specific areas.
If our two founders Jevgeni and Tom could figure out how to make the Java programming language more efficient with JRebel (shameless plug), then we figure the entire WordPress team and community might be able to hack away at some areas that represent, I feel, significant disadvantages to content management systems today.
I’m not a software engineer, and my HTML-fu is not so developed, so I can only provide my perspective as a content guy here. But a lot of developers I know host their own blogs and share content on CMSes like WordPress, and after working with JRebel for so long, why can’t a CMS that hundreds of millions of people use get a little more awesome? Where do WordPress, and other CMS’, fall short and fail to impress?
In my imagination, the ideal solution is part Google Drive, part Instagram and part Twinkie. If I were to create my own CMS that is based on features needed by a normal human being (i.e. not a super-hacker who’d spend 3 months writing his own set of libs), I could break it down into these 5 simple pillars, like the foundation of a fortress:
#1. My new CMS will maintain session state between saves
Imagine this: You’re in the middle of a 10,000-word RebelLabs report and you want to keep saving frequently to make sure all hell doesn’t break loose. But with each save, you have to scroll through miles of HTML in a 600 pixel-wide window. Upon a manual save, which should be more like auto-saves since the “restore auto-saved version” feature in WordPress is yet another demon I battle regularly, my cursor should remain exactly where I left it in the text, NOT refreshing all the way to the top.
#2. My new CMS will make content changes instantly visible with only browser refresh
I can tell all sorts of mayhem is happening whenever I make an update, but my only chance for optimizations are based on the hardware and processing power. I have a sneaking suspicion that the real change should be represented somewhere in the system architecture. The time drain isn’t much, but enough to be noticeable, and for simply updating a few words, it should be faster. Clicking and saving and tabbing over and refreshing is so old school.
#3. My new CMS will maintain integrity when switching between HTML and Visual modes
Yeah, sometimes you need to use visual mode in WordPress, ok! How about when you want to maintain pre-formatted colors or a wasps’ nest of hyperlinks inside of paragraphs—Visual mode saves you quite a bit of time. However, switch back and forth between these, especially when <code> tags are involved, and you might find yourself in formatting hell. One example: when copy/pasting, WordPress will insert the unnecessarily long <p dir=”ltr”> tag instead of <p>. For what it’s worth, it used to be worse, but still leaves a bad taste in your mouth. Like poi.
#4. My new CMS will be more web- and user-friendly
Ok, I’ve made 87 revisions to this post, and it’s ready to go out. Now to hit “Publish”…WHAT, I’ve been logged out?! And the auto-saved version isn’t the most recent one? And someone else is now in there editing at the same time as me? (to be fair, WordPress recently added a little popup to alert you to this)…but you get it. You are frequently left confused by whatever private backend mojo is taking place while your little rainbow wheel cheerfully spins to your doom. Maybe this isn’t crucial functionality, but people have expectations, and your app, no matter where it’s used, should bring you insight, not leave you in the dark.
#5. My new CMS will, every time I use it, make me feel like I’m gaining advantages–not adding stress and complexity to a critical process
Perhaps its ridiculous to expect an Apple-like experience with every tool or technology we use, but if you’re a developer working on software that doesn’t make someone out there go “Wow, this freakin’ rocks, I’m so happy I discovered you!”, then I salute you for staying committed to a potentially passionless relationship with your app. For example: As a music fan, when I come across an awesome new band—nowadays made infinitely easier with Spotify to be sure—I feel like I won a mini-lottery. Just seeing that this cool new band has another 4 albums that look promising—well, it’s one of life’s little satisfactions for some people. In fact, Spotify is a good example of an app that inspires a positive reaction by using it, which is something that any app can at least aspire to.
If I were a software developer, I would expect some cool toolmaker to come around with an elegant, simple solution for this–but until the monetization of blogs fully takes over in the Content Revolution, I see no light at the end of the tunnel. It’s been suggested that I could take another path, but whatever we do has to be accessible by both technical and non-technical staff, so unfortunately we won’t be migrating to Git and HMTL/CSS/JS files—indeed, tools like WordPress were created probably specifically to enable non-coders to get blog posts out on the interwebz.
So it ends with this short, well-intended wish-list (is it too late for a New Year’s Resolution?) for the CMS world. I’d love to hear about alternatives that carry forward this functionality, which I simply don’t believe exist today. Maybe this article will encourage the development of more iterative systems, like I describe above.