On Maintaining Free WordPress Plugins

If you’re ever interested in getting into WordPress plugins, then there’s a wide array of material available for you to read – this includes material across who-knows-how-many blogs, people on Twitter, and even physical books available on Amazon or likely your local bookstore (well, maybe – heh).

But when it comes to building and maintaining a free plugin (let alone several), I’ve found that there’s not as much discussion, sharing, and overall dissemination of information available. To that end, I thought it might be worth looking at four things that I’ve found useful when maintaining free WordPress plugins.

Is There a Lack of Integrity in WordPress?

A few years ago, I was working on a WordPress theme that had some really cool features (if I can say that without sounding as if I’m bragging). The features were brainstormed by a team and gathered through feedback through a number of customers and users, and all were implemented over a long period of time.

When the time came to actually release the theme, it proved to be worth it – it was well-received.

As with any product, we then went into maintenance mode doing the usual round of fielding bug reports, features requests, and so on, and then continued maintaining the product with periodic releases in order to provide bug fixes, minor feature updates, and so on.

Generally speaking, it was great. There was a lot to be proud of and things were going well.

But, as with anything, things couldn’t continue on the up and up forever and during one of the releases, I neglected to remove a line of code that was intended only for the development environment.

We shipped it.

And it negatively affected all of the customers who applied the update.

The Versions of WordPress and PHP

One of the biggest challenges that comes with working with PHP and WordPress is determining which version of PHP to use.

From the WordPress.org Requirements page:

PHP version 5.2.4 or greater (recommended: PHP 5.4 or greater)

With respect to PHP, a lot has changed between 5.2.4 and 5.4. And the problem, for developers, usually comes down to something like this:

If we opt to stick with the oldest supported version then we have the largest audience appeal, but if we stick with newer versions then we get some nice, new features in the language but at the expense of certain hosts.

So when it comes to WordPress and PHP, what do we do?

Your Code Is Not Wrong (Or Right)

Every now and then, I’ll be having conversations with fellow developers about various things we’re working on, working through, and looking to focus on in the coming days, months, or weeks.

And sometimes, when doing this, it seems like there’s a pattern where some developers are facing some of the same set of challenges as other developers (or they’re facing challenges that other developers have once experienced or maybe even yet to experience).

Case in point: Last week, I had several conversations in which I was talking with some others about the feeling of never feeling fully satisfied with code that you’re writing, or with that feeling that comes with wondering if you’re architecting a project correctly.

I think we’ve all been there at some point. Personally speaking, I don’t know if the feeling ever goes away. I think we get better at what we do, and I think we become more aware of what we don’t know, but I don’t know if we’re ever completely happy with what we ship.

With that said, I think there is something to learn as it relates to writing good code, and reaching milestones in our projects.

Speaking at WordCamp Atlanta 2015

This year, WordCamp Atlanta is going to take place March 27th – March 29th and I’m really looking forward to it.

WordCamp Atlanta 2015

As it has been for the last few years, the event is going to be held at The Loudermilk Center in downtown Atlanta.

Practical Advice For Blogging, Part 1

For those who blog, you’ve no doubt been asked at some point in time:

How do you find the time to blog?

Or:

How do you consistently come up with things to write about?

And for those who are just starting out, I think these are great questions especially if you love to write.

After all, most (admittedly, some are in it for different reasons) of us do this because we like it – we enjoy sharing what we’ve learned, we hope to help others along their way, and we hope to learn from others via comments.

How I See Me Blogging

How I See Me Blogging

But if you’re looking to start a blog, looking to blog more regularly, or just trying to find some sources of inspiration for how to continue, then here are some things that I’ve found useful when wanting to consistently share things with you each day.

Granted, this may be geared more towards developers than anything else – I’ve tried to keep it pretty agnostic – but perhaps this advice for blogging will help someone else along the way.

Two Take Aways From Jason Schuller’s Pickle Project

Earlier this week, WP Tavern wrote up an excellent piece on Jason Schuller’s newest project, Pickle

I’ve ended reading over the article (and the comments) a number of times because I think there are some really, really great though as it relates to using WordPress as an application platform.

 Jason Schuller’s Pickle Theme Re-Imagines WordPress as an Invisible CMS

This is something that I’ve talked about a number of times and it’s something that I really want to see happen more and more in the future; however, this is one of the first times that I’ve really seen someone take WordPress, use it as a foundation for solution that’s built towards a specific market, and then articulated it in such a way that does a great job of expressing what exactly it means for WordPress to be an application platform.

Moving On From The WordPress Plugin Boilerplate

Over the last few weeks, I’ve talked about some of the changes that I’ve been looking to make over the coming weeks primarily so that I can re-focus my efforts. Specifically, I talked about this in this post and in this post.

One of the first changes that I needed to make was that of the WordPress Plugin Boilerplate.

Using Transients For Storing Google Maps Data

A couple of weeks ago, I shared a quick tip on working with multiple InfoWindows with the Google Maps API specifically within the context of WordPress.

Google Maps InfoWindow

When working with this API, there are a number of considerations to take into account each of which is going to depend on how much of the API you’re going to be using; however, one constant that’s going to remain regardless of how much you’re using is the rate limit.

That is, unless you’ve paid Google a decent chunk of change, then you’re going to have to take rate limiting into account whenever you’re working with this API. And if you’re charting quite a few locations for, say, several different pages or several searches, then you can hit that limit quickly.

If you’re not at the point where you can pay Google to up the rate limit, but you’d like to still make sure your project doesn’t totally bomb out if the rate limit is hit, then I recommend using transients to store Google Maps data for an interval of time so that you aren’t making frequent calls to the API.

The More Things Change, The More They Stay The Same

Generally speaking, people often set out to try to set their plans, goals, and resolutions at the beginning of the year. I did though it’s not really something I typically do, and here we are at the beginning of March and I’ve really only done a portion of what I thought I was going to be doing.

I mean, I haven’t even touched Swift yet (and I don’t know if I will end up doing so).

Then again, Pressware has been growing and has resulted in the need for me to make some changes both to what I’m doing with some of my open source plugins and with what I’m planning to do with the business itself.

It’s both an exciting time, but it’s also a really weird time because it’s causing me to evaluate some changes that I’m making in a number of things that I’ve been working on for several years at this point.

When this happens, I can’t help but feel a little bit of tension – maybe even some fear – of letting certain things go. On top of that, I think that it can also breed a sense of relief as it may bring about a little bit of breathing room.

But does it really? I mean, when we wind down work on one thing, are we just making space to spin up something new?

For me personally, what I’m finding out – and it’s sort of a cliche – is that the more things change, the more they stay the same.

Though I may be winding down certain things, other things are starting up.