Project of the Month, July 2009

Piwik


Piwik

is a downloadable, open source (GPL licensed) web analytics software program. It provides you with detailed reports on your website visitors: the search engines and keywords they used, the language they speak, your popular pages, and a whole lot more.

Piwik aims to be an open source alternative to Google Analytics.

One of the principle advantages of Piwik is that you are in control. Unlike remote-hosted services (like Google Analytics), you host Piwik on your own server. The installation process is very simple, and Piwik is just as simple to use and understand.

All of the program’s features are built as plugins, which means you can easily add new plugins built by the community to customize your very own Piwik. If you have specific needs then you can build a plugin that processes data in a different way so it can be tailored to exactly what you need.

Why and how did you get started?

Initially there was the project

phpMyVisites

which was a simple web statistics tool. phpMyVisites was of interest to the public, but the general architecture was not modular enough and the developer community never really took off. We decided to start from scratch and build a new modular (plugins based), open (documented API to access the data and all features) web analytics platform.

In July 2007, Matthieu started to envision Piwik with scribbles on a few white paper sheets, while interning at OpenX, the company building an open source adserver. He wrote the data specifications, drew some UI mockups, DB schemas, and spent four months working on the project Рtrying to build the best open source web analytics platform. The result was a pre-alpha release of what then became Piwik. Julien Rouvi̬re joined the project for a few months, and the first public alpha of Piwik was released on 2008, March 28th.

Piwik was built because there is a huge interest in keeping your very sensitive web log data and information to yourself — for security, privacy reasons — and because we believe that this data can be used in many more creative ways.

Who is the software’s intended audience?

  • Web site owners
  • Web hosting providers, proving web analytics to their customers – like SourceForge
  • Web agencies and software companies including Piwik as a part of their offering
  • Developers who can build plugins to do custom analysis on the data

What are a couple of notable examples of how people are using your software?

  • We know of a few companies using Piwik to power web analytics on more than 10,000 Web sites.
  • A Polish Blog Network is using Piwik for their thousands of blogs and provide a custom User Interface for their customers to view their statistics.
  • A company built a custom plugin to merge the Piwik data source with their CRM to learn more about their customer journey from their online campaign or search engines to their website and how they converted.
  • Developers built Desktop applications to visualize Piwik statistics calling the Web Services API (Desktop Web Analytics

    and

    Piwik Connector
    )
  • SourceForge offering Piwik to their 150,000 open source project Web sites!

What strikes us is that it all happened very quickly – the potential of an open source web analytics platform is boundless. We are just at the beginning of learning the many ways this can be used and extended.

What are the system requirements for your software, and what do people need to know about getting it set up and running?

  • PHP version 5.1.3 or greater
  • MySQL version 4.1 or greater

The installation process is very simple and take 5 minutes. Check out the

Piwik Requirement page

and the

Installation process screenshots
.

What gave you an indication that your project was becoming successful?

There is generally a lot of interest in Piwik, via the forums and by email; more and more companies are contacting us and asking questions, or even proposing to help. Our real challenge is to scale up the team and recruit new people who share the same passion.

What has been your biggest surprise?

Despite the hundreds of companies selling web analytics and giving it for free (Google, Yahoo, etc.), the interest in Piwik has been huge. People are really reluctant about giving away their data. We are also really excited to see many businesses using Piwik to grow their revenues and improve their conversion rates!

What has been your biggest challenge?

On the personal side, keeping a healthy work/life balance has been an interesting challenge for all of us involved in the project. Our objective is now to scale up the team and people: we have a small team of great hardworking people, but we would love to have a great medium sized team to help Piwik grow and expand further.

Why do you think your project has been so well received?

Piwik has offered people a sound alternative to Google Analytics: easy to install, very easy to use, yet very powerful data model. The open source side has also significantly helped: the UI is translated in 27 languages, and third party developers are building plugins to add more functionality to Piwik and make it more appealing.

What advice would you give to a project that’s just starting out?

Build a useful project, be passionate, be a user of your own software, focus on the quality of your code, make the user interface fast and easy to use, installation should be well documented and easy to use, provide at least basic documentation, build up a complete FAQ over time, always be friendly and patient. Market yourself (find talented people to help). Communicate your vision. Have a vision. And last but not least, enjoy.

Where do you see your project going?

We have a

vision for Piwik 1.0

and we are working hard to achieve our objectives and publish Piwik 1.0 within the next few months. The community is our strength and we want Piwik to be the web analytics framework of choice. We are really hoping to scale up the core team, improve the user documentation, and help developers build more plugins.

What’s on your project wish list?

All our priorities are listed in the

Piwik 1.0 Roadmap
, with links to the related tickets. In short: Improve the Page views report, Add a new “multi sites” dashboard, Exclude webmaster or IP Ranges from reports, more functionnality in the admin UI, improve performance, and more documentation for the plugin framework and various other features.

Of course, over the months, users have submitted a lot more feature requests; we keep track of them in the

Feature Requests list
, but we have had to prioritize and pick the most important ones to focus our effort.

What are you most proud of?

We are proud of the general software design – the plugin framework works really well and the Web services based architecture has opened a lot of possibilities. We are also communicating much better what we are doing, how we are doing it, and how external people can

join the project

and create.

How do you coordinate the project?

We communicate a lot via our

bug tracker Trac
, via email, skype or twitter. All team members have SVN access. For all non trivial bug fixes or new features, we produce specifications, mockups, and all the code is reviewed by at least one other team member. External contributors submit patches that a team member will commit after review.

We keep track of all our tasks, bugs, new features in Trac, where tickets are then prioritized; we always assign high priority for bugs, and new features depend on what people decide to work on. We have a lot of ideas to suggest to new comers. We write unit tests and a continuous integration server is running regression tests. You can learn more on our

Development Process wiki page
.

How many hours a month do you and/or your team devote to the project?

Too many. ;)

What is your development environment like?

We work in many different environments from different parts of the globe, each team member is using his own – Laptop running vista, XP, Desktop running Ubuntu, webservers running debian, iPhone 3G, Macbook pro, etc.

Matthieu: I build all the code using Eclipse and the PDT plugin, Xdebug, TortoiseSVN.

Anthony: Working primarily with HTML and interpreted languages, I find I upgrade my laptop and phone more frequently than I do my workhorse machines. (That said, I think I’ll add a Mac.) When it comes to compilers/debuggers IDEs/etc, I’m old school. I’m content if I can ssh in and run vi from the shell.

Maciej: Netbeans for PHP, Firebug, shell, svn, vim.

Milestones:

Date Milestone
June 2007 Specification & development started
March 2008 First public alpha release: 0.1
2008 Two developers: Maciej and Anthon join the Piwik team
February 2009
Piwik Consulting

starts following enterprise demand for paid custom development
May 2009 100,000 downloads after 50 releases

How can others contribute?

There are lots of ways to help for non technical people: use Piwik, translate the UI, participate in the forums, review the documentation, help testing, submit a guest blog post, help with marketing, submit feature suggestions.

If you are a designer or developer, you can also make a huge impact: improve the usability or the look and feel of the User Interface, write new documentation, write new unit tests, do security review, and of course fix a bug (submit a patch) or implement a new feature!

Our development process is documented

and we are very open to new quality contributions.

We have described each of these in the

How to Contribute? section
, everyone can make a difference. We are actively seeking new people to help us make Piwik better and grow faster.


More projects of the month

Project name: Piwik

Date founded: 2007

Project page: http://piwik.org

Project Leader


Matthieu Aubry

Matthieu Aubry

Occupation: Software Engineer at OpenX – the open source adserver

Education: Computer Science – INSA Lyon, France

Key Developers


Anthon Pang


Anthon Pang

Occupation: Real estate broker and IT consultant, former software developer/team lead/technical manager

Education: Computer Systems Technology (Data Communications)

Location: Greater Toronto Area, Canada


Maciej Zawadziński

Maciej Zawadziński

Occupation: CEO of Brand New Media, former experience: CTO, project leader, software developer.

Education: Marketing & Management

Location: Wrocław, Poland


Johan Mathe

Johan Mathe

Experience: Site Reliability Engineer – Google

Education: Master CS

Location: Dublin – Ireland

Why did you place the project on SourceForge.net?

SourceForge is great at helping open source projects: free SVN, Web site, etc. In the first 9 months of the project, we only used SourceForge tools and focused on the development of Piwik.

After this period, because we needed more control, we moved to our own servers. SourceForge is the Internet’s most comprehensive host (and thus, directory) of open source projects, and being on SourceForge is really important for our visibility.

How has SourceForge.net helped your project succeed?