Our Laravel and PHP packages have been downloaded a million times! We now have more than 80 packages registered on Packagist. All combined they are downloaded around 150,000 times a month, and that number seems to be growing...
Our GitHub organisation has taken the number 13 spot on GitHub Awards. I’m very proud that we could achieve this in a company with only two back end developers. It’s really nice to know that the Laravel and PHP community find our packages useful. In this expert article I’d like to share the story behind our packages.
That one million number sounds impressive, but should be taken with a grain of salt. The amount of real users is probably much lower. Some of our packages require other ones of our own. For example, when downloading laravel-backup, our own db-dumper will get downloaded as well. And I’m pretty sure the total downloads get inflated by CI tools that download the various packages more than needed.
I think the actual number of downloads isn’t that important. The monthly growth number is a more representative figure of how our packages are doing popularity-wise.
The first package
The company where I work, Spatie, exists from 2003. We’ve always been using PHP; in the early years we dared to write our own framework. Yeah, we were still inexperienced, so that seemed the way to go. It was very basic, but it served us well. We were only creating small sites at that time, but after several years we realised that writing and maintaining your own framework is very time-consuming and we switched to Zend Framework 1.
In 2012 and 2013 we felt that the PHP ecosystem was pretty stale and we considered switching to Ruby and the Rail Framework. We even made a couple of projects in Ruby to get our feet wet, but then we bumped into Laravel 4.0. I was immediately impressed by the expressive syntax and the big focus on 'developer happiness'. I used it for a couple of projects and the more I learned about it, the more I loved using it. At that time a guy called Jeffrey Way started his next project Laracasts: a video tutorial site dedicated to Laravel, realising that his videos could speed up my learning process immensely, I immediately bought a lifetime subscription.
On 4, March 2014 Jeffrey published a video titled “Continuous Integration With Travis“ - my mind was blown. Travis and the integration with GitHub looked so cool that I wanted to use it. A couple of months before he made the Travis video Jeffrey made a miniseries on package development. Those videos sparked the thought in my mind that I could create a package of my own.
In a project at the time we needed to automatically create screenshots of a website. With the things I learned in the Laracasts-videos I started working on my first package Browsershot. In essence it’s just a simple wrapper around PhantomJS. It was pretty exciting working in the open. I was thrilled every time the download counter got up and was incredibly happy that other people started writing about it.
Read part 2 of my blog series where I discuss 'More packages' and what this meant for Spatie.be.