Launching a product in a crowded WordPress market

Today I published the pre launch page for my side project Lapisense. In case you missed it, it’s a hosted activation and updates API for WordPress based products. If you don’t like running a plugin that does this for you, Lapisense might be a nice fit for your products.

I got a ton of great feedback already, but one of the questions really stood out to me. Why did I launch a product in such a crowded market? There are competitors out there, WP Updates and Freemius to name a couple. Both are really solid services already. But still, I wanted to explore this market, because I think there is more to achieve. Continue reading Launching a product in a crowded WordPress market

Explaining the WordPress plugins dependencies problem

There is a lot of confusion in the WordPress ecosystem when it comes to the issues around bundling dependencies. Peter Suhm has published a detailed post about this exact issue: A Warning About Using Composer With WordPress, where I have left the following (partial) comment:

So imagine both of us loading library x in our plugins, both requiring a version that’s incompatible with each other. No matter how well tested your plugin is, if I get a chance to load my autoloader before yours, I can load a version of the library that is not compatible with yours and your plugin will break (at least, the end user will see it like that and the horror of finding the culprit begins)…

This obviously is not a Composer issue, but related to the way WordPress loads its plugins. It’s also not a well known issue, since Composer isn’t used a lot in the WordPress ecosystem (yet!), especially not in distributed plugins. But as Composer becomes more used, more collisions like this will happen. Without a proper dependency management system in place, this is really hard to solve.

My WordPress Composer Installer proof of concept is as close to solving this issue as I’ve ever been. If there is anyone more experienced with the plugins installer in WordPress and maybe knows their way around Composer as well, I could use some help. :)

Solving dependency management in WordPress plugins

I’ve been working on a proof of concept for solving dependency management in WordPress plugins for a while now. It was in a private repository on GitHub, where I would invite some people in to work out the most obvious issues, while keeping it a bit on the down-low (this is a big change, potentially, after all).

Now it’s time though. The WordPress Composer Installer repository is now open to the public. Note that this is not more than a proof of concept, albeit it a working one. There are some hoops to jump through to get this working, but all these steps can be automated once I make this a fully featured plugin.

Recent blog posts like Ryan McCue’s take on solving dependencies and Gary Pendergast’s response to that are likely to fire this discussion up again. I will publish a more detailed post about why I think this is important, but I’m on a short vacation while I’m typing this and should probably be out enjoying sunny London. ☀️

How to get yourself to do things

I struggle with being a procrastinator. I’ve become better at managing things to do over the years, but still often find myself in the “unproductive phase” as David Cain explains it in his excellent piece: How to get yourself to do things. Seriously, go read it.

When I read his post, it rings so many bells and it makes perfect sense. I probably should print his graphs and hang them on the wall as a constant reminder that the “productive phase” is never far away.

This is how you deal with negative feedback

This morning I found out that the Instagrate plugin I use to import my Instagram pictures in my Moblog category, adds an HTML comment with a link to their website in every single post they import. As you might understand, I wasn’t really pleased about that, so I tweeted:

This lead to a rather nice conversation with the developer of the plugin, who immediately pushed out a fix release that no longer adds this HTML comment to the posts. Minutes after, he pushed out another fix release that also removes the HTML comments for all posts it has ever imported.

Thank you Iain for being so kind and for the quick way you dealt with this issue. Instagrate is still the plugin I will recommend for importing Instagram pictures as blog posts.

Updating PHP is everyone’s responsibility

The number one remark I heard when I launched WPupdatePHP, is that users shouldn’t be bothered with this. In an ideal world, this is true, but in reality this isn’t going to stand for long. Allow me to explain why:

  • The core WordPress team can’t get every single hosting company to comply. I admire their intentions, but in reality this is not going to help everybody.
  • At the time of this writing, PHP 5.4 is actually already nearing its EOL date and we’re still figuring out how to make PHP 5.2 and 5.3 platforms go away…
  • The end user is one of our most important, but underestimated, assets in this battle. They have the strongest voice in this all.

Okay, that’s the tl;dr and now in a bit more detail: Continue reading Updating PHP is everyone’s responsibility

Our frontend developer is moving on, we need a new one!

Last week, Gaya announced that he’s going to be leaving our company. He’s now looking for a new job. We’ve been working together for the past 9 months, so I’m sad to see him go. I do know that he’s making the right decision for himself though, so I’m obviously supporting this as much as I can. Are you looking for an experienced JavaScript developer? Go hire him!

This also means that we’re looking for a new frontend developer. You’ll be working with me on exciting projects like Naguro. You need to have really good JavaScript skills, as well as HTML and CSS/Sass of course. We love to automate things, continue to improve our workflow and do geeky stuff. :) Contact me, or tweet me if you are interested, or know someone who might be a good fit!

Time to update your PHP version

WordPress has PHP 5.2 as the minimum required PHP version. For a while now, PHP 5.4 has been listed as the recommended version. That’s a big step in the right direction, but I feel we can do more to help push the requirements forward.

At Radish Concepts we work with a lot of different platforms, frameworks and even languages. Most of our PHP projects are based on the Laravel framework, but we also do a lot of WordPress projects. When writing code for Laravel based projects, we obviously use namespaces and such, something we can’t do in publicly available WordPress plugins (since namespaces require PHP 5.3).

What we’d really love to do is be able to use namespaces for example, in our WordPress plugins as well. In addition to that, PHP 5.2 and 5.3 are really, really old. Even though lots of the Linux distributions tend to backport security fixes, it’s never a reassuring thought to read that PHP 5.2 has been unsupported for over 4 years now. We need to move on, as a community. Continue reading Time to update your PHP version

A separate YouTube channel for my screencasts

After much deliberation, I have decided to start publishing my screencasts in a separate YouTube channel, instead of in the same channel where I’m also publishing my vlogs. The reason is simple: I think these videos are very different in approach and have a different target audience (but there will be some overlap).

While my vlogs will usually be rather personal, the screencasts are more technical and in a tutorial format. I don’t think these different types of video go well in the same channel, so I’ve decided to split them up on YouTube. You can subscribe to one of them, or both if you want to see all my videos. In the near future, I’ll be opening a section for the screencasts, as I did for my vlogs already, so you can also keep track of everything via my website here. Continue reading A separate YouTube channel for my screencasts

Journaling to keep track of everything

For some reason, I just can’t keep doing it, but I really want to keep a journal. I want to keep track of things happening during the day. In 6 months time, I want to be able to look up what happened today. This is not just about day to day things, but also work related.

I feel that I’m losing valuable information, after I don’t need it right away anymore. As soon as I need that same bit of information again, I need to look it up again or do the same research as I did before. Continue reading Journaling to keep track of everything