Celebrating 10 years of Development in WordPress

Happy Anniversary to me. This year I’m celebrating 10 full years of working in WordPress.

The first project I remember well. I was working for an agency out of Washington D.C. At the time the CMS we were using was based on an old version of MoveableType. For client projects we had this multi-tabbed Excel spreadsheet to estimations. Adding any custom type of functionality like an archive page or even RSS was a total pain and hence we can up-charge the client.

Generally when you work in an agency it is all about billable hors. In my case the developers we expected to give detailed estimates on each client project. Using the PERL-based MT system this was for me a shot in the dark sometimes. You may quote 5 hours to add RSS feed or an archive page. Sometimes you hit that mark. But most times you didn’t. This can create a lot of tension in development teams because you are judged by the management on how well you can give close estimated and then meet those estimations.

Frustrated with using the MT system I decided there had to be an easier method. So over that long weekend I took an existing and finished MT project and decided to see how it would be built using WordPress. Up to that point, I had not used or touched WordPress. I knew PHP, HTML, CSS, JavaSscript, etc. My only exposure from was an internal presentation from another developer. And at the time I thought it looked promising. Much better about publishing dynamic content. Remember at the time MT and many other CMS type systems simply generated the final HTML output when they went through the publishing cycle. WordPress on the other had was a dynamic engine.

Building the WordPress replacement of the site was in a word amazing. Even back then using WordPress pre-1.5 you could do a lot of things via the theme itself. And for the needed of the project I already had the layout via the complete HTML. So was just a matter to carving out the header and footer sections. The sidebar then the main content after. Then the really cool understanding that I didn’t need to create a completely new output template for each page. Wow. I only have to create the general index.php and single.php. Links and RSS were all built-in and automatic.

So after the three days of the weekend I had a finished theme. Complete with the real imported data!

So you may be asking how long the same functionality took to developer using MT? Well I remember the project taking 6 weeks. But realize that was partly client delays (always). Design time. And a team of 2-3 developers to setup hosting, cutup PSD from design. Reviews and tweaks for browsers. etc. So lets say 10 days to 2 weeks for actual development into the MT system. So in effect I had done the same thing in three days. That meant instead of tying up a team of developers, designers, account people on a project for 6 weeks. It could instead be a mere 10 days or less if you get really good about reusing some of the theme parts.

Over the next year I was the WordPress go to guy. I was up to pushing out a site every two weeks. It would have been quicker but you have to allow time for client reviews and changes. But not too many changes.

Since that first years I moved into plugin development to add our own custom functionality.

A New Year, a new you, a new coat of paint on the old website

Testing…TESTING! Is this thing (still) on? Why yes it is. I know there has been exaggerated reports of my demise. I’m still here. Still kicking. Still coding.

I’ve decided to start off 2015 with a fresh design for the site. And maybe get back into writing about some of the cool projects I’ve been working on for the past few years. The new look is based on the WordPress Free Theme Flat. I’ve added some tweaks of my own to a child theme. More functionality to come over the next few weeks.

So where have I been? What have I been doing with my time? Over the past few years I’ve gone deep into WordPress plugin development. I was working for a major WordPress plugin vendor (not going to name them here but you can check out my LinkedIn profile if you are curious). During my tenor there I was responsible for development and supported for up to 26 plugins. I learned so much about how to write plugins to work across the wide range of hosting environments. How to be efficient with coding and how to get along with site running many dozen other plugins. I learned some valuable knowledge about WordPress Multisite as well as BuddyPress. So really want to bring that back to my own plugins.

Speaking of my own plugin. I’m in the process of rewriting parts of my Media-Tags WordPress plugin to work better within the new Backbone.js Media system used with WordPress. Lots of good changes coming soon.

In other WordPress directions I’ve fallen in love with WooCommerce. Thinking back to the early days of WordPress commerce engines (again not going to name names). I can remember having to literally hack the plugin to get things to work per the client needs. And hoping the client never ever upgraded. With the new WooCommerce 2.x it feels more like BuddyPress. Lots of way to override even the smaller elements. Not to mention tons of template files you can add to the theme to override the default action. There is one area I tend to dislike related to Variable Products managements. I’m working on an add-on of my own. Hope to announce it soon.

Besides my fallback WordPress projects, I’ve been working some in Swift, the new Apple language. As many have stated it does remind one of JavaScript in some of the syntax. But yet it is very powerful for creating apps. Speaking of JavaScript I’ve also been playing with Node.js. I’m very very excited about the potential there. First thing I thought of when playing with the modules is “someone ought to write a CMS in Node.js”. Well a few have started. The most promising is PencilBlue. They actually state in the documentation they want to replace WordPress. Lofty goal. I’ll need to find some time and join the development group. See if I can bring in some of my WordPress knowledge.

Other than coding related things. We are still discovering parts of North Carolina. Still have not made the road trip to Asheville. We both miss Texas and especially our friends in Austin. I miss all the friends and contacts from the Refresh Austin and WordPress Austin groups. As well as SXSW Interactive being in my backyard. I’ve tried getting into the local WordPress group as well as other groups in the Triangle. They just seem a little too cliche-ish to me. I’ll try again this year.

On a personal note we moved into a beautiful home last year. The new neighborhood is great as well as the neighbors who actually come over and visit. Unlike the previous neighborhood where we were renting. The neighbors just could not be bothered to say hello to you. We even have a neighborhood book club I joined last year. I’m the only male in the group and was apprehensive. I thought I would be getting into some Harlequin Romance and Jane Austen type reads. But we have read some very interesting books. So I’m looking forward to some nice reading outside of my own tracks this new year.

Well that is about all for the update. I hope to be posting regular. I already have some other posts in the queue I’ve worked on. Just need to polish and publish.

Media-Tags 3.0 plugin for WordPress Released

I’m proud to say I’ve finally released Media-Tags 3.0 to the general public and it is available via the WordPress plugin repository http://wordpress.org/extend/plugins/media-tags/. Thanks to all who contributed ideas, bug reports and support in this milestone development. And my apologies for taking so long to get this out.

This plugin contains many new features. Some highlighted items are:

  • Bulk Administration of media items This feature on both the Media > Library and Media Upload popup for the Post admin screen allow you to assign/remove Media-Tags to a selected group of media items. In previous versions you would need to edit each media item.
  • Roles management Under the Media-Tags Settings panel is a new Roles management panel. This panel allows you to fine tune the access by individual users.
  • Internationalization This is a much needed and requested features. Now all text handled by the plugin are using the WordPress i18n hooks to support translation into other languages.
  • Removed over 1000 lines of custom code This old code was used to provide basic functionality for the tagging and URL rewrites. Since WordPress core functions have progressed over the last two years this custom code is no longer needed. This means the plugin will run cleaner and is more stable than previous releases.
  • Better support for WordPress standard Taxonomy templates In the past the plugin has supported a custom theme template, mediatag.php. The plugin now support the more standard WordPress templates taxonomy-media-tags.php.
  • A new Help section This new Help section provides many topics from general use to shortcodes tricks to template files support questions. Check it out.
  • Many other features have been added. Too many to mention here.

Please leave all comments on the Media-Tags project page.

Media Tags 2.0 Beta

Today I’d like to release the first public beta of the Media Tags plugin. This is an exciting change and almost complete rewrite to the core plugin code.

For anyone downloading this beta please be aware this is a beta version and subject to change in the near future. Also since this is a beta it is recommended NOT to use this on a production system. User beware! If you do download the plugin and test if please using the comment form below to mention any issue you have with the new plugin. I can only test thing to a certain level with my own client sites.

This new beta has been tested on WordPress versions 2.7.1 and 2.8 only! At this time I’ve not tested the new Media-Tags Management interface on any lower version of WordPress.

Continue reading

Which type of programmer are you?

Had some free time this afternoon after killing bugs and playing some Half-Life 2 (Episode 2). So I fired up my FireFox browser and was clicking the StumbleUpon toolbar. Hitting page after page I can across two interesting pages that affected me directly since they were tied to the discipline of programming.

I’ve been a developer for almost 20 years. From the dark ages in the early 1990s as an application developer on Windows (C/C++), Unix (SCO, HPUX, Linux, Sun, Mainframe). To the Web world from the late 1990s forward, I think I’ve seen all the characters mentioned.

Question for you the reader is which one do you identify with?

10 types of programmers you’ll encounter in the field