Finishing PHP Monitor

November 12, 2023
Table of Contents

My longest running personal project, PHP Monitor, will be finished soon. If you’re curious what that means, keep on reading. In this post I want to talk about the future of PHP Monitor and share a few interesting observations.

Yes, finished. Thankfully not in a bad “oh no, it’s over” kind of way. As 2023 draws to a close and I’m currently working on adding extension management to PHP Monitor, I’ve been thinking about the future of the app.

After giving it a bunch of thought, I am happy to announce that the project will be complete when that update releases.

Don’t worry: the app is not dead. I have simply made the decision to stop adding major new features to the app. There’s a few good reasons for that, some of which I will discuss below.

What’s next

I will continue to work on PHP Monitor as I continue to refine and rework existing functionality, but I don’t have any plans for major feature additions at this time.

You can still expect some regular updates as I continue to polish the app and fix bugs as they are reported. I will also make sure that PHP Monitor keeps running smoothly on newer versions of macOS and supports newer PHP versions.

After all, I’m still using PHP Monitor every day, so it’d be a problem if it suddenly stopped working!

Earlier this year, I was thinking about adding some sort of Docker integration into the app. Instead, if I end up shipping any of those features they will be part of a new app. That being said, this is not a guarantee that this new app will see the light of day.

Meta commentary

I have a few thoughts to share on what the the process of building PHP Monitor has been like. These are about software growth, money in open source, competition, and so on.

If you’d like to know a little bit more about the meta process of developing the app, keep reading on. Otherwise, you can skip to the end.

Avoiding bloatware

Over the years, I’ve seen excellent software keep packing on new features, after which said software has become a bloaty, hard to maintain mess.

Apps that outgrow their original intention end up becoming software monstrosities most of the time, and become really hard to work on and slow, and sluggish, and annoying. Not exactly what I want to happen to my app.

The modular approach I’ve taken to PHP Monitor development offsets this problem for the most part, but I find a little less urgency in adding features than before. I feel like all major features I personally need are now part of the app. It’s actually really great that I can finally say: it’s done!

Open source isn’t very profitable

Over the last few months, recurring sponsors and support have decreased, but that is the way of the world as the development and excitement around the app has slowed down, and competition has arrived.

I’m immensely grateful for everyone who has supported the app over the last two years, and I certainly don’t want to seem like I’m complaining. My app has always been open source and free, with no expectations of any kind when it comes to being gifted money.

I’ve been working hard at building PHP Monitor for quite some time now. If this was my job, I’d be concerned as open source is not very profitable, especially not if you rely on donations only.

However, since I’ve seen all PHP Monitor donations as a nice “bonus” every month, I’ve been very happy this way.

Starting a business was a no go

Starting in late 2021, I was often told that I should charge for PHP Monitor.

The truth is that entrepreneurship in Europe, and more specifically in Belgium, can be quite tricky. Starting a business here is not quite as simple as it is in the United States, for example.

There’s all sorts of restrictions and regulations around starting a business here and I wasn’t interested in taking the risk of making PHP Monitor into a paid product, as it could have had a major impact on my personal finances and taxes.

I did some napkin math in early 2022 and discovered that it’d probably cost me money in the long run, so I decided against monetisation.

Owning your dependencies

Another major factor against monetising the app here is also the fact that PHP Monitor relies heavily on external dependencies that I cannot easily adopt or fork.

By relying on Homebrew, its formulae, third-party formulae, and Laravel Valet, I figured that was a huge liability. You have to own your dependencies if you want to monetise your product.

Otherwise, your risk getting the rug pulled from under you. We’ve seen this with folks who build their product around proprietary APIs (i.e. YouTube and Reddit client apps; I wrote about this earlier this year) or third-party services (apps built on OpenAI’s proprietary API).

I didn’t want to risk that.

Laravel Herd

Let me start by saying that Laravel Herd is excellent, and that many folks who use PHP Monitor will likely be served better by using it, rather than PHP Monitor.

With this first-party Laravel product being in play and now having reached a lot of new users, I think the need for PHP Monitor to grow more and find a wider audience is no longer there. I simply cannot and (should not) compete.

I briefly considered ending PHP Monitor development when I first heard about Laravel Herd when it was announced at Laracon. It seemed to check all the boxes PHP Monitor was checking and it is a first-party Laravel product also made by the excellent folks at Beyond Code.

However, after putting some more thought into it, I figured that the Homebrew use case wasn’t going to disappear overnight.

I’d be doing the community a disservice by giving up on further development simply because an excellent alternative came into being. (This was also confirmed by quite a few developers who reached out to me about this topic, who wondered what would happen to PHP Monitor.)

Scratched the itch

I have been doing software development for almost a decade now. It’s been a fun ride, but I have almost never been able to truly “complete” a project to my own satisfaction. There’s always been stuff that was unfinished or imperfections I wanted to get to, but never was able to fix.

This is the struggle with deadlines and the reality that software development usually requires funding. That stuff has prevented the projects I’ve built to be as excellent as I wanted them to be, since there’s always a lack of time or funding. (Those are constraints you have to manage for every project or product you build.)

PHP Monitor has been an amazing exception, since it has been a personal project where the money doesn’t matter. I built this for my own satisfaction, and to scratch an itch. It’s been under development for quite some time now, it’s been well-maintained, and it has received all of the features that I’ve ever wanted to add.

I’m quite proud.

The work continues

I will likely continue to tinker away at PHP Monitor 7 for the next few weeks, and when it’s ready, the app will be complete.

In the meantime, you can expect the upcoming release of PHP Monitor 6.2.2, which will add official support for PHP 8.3 later this month.

As always, I will announce when early access releases and the final public release become available on X and Mastodon.

Thank you for your support, and please stay tuned for what’s next!