Time To Build A Replacement For WordPress
For years I’ve been talking about building my own CMS system to replace my WordPress hosting service. It’s time for me to quit procrastinating and get to it.
WordPress is a great system for simple website/blog. But almost every one of my customers has problems using it for their commercial web sites. It’s just too hard for them to understand. Once they figure out the basics of WordPress they run into the visual editor problems. You just can’t make good-looking web pages using the WordPress visual editor. So you have to switch to text mode and learn HTML. My customers really don’t want to learn that. They just want to update their web sites and for the updates to look good.
Another problem with WordPress is that it’s horribly slow. Sure you can add caching plugins and build custom themes, but it’s still not as fast as serving static pages and assets. It’s doing too much rewriting and processing. 99% of my customers don’t even need dynamic pages. Static sites would be just fine if I didn’t want the customer to edit their own content. I’m looking to do less work, not more.
I have looked into a great deal of other CMS systems and have not found anything that fits. They all are the same UI that doesn’t really match what the end-user wants to do. Then others are way too complicated for the job they are doing.
I came up with an idea while working at DealerTrend many years ago when we started using grid layouts. If there was just a grid that my customers could add text, graphics, and widgets to that’s all they need. Excel for web sites really.
Not only will it make it easier for my customers it will also make it easier for me to build out web sites. I won’t have to mess with customization to themes just to put a menu above the header or below it. I don’t have to use complicated CSS overrides to tile info blocks. In fact overriding CSS won’t even need to happen.
A few years back I wanted to build this new CMS as a CouchDB app. Just HTML, JavaScript, and CSS in a CouchDB. To install it you just replicate it from the main server. Then you can host it across 100 CouchDB nodes if you wanted. CouchDB serves assets and everything. It works well. But it seems that CouchDB apps never really took off. Especially now that CouchBase is around. I should at least give it a try.
So each page will be a document in WordPress. It will just be served as a static web page with a bit of rendering. This way every page can be different if you want. You can clone a page or create a whole new page. The UI will just be a menu bar at the time and a grid that you can add stuff to below that. It’s just so simple.
Widgets will be just that. Plugins that you install and add to your pages. A widget could be a calendar, text cloud, menu bar, side-show, or whatever. I’m not sure how I’m going to implement widgets yet. I’m guessing they will be HTML/JavaScript/CSS that is embedded in a document page. I guess it could really be just that simple.
I will really need to brush up on my JavaScript skills now. Time to start learning.