This article isn’t about WordPress so much, it’s about me. It seems at work WordPress is a taboo word. It’s greeted with gasps more often than not and I completely understand why. There are loads of alternatives, loads of better pieces of software and it’s riddled with a reputation of being vulnerable to attack. All of these are correct, but I still wanted to write about it to put my position on the software so if anyone confronts me, I don’t have to argue a case of why I think it’s both great, and terrible at the same time.
I’ve come from very much a hybrid background in the web world. I started out as a developer/designer not mastering either, but being very damn well proficient at both. I spent a year learning C# .NET MVC at university (yes I had to install Windows onto my Mac), and four years learning PHP before that (and a year writing with CodeIgniter, which is great to use). I spent a few years learning how Linux works managing my own server, I’ve been writing Javascript for a few more years before that and HTML/CSS for a few years before that! It’s very much designer first, developer second approach, which probably explains why I actually chose design over development. Oh yeah, and I started out using Frontpage, moving onto Dreamweaver (hell yeah) which taught me most of the HTML/CSS tricks I know today. But my developer brain is still there, lodged somewhere in the midst (see my next post one day about the SASS language for CSS), which brings me onto my next point. WordPress.
About WordPress
I’ve recently been writing a couple of plugins for WordPress which are directly manipulating the database using their custom ezSQL class which was awesomely powerful to be able to build on top of, but it made me feel like I was walking on a cliff edge. You know you’re most likely safe, if you don’t go too close to the edge, but the fact of the matter is, it’s dangerous territory being there in the first place! And you have to think that by installing plugins and what not you’re running the risk of someone pushing you off that ledge if they don’t know what they’re doing (or do know what they’re doing in the hackers role). A few friends and some others pointed this out several times to me on twitter, and so I wanted to give it some praise. I’m still not 100% sure why the developers and code geeks seem to almost hate it, probably because it’s got many many many flaws in it’s code-base. But along with those flaws, it has some great features such as it’s powerful plugin API (and it’s thousands and thousands of plugins), it’s easy to use theme system (of which there’s thousands and thousands) and it’s (after the revamp) powerful Admin suite. Basically, it gives you a lot out of the box, and maybe that’s the key point here. It’s got a lot of features. Jack of all trades, master of none so to speak, a little like me a few years back.
What’s wrong with Software
They often become old and creaky. They often think they know best or often get things horribly wrong.
The problem with software is, once you’re committed to doing things one way, you’re pretty much fucked without completely rewriting it from the ground up. I’ve spent many years working with CMS’s, and they’re all terrible and all great at the same time, it just depends on who you’re asking. I’ve been working with a CMS recently which has done nothing but make me want to tear my hair out every second of every day (some of you will know which one, it’s known as deathray to me), but it’s been invested in heavily and there is no way back which is probably why it’s hated more than it’s loved, which is a shame. Luckily, being a human being I can easily change my path in life and leave behind the past. I can stop writing C#, and instead focus on doing what I’m best at which is working with design. I just wish that someone could get it right for both designer and developer to work cohesively but more often than not it tends to be one or the other. WordPress is very much for the hybrid in me while things like Umbraco are probably more in line with what I should be using. The trouble is, .NET is not a language you can dabble in. You’re usually either a .NET developer, or developer. The learning curve (to do it properly) is very steep, otherwise like I mentioned before, you’re potentially walking a tightrope with security.
The key to a successful partnership is not always in having complete integration of design and backend language, but sometimes of complete separation. Let me have some variables to play with very much like spark templates, but don’t show me your insides please, I just don’t care.
I think my point is, nothing is perfect and each piece of software has it’s own persona and each has it’s own place so next time you hear WordPress mentioned somewhere on the grapevine, don’t shoot him in the face, but understand that it’s come from a tough background of code abuse. What I’m really saying is, well, actually I’m not sure…
WordPress FTW