Spare Time

March 11, 2011
Development

The Slim Framework for PHP 5 website

Are you familiar with Google’s 20% time policy? Each Google employee may spend 20% of his time working on new side projects or improving existing projects. Many of Google’s online properties were born from and are continually improved by this policy.

Google’s 20% time is largely born from an organizational culture that encourages free thinking and self improvement. Developers are happy, able to explore their own interests and hone their skills; companies are happy, able to reap the rewards of more efficient and skilled developers.

Like Google, New Media Campaigns (NMC) encourages its developers to use spare time to explore their own interests and improve their skills. How so? Here’s an example of how a spare time project became a go-to tool at NMC.

An idea

In early 2010 I discovered Sinatra, a micro web framework written in Ruby. It is startlingly simple to use and ideal for building a small website or API with Ruby in no time flat.

However, many of our clients at NMC use LAMP stack hosting. Without a proper Ruby server environment, I wanted a similar tool for PHP to quickly and easily launch a small website with minimal effort.

The Slim Framework for PHP 5 is born

In August of the same year, I began spending my spare time at work, and several hours each night, piecing together the beginnings of my own micro web framework for PHP. In September, I had enough working code in place to launch my project as an open source repository on GitHub — and the Slim Framework for PHP 5 was born. Six months later, the Slim Framework for PHP 5 has been featured by GitHub, The Changelog podcast, and is being watched by 214 GitHub developers — used by even more.

Self improvement

Although I began the Slim Framework for PHP 5 to address a real need, Slim’s development is more an effort to further my own knowledge of HTTP client-server communication. Of course, I was already well aware of HTTP, but I wanted to know more about it: request and response headers, content types, response codes, content negotiation, RESTful behavior, and more low-level protocol details.

The Slim Framework for PHP 5 has and continues to improve my knowledge of HTTP and is a very capable micro web framework for PHP 5 used by hundreds of fellow PHP developers around the world.

Meanwhile, my work at NMC is far more efficient; I can start a full-featured custom website or RESTful API in about a minute — thanks to Slim, my spare time project.

Leave the first comment