Today I learned something that took me almost four years to learn. Don't design software and the write code for it too. After years of tinkering with code on some little CMS project of mine, I realized that the quote "Keep it simple, stupid" is very true. When I think of things they always have some fantastic potential as something unique or big, but when you have to execute the plan it isn't as simple as it looks. I remember from All Quiet On The Western Front by Erich Maria Remarque at the beginning of the book when the schoolmaster urged his students to goto war and fight, while he stayed behind not having to live the horrors of war. It's easier said than done.
When I started writing 'MogLog' (probably it's sixth name variant) I had ideas of a reward based system for users (like the old Half-Empty), a Jabber enabled chatterbox feature, inclusion of every API you can think of and then some. It was the perfect content management system, not only a CMS but something special and unique. Basic features went along nicely, but everyday a new idea would come and work would begin on that idea, followed by another idea and the abandoning of the previous one.
Some days I would want to post content, but something was always in the way. The Jabber system wouldn't work so therefore I had to fix a bug so the site was viewable and after doing that I would be exhausted. Things get very out of control very quickly. At this point I'm a software designer, programming, and managing editor.
I worked on the system off and on for a few years, and I continue too, but now with a different outlook. You don't have to be a superhero, no one cares about logging on to Jabber while viewing your site, or if you have the Manilla API. Things are a lot more simple now. All I want is a weblog. Forget the Wiki functionality, and user theme selection. Now I keep a list of things that need to be fixed from a few years of half completed projects. Going through the directories and database tables I can see old ideas that were anywhere from brilliant to ridiculous, but for now it's a casual deletion of a field or file. I don't feel like I'm deleting anything of value because the ideas are still in my mind. If I want want to incorporate the Amazon API and Jabber, I'll know what to do and where to start, but for now it's important to finish what I've started, or at least get it to a presentable form. I doubt I'll every be finished totally, but at least I'll know what I've done to that point is quality code.
Keep it simple, stupid.