The when and why and how and stuff probably isn't as important... but I'll start there anyway!
I'm working on a project of my own, and its based on multiple WordPress Blogs. There is some interconnectedness (wow, that's a word!) between them, such that I started to realize a major design problem. The project is a "local business directory" for some of the communities in my area. My plan has been to give the local businesses an internet presence, sort of like the many other free listing sites. Originally that was going to be a way to kind of introduce my computer repair business to the local community, and maybe I'd get some website business from it. We'll see how all that goes.
An added bonus of building the 3 directory blogs is I got to really get into the code. I made my own "child" themes, that are based on Wordpress themes, with out really having to go through the time consuming steps of writing everything from scratch. This isn't so much a post today about how to write a theme, but I'll try to summarize quickly... No, that would take too long. Anyway, I got to write some code, edit some other code that was there, and I had something that kind of worked.
Then the real learning and thinking started to happen.
I've been writing my own websites since about 1999 or 2000. Most of them weren't very good, technically, but it was fun to learn how things worked. I'd learn a new trick, and then I'd tweak it and pretty soon my site worked more or less how I wanted it to!
Then about 5 years ago, I learned about using a database with a website. That opens up a LOT of new possibilites. For example, instead of having to actually write each page from scratch, you can write a "template" page, and then based on some choices, the server creates a new page on the fly. That's huge, because if you ever want to make a big change in the look of your page, instead of having to change 400 pages, you might only change 4 or 5 lines of code, and you're done. Genius!
Then I discovered WordPress blogs.
WordPress uses a back end database to store everything. It uses templates and themes. And its got a very nice user interface, so its easy for people to add their own content, make their own changes etc. That has really been the biggest problem I see with my customers. Someone once sold them on the idea of having their business on the internet. This "Web Master" guy creates the pages, and everything is wonderful. If the web guy is any good, he's eventually going to get really busy. Now the customer thinks "Hey, I'd really like to add a new page to my website". Call the web dude. Either he's out of business, or too busy to answer the phone. And dang, websites are so complicated, that the business owner has no idea how to go adding the little change they need. Oh, and the Web Dude, being "helpful" registered everything in his own name, maybe even has the site hosted on his own account, you know, as a service! So even if the business owner could technically figure it out, they don't have access to the code. Sigh.
So, WordPress makes much of the day to day changes easy enough so a non technical person is capable of making their blog, their own!
But there is another side of WordPress, that I've been bumping my head into a lot the last 6 weeks or so, since I started my crash course self taught exploration into the code. There is a LOT of code in there!
For example, on the WordPress 3.0 installation, there is a new default Theme called "Twenty Ten"... get it? 2010? Its ... SO LAST YEAR haha...
One file, the main "CSS" or "Cascading Style Sheet", where the various colors and text styles and page sizes get their information is about 40 pages long or something crazy like that. On my recently written website, my CSS was maybe 2 pages long, and that's because I wrote some comments in there, so I wouldn't get confused next time!
They put in template pages and Functions and Hooks and... then I got to wondering.
What would happen if...
I took what I had learned from my time digging around in WordPress...
And also what I learned a few years ago using the database engine MySQL (which ironically WordPress uses anyway!), and started over.
So what I am now looking at goes something like this.
I'll write a simple CSS page, put in what I really need.
I'll write my pages in PHP, which is a really cool "Server Side Include" language (Also what WordPress uses, go figure!) and I'll write something that I can figure out with out printing 40 pages and going on Google about every other hour. Yesterday I realized I had about 20 tabs open in my browser, and 10 "Notepad" pages open with little code snippits, and 2 books open (in PDF format) and I was looking at my two 20" monitors and had no idea where anything really was.
Then a little "snap" went off in my head.
Like, when you just say this is insane!
So I closed all the windows, and played a game for a while.
Then I drank some coffee, and ate the rest of the pretzels.
Read some email. And kind of just let my brain drift.
This morning, when I got to work, I looked at my white board on the wall for a while... Sigh.
And I erased the icky parts I was working on the last few days. And it felt good!
I have no idea if what I come up with next will be any better. In fact, if recent history is any kind of a guide, most of my ideas are usually really bad in the beginning! But... still, I got a feeling, ya know?