Our Vision for Piwik

Piwik's mission statement is "To create, as a community, the leading international open source web analytics application, providing access to all functionality through open components and open APIs".

To achieve the goals within our mission statement, the Piwik team along with the Piwik community have defined a vision for the product, as well as a list of features and documentation we aim to provide. This page aims to show precisely what our objectives are, and describe how you can contribute and help the Piwik project!

If you are interested in contributing to Piwik, please check out the How to contribute? page.

The short version

With Piwik 1.0, we aim to provide:

  • a solid web analytics product

the leading open source web analytics software that you can host on your webserver, that provides the basic set of web analytics reports (visitors, pages, referers, goals)... plus more.

  • a great user experience

easy installation process, customizable admin settings, easy to use user interface, useful and easy to understand reports

  • a powerful plugins framework

that allows developers to customize Piwik, record new custom data or access new reports. We also want to provide a simple platform for developers to host their plugins and users to browse existing plugins.

  • an active community

of users, developers and consultants; user support provided through the documentation, FAQ and  Forums; developer support provided through the  developer documentation and the  piwik-hackers mailing list.

  • Piwik 1.0 released in 2010

What will be Piwik 1.0?

High priority new features

  • New Update check mechanism, with one click update of Piwik
  • New Javascript tagging API #355
  • Multi-sites dashboard #389
  • New Plugin: Live! Shows latest visitors and their path in real time #44
  • Exclude webmaster (cookie, ip, ip ranges) #42 and #43
  • Finish the beta Goal tracking plugin #774
  • New report: display entry / exit / time per page report in the Actions > Pages report #306
  • Possibility to export some widgets only without having to give everybody access to all data for a website: #283
  • Push API to record visits, page views from any source (web service, server logs) #134

Please see below for the detail of the tickets we aim to implement / fix for Piwik 1.0.

Improved Web Analytics Reports

  • New report: actions by html page title as well as reporting by URL, see #530
  • Fix and Improve the "Actions" reports (page views, downloads, outlinks): #556, #487, #535
  • New report: top flattened URLs categorization #707
  • New report: Loyalty and Recency #536
  • Improve the New Vs Returning visitors report to make it more useful #539
  • Improve the Referers > Overview report to make it more useful: #421
  • Fix existing data issue in reports: see #373, #158, #393, #537

General tasks

  • Implement proper handling of dates, title strings in all Piwik UI elements: graphs, tables, legends: #126 and #84
  • Finish internationalization (i18n): support for translating graphs and dates: #251
  • Update libraries to the latest versions: update Zend classes #497, update Jquery, Jquery UI and Jquery plugins #510
  • Add common header to all Piwik files: #524
  • Fix small issues in Piwik API #594, #603, #602, #597, #582, #578, #579

User Interface

  • Add visual feedback to suggest to users why there is no data to show #404
  • The refresh (and back) button should work as expected and restore the same UI state: #103
  • Graphs improvements: Update the graph library to latest version #322
  • ... and implement improvements to graphs: Add icon "save as image PNG" #624, Add "export as" icons below all Evolution graph #625, Better display weeks in graphs #532
  • Implement small UI features or fix existing issues: see #334, #159, #555, Widget remembers settings #90, Expand all rows #1040
  • Automatically provide simple RSS export for all Piwik widgets: #151

Tracking

  • Rewrite the Javascript tracking code using a clean API, adding several new features #355
  • Misc improvements: Detect more mobile phones and consoles (#395), make sure Piwik complies with WAA definitions (#396), detect Google CSE (#426)
  • Trigger the Piwik archiving from the Tracker to ensure the data is often processed #587
  • Improve campaigns tracking: URL builder, JS API and user documentation #1042, Campaign name and keyword variables defined in a list, and includes smart defaults #855
  • Piwik should properly decode all keywords including ones from exotic search engines: #435, #589, #575

Better Admin, more customization

  • Implement automatic update checking + one click update of Piwik: #221
  • Plugin to exclude / include only some Urls parameter: #41
  • Support for editing: timezone per website #56, currency per website #1001
  • Each user should access a page to: edit their info (alias, email, password) #526, display the javascript code for their sites #554, define the website to load by default in the UI #401, display time the reports were generated: #1052
  • Ability to anonymize IPs in the database (Germany community request) #692

Improve Plugin architecture

  • Decide on hook naming convention and update existing hooks #613
  • Auto generated list of Piwik hooks and make it easy for developers to suggest new hooks to be added to core #264
  • Based on most frequent use cases, add a set of basic hooks that third party developers would need #615
  • Fix existing limitations of plugin architecture: config file per plugin: #24, unit tests per plugin: #540, uninstall a plugin #546, install via upload the .zip or specifying URL #607
  • Build useful Developer documentation
    • Build example plugins to demonstrate each Piwik feature: #280, example plugin to store user id or ecommerce transaction details #998
    • "Plugin Development Get Started guide" that explains high level possibilities of the Piwik plugins framework
    • Document available Smarty functions: #115

Performance & Scaling

These are the most important performance limitations that we aim to improve in Piwik 1.0:

  • Fix memory leak error during Piwik archiving task #766
  • MultiSites report should work when Piwik has thousands of registered websites (currently only scales to a few hundreds websites) #1077
  • Piwik creates one cookie per install which is not scalable, we should pack the info for all websites in one cookie only: #409
  • Rotating and Purging Piwik logs: #5
  • Improve Piwik performance. See suggestions in: #386

User Documentation

  • provide a list of features with at least basic documentation: #180, document tracking adwords campaign #517, document the campaign feature #604, document the goal tracking feature #616
  • how to contribute to Piwik: #181
  • list of existing translations and translation contacts: #381
  • "I'm very interested in Piwik, [...]. But, the big thing holding us back now is pronouncing the name. Can you give me guidance?": #541

Bugs and current limitations

We are trying as much as possible to practise a "no bug" policy; this means we will generally give high priorities to bugs so they can get fixed quickly. The critical or important bugs are generally assigned to the  current Milestone while non critical bugs or bugs that depend on another ticket are set to the  next milestones.

What will not be Piwik 1.0?

Piwik users have suggested lots of great ideas and feature requests; we kept only a few of them - the most requested or the most important features - and saved all feature suggestions under the Milestone Features requests after Piwik 1.0. Before suggesting us a new idea, please search the forums and search Trac to see if your idea has already been suggested. If you can't find it, please create a new ticket with a very precise description of what your idea is, ideally with mockups if your idea requires to display data in the user interface (see How to submit a new feature request?).

Piwik 1.0 won't provide advanced web analytics features that can be found in other commercial products: custom report generator, custom segments and real time segmentation, funnel analysis, advanced ecommerce reporting, etc. Some of these features could be built in plugins, but require significant effort and challenge to make them work with high traffic websites. We are building an open web analytics framework that people will use to later add these advanced features.

Of course, features listed in this page are only a proposal: if a developer comes and builds one of the Features that is not listed above (for example, one feature from this list), we will definitely work with him/her to integrate the feature in Piwik!

How to contribute to Piwik?

Check out How to Contribute to Piwik?. We need your help!