Why I Built The TKM Website Manager

In the previous post, I railed against custom code, then made a wane effort to defend my decision to create a custom CMS. The TKM Website Manager, which is currently only available to my clients, but which I’ve been debating releasing under the GPL or MPL, was designed to address a fatal flaw I’ve seen with most content management systems out there. Specifically – it works the way users expect a website manager to work.

We have trained users to think of web sites in terms of pages and URLs. In the past, when we worked primarily with static sites, we’ve given our users tools like Dreamweaver or Contribute to make content updates – tools that are either wildly dangerous if the user doesn’t have the time to really learn them or wildly inadequate, especially now that a majority of sites are dynamic and database-driven. Despite those flaws, they at least stuck with the page/URL paradigm.

Joomla is all about articles, menu links and modules and is so byzantine in its structure that making even simple changes requires an intimate knowledge not only of Joomla’s intricacies, but the entire structure of the site itself. To fit Joomla to our whims, we have had to make far too many compromises, and that’s the hallmark of a bad solution.

WordPress as a blogging platform is peerless. With every iteration, it just gets better. The folks who develop it are so well in tune with their intended audience that they do nothing but create value to make running a blog as easy as possible. As a content management system, however, it leaves a lot to be desired. Though it has the ability to create static pages, the content for the pages themselves is little more than a static blog post. The use of sidebars is a compromise to create more editable areas, but there’s little flexibility and any major changes require a developer to make drastic changes to the templates themselves. And I’m not a big fan of using PHP code in a template – it breaks the rule of separating logic from display.

Just about every other system purporting to be a CMS – Drupal, CMS Made Simple, PHPNuke, etc. – forces the user to completely re-think how a website works. For a technical user, this may be considered an interesting challenge. For non-technical small business owners preoccupied with the hundreds of moving parts of a running business, there’s no time for such a paradigm shift. It comes as little surprise then that they quickly get frustrated with their sites and let them lay fallow for so long, dropping them off of Google’s rankings and leaving them open to potential attack from malicious hackers.

The TKM Website Manager presents the user with all of the pages on their site laid out in the hierarchical navigational structure defined in their main navigation. The URLs for each page are plain to see when editing them so there’s no questions as to what page they’re editing. When they call up a page for editing, the areas they are allowed to change are outlined in red with a little box that reads “Click to Edit”.

I admit that, in the pursuit of flexibility, the module system has added a wee bit of complexity that some of my clients initially bristle against. However, once they click on a section of the page to edit and understand what their module choices mean, they can easily drop in forms, reuse content or simply add and update HTML content without requiring much technical knowledge at all. I find that, after an hour of training, a majority of my users just “get it”. And we’re talking about some truly non-technical people here – some of them outright technophobic.

It’s not perfect, and it’s not always pretty, but I’m constantly refining it according to the feedback I get from my users. But it makes running a website dead easy. I’ve built so much flexibility in to the code and structure that I’m actually turning it into less of a website platform and more of a web application platform. I’ve baked in SEO, access control lists and user management, form management and other features that most other CMSes require some serious plugins or re-coding to get working.

Right now I’m building a module for community profiles (to turn it into a mini-social networking site), a payment module (for paid subscription services and simple e-commerce functionality) and an email marketing module that will allow not only for Constant Contact-style HTML email sends, but also trigger-driven drip email campaigns so that users can automate the process of sending a series of newsletters to each new subscriber. All of these are reactions to features requested by my clients, and all of them, though complex, are made much easier to develop because I’ve built a solid foundation.

Most importantly, the TKM Website Manager allows me to rapidly build websites that, out of the box, perform the functions small business clients request the most so I am able to focus my attention on helping them make the most of their site’s content and enhance their online marketing efforts. I want my clients to be intimately involved with their websites, to be unafraid of updating their content on a regular basis to keep it fresh and dynamic so they are best able to service the needs of their customers.

Yes, I’m VERY proud of this thing.

Leave a Reply

 

 

 

You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>