Happy 2017 everyone! The new year marks a one-year milestone for my blog, too. Neat! That actually has quite a lot to do with the story I wanted to share today.
I started the blog partly because I was missing a side project to play with from time to time. The blog is generated with Jekyll, which I’ve been very happy with. Using Jekyll however meant that everything worked nicely without too much effort or heavy lifting – just add the styles and content and you’re ready to go. I wanted to do some programming too. What to do?
At the time I worked with online publishing and had come across a fancy new technology, mostly unheard of at the time. It was Accelerated Mobile Pages. Yes, just a year ago, Google AMP was still unknown among most of technical people. In fact, the first time when I tried to google “Google AMP”, Google suggested that I mean “Google Maps”.
I decided that it would be cool to add AMP support to my blog. I looked at the Jekyll documentation for writing plugins and got to work. It didnt’t take me too long to have the first working draft running. I was somewhat familiar with the AMP format and the project’s documentation was very good. The Jekyll documentation was also very helpful.
I thought that the plugin could be of use to other people too and open sourced it in GitHub around the same time as I got the blog live. It was the first actual open source thing I’d done beside some very minor pull requests. I also linked the code to the plugins page of Jekyll documentation.
I planned to add support to more AMP components and features when my posts would need them. It turned out that the very limited set of features was sufficient for me and my blog. I was also quite busy with other projects and work during the spring so the plugin didn’t receive too much love.
As Google started displaying AMP sites in search results and the tehnology gained traction, the plugin was also discovered by users. Some GitHub stars and few issues found their way into the project page. I tried to respond to issues the best I could. After about half years since release the plugin started receiving some pull requests. I was super happy to have contributions to the project and that the plugin was clearly helping people and being used.
After its first year, the plugin now has reached 100 GitHub stars – yay! There have been contributions from 7 different users. Big thanks to every one of them! Coming up next, I’m thinking of finally releasing it as a Ruby Gem for a better developer experience.
For me, creating the plugin was a great experience in getting started with open source contributing. In general, I think it’s a good idea to start with a plugin to expand some tool you like. It could be a text editor, like Atom or VS Code or a framework or platform like Jekyll or Django. For frontend, a useful React component could be a good starting point.
So what’s the moral of the story? Start small – pick a project you care about – get contributing. Happy hacking!
Update January 28th 2017: The plugin is now released as a Ruby gem and can be found here
The amp-jekyll plugin: https://github.com/juusaw/amp-jekyll
The AMP version of this post: http://juusomikkonen.com/amp/blog/2017/01/07/how-i-stumbled-into-open-source/index.html