Isn’t it ridiculous? You spend years trying to make something that takes off in a big kinda way. You try all sorts of complicated things. And then, one day, you turn a little note you have lying around into a midly-interactive single web page and it takes off like nothing else before!
I’ve not had a new project posted to Reddit or Hacker News before and I found the interactions and analytics data pretty fascinating. I’m aware that this post could be considered vanity, but I think I learned from it and I’m posting it because there are interesting lessons and data.
So here’s a few notes on and lessons from how the early days of caniphp.com have been.
The making of caniphp.com
In my 10+ years of WordPress and Laravel work I’ve worked on projects that use different versions of PHP. From WordPress plugins that cater for stupidly-old versions of PHP, just in case someone hasn’t updated their hosting, through to Laravel apps that are 100% under my control and can run the latest-and-greatest version of PHP.
PHP has been evolving in amazingly positive ways. And this is awesome. But it does mean that I’m sometimes confused about what PHP features are available to me on any given project.
And sometimes, because I’m not regularly using a particular piece of PHP syntax or language feature, I forget what it is or does.
This has been particularly true for the various different flavours of closure / arrow functions and all of the new coalescing-type operators and the spaceship and nullsafe operators which all use various combinations of =
and ?
. I just never quite got them all into my medium-term memory!
So I started keeping a Bear note with a list of the things that I keep forgetting which version they are in.
It was always my intention to share this at some point. But it was messy and incomplete.
Then one day I saw caniemail.com being shared. I liked the name and realised that a caniuse.com-like site for PHP versions was what I wanted to make.
The caniphp.com domain was free, so I leapt on it, and spent a few hours (yeah, that’s all!) putting together an initial version.
I tweeted it to the world on the morning of April 22nd. I thought a few people might be interested and find it useful, but what happened next was far beyond my expectations.
My privacy-friendly Fathom Analytics has let me see that there have been three big spikes of traffic so far:
- 22nd April: Twitter
- 29th April: Reddit’s /r/php
- 5th May: Hacker News
You can see the traffic chart below. And, as this is my first time having something posted to Reddit and Hacker News, I have thoughts about each of these bits of publicity.
Day 1: Twitter
The initial Twitter response was pretty amazing. I don’t know for sure but I think this was probably my best performing Tweet of all time clocking up, to date, over 30,000 impressions and 3,000 engagements.
That’s not bad for little old me.
Twitter was overwhelming positive. Sure, lots of people shared and retweeted without comment, and I can’t read into that. Perhaps people were mocking me? But I don’t think I see that. And there was not one bit of not-positive feedback.
People say Twitter is a “hell site”, but that really wasn’t the case here.
So what was Reddit like…?
Day 8: Reddit
I’m not much of a Reddit user. So this was mostly a new experience for me.
I first noticed the Reddit post when analytics traffic showed a spike and I checked the referrers.
The post itself was totally impartial – just a link to the site. And I should say that I’m grateful to the person that shared it! Thank you!!
But the responses were mixed.
I actually took some constructive stuff away from this. My MVP didn’t explain itself very well. In describing it as “caniuse.com for PHP” people thought it was going to be a much more complete list of PHP functions and features, as caniuse.com is for JavaScript and CSS.
So I addressed this as quickly as I could, adding explanatory text, and encouraging open source contributions.
But I did feel some of the comments were overly snarky. And I was somewhat baffled by people saying that it was useless, what was the point?, an IDE can do this, it doesn’t have any use.
Well, that’s fine if you think that. But it’s just your opinion. Don’t write if off as totally useless just because you use a different tool to do the same thing. I made it for me and I think it’s useful. So there’s that. No one’s making you use it.
(Aside: I generally dislike opinions stated as fact. Adding “I think…” or “In my opinion…” to a statement of opinion softens it and makes it less aggressive. I OFTEN ask myself if I can add “in my opinion” to a Tweet. But I guess some people are looking for a response. ¯_(ツ)_/¯
)
I responded with kindness and curiosity, I hope! And over time, the comments on Reddit turned into positivity. But of the three places that caniphp.com was discussed I felt it was the most hostile.
The Reddit traffic had a fairly sustained spike with most of the nearly 2,000 views happening in around 8 hours after the post. That traffic gradually faded after a couple of days.
Here’s the one-day chart for the Reddit day:
The post got 136 upvotes and 45 comments. Pretty good. And nice to see that the post itself got WAY more upvotes than any of the comments.
Day 14: Hacker News
Despite all the bad things you sometime hear about it, I have to say, I was pretty impressed with Hacker News. Their guidelines are good – summed up as “be kind”, “assume good faith”, “avoid tangents” and “don’t post shallow dismissals”.
But with some very useful specifics like “Comments should get more thoughtful and substantive, not less, as a topic gets more divisive” and “Please don’t pick the most provocative thing in an article or post to complain about”.
The guidelines seem to be enforced, too. An early snarky comment was quickly flagged and disappeared. I don’t know if this was by the community or mods or what. But I appreciated it and I Was left feeling safe from harm.
The Hacker News algorithm is interesting. When I first started seeng traffic, the post was on page 2. I saw 20 users on the caniphp site, then 30, then 40 and it just kept going up until about 200 were on the site at once. (I know, these are small numbers in the grand scheme of things, but big numbers for anything I’ve ever made!)
I’m sure many have written about how the Hacker News algorithm works, but it seems that the rate of upvoting is important and shifts you up the rankings. I maxed out at 6th position on page one. BUT…
My Hacker News traffic was short lived. The algorithm moves you up the ranks quickly, but… of course… it moves others up the ranks quickly too. So you can fall fast as well.
Here’s the one-day chart for the Hacker News day. You’ll see traffic spiked higher (the Hacker News effect is real!) but then tailed off much quicker as the algorithm demoted me.
Fascinating stuff!
I got my 15 minutes of fame (if that!) on the front page of Hacker News. I can tick that off the nerd’s bucket list.
Contributions
The one thing I have totally LOVED about this project is opening it up to contributions on GitHub.
It’s simple, which makes it an ideal open source project for me. It has a low-burden for me as the maintainer. And the simplicity means contributing is easy too.
The PHP feature list is far from complete, and (for reasons I won’t go into here) is being manually curated. So people coming along and adding features, correcting typos, and even introducing coding standards tools, has been really appreciated.
There have been 10 other contributors so far, and 22 pull requests. I’m grateful for every one of them. Thank you folks!
Looking forward
Of course, caniphp.com is intended to be a resource people bookmark and revisit over time when they need it. So these one-off traffic spikes do not, for me, represent success for this little project.
If this is properly useful then there will be a sustained level of traffic as people come back to it for the information they need.
We’ll see if that happens. If not, it’s a single page of HTML, hosted on CloudFlare pages. It can sit and live there without any input from me (except data updates for new PHP releases).
It’s been a really interesting little site launch for me. The data has had me curious. And I’m grateful to everyone that has tried to make it better.