Once upon a time I had a talk with a die-hard Windows sysadmin (Jens) about the differences between Windows and Linux. I recommended that he should just try an Ubuntu live CD. But I also told him that we are using Debian GNU/Linux on the servers our team was responsible for. I was quite surprised when a few days laster he told me a that he actually installed Debian on a computer and is now learning how to use the shell. He was especially impressed of the pool of readily available Debian packages. But then he asked me a question that has come to my mind before: how can I see what an application looks like before installing it? After all you would have to install dozens of packages to find out about their differences and then uninstall most of them again. If only we could see a screenshot of the application in action…
So I proposed to set up a web site hosting screenshots of applications shipping with Debian. Some Debian developers liked the idea while others ridiculed it. But I was convinced of the idea and thus decided to try it. I took my favorite web framework and created a simple but functional web site, called the software "debexpo" and put it online at screenshots.debian.net in November 2008. The service was welcome by many users and screenshots kept coming in. A fellow Greek helped me add memcache-based caching and offered server sponsorship and finally the web site was working so well that it survived being slashdotted and has a very good uptime since.
Ubuntu's software center and the Synaptic package manager started to use screenshots from it. Debtags were used to help find applications for certain needs. Further Linux distribution showed their interest in sharing screenshots. And in 2012 a major redesign of the web site was started with the help from the Ubuntu graphics team, Paul Wise, Enrico Zini and others. Currently a complete rewrite is going on using the success web framework: Pyramid. Although I have to admit that I detoured and in the process tried other frameworks like Django or web2py which I liked but they were just not the right tools for this job. And also I played around with MongoDB and CouchDB hoping that NoSQL is more than just a hype. But currently it looks like PostgreSQL, SQLAlchemy and Pyramid are just the tools of choice.