Piwik should provide a more clear set of reports regarding Devices, Operating systems, browsers, significantly enhancing the analytics insights on the visitors browsing experience.
This ticket is about adding a couple new report and fixing related issues at the same time. Proposal: - Add New Device type report comparing generic families of devices: Computer, Mobile, Tablet, TV, Console, Portable console. - It would be displayed between "resolutions" and "mobile vs dekstop" report. - This would be a superset of the existing reports "Operating systems" which does already a simple "device" aggregation (especially reports mobile devices separately since they run a different OS by design). I propose to add a "related report" link that will not load the report in ajax, but will instead link to #devices hash tag in the page below to load the 'Device type report' - Add new Manufacturer" report that would grep the user agent for known brands: Samsung, Apple, HTC, Motorola, Amazon, etc. - we need to find the full list somewhere - and their favicons. - Add new Manufacturer+ Model report reporting eg. Nokia N80 - Modify Browser version report to segment by Opera Mobile VS Opera #2807 - Modify Operating systems report - to segment Wii VS WiiU #3599 - to segment Chrome OS VS other Linux (follow up of #3213) - detect Ubuntu VS other Linux
Also see a feature request: Detecting TVs #3505
While we work on this, please let's try to implement this as well: #3157 Add a new visitor segment attribute "isMobile" (including tablet) Open for discussion...
Note: this will require some changes in the Schema of log_visit and log_conversion so this is definitely not trivial change. Before starting work on this one please get in touch to discuss specs.
@old_bill we won't do anything like that, but instead will use a library that mostly works and that we can update later on when new devices are released. Updating the list will happen when you update Piwik ~ every month or two.
If you're interested in this ticket and can sponsor please get in touch NOW with us at: http://piwik.org/consulting/#contact-consultant
In 83904c1de7bb5b6efe20bbb73f56e67f2aeb291a: Adding user agent to the newVisitorInformation tracker hook refs #3612
In 7a3e6f4bb793c387b5bf6b599e1bd3b968163024: Refs #3612 Adding new icons for browsers/os detected by upcoming advanced device detection
In 6804733ddcb9fcf72b2df3f796a0d5b228bb0ab2: Adding new DevicesDetection plugin, developed by Clearcode and sponsored by a client of Piwik Professional Services. A beautiful work of engineering, all released under GNU/GPL license!
Fixes #3612 - when enabled, the plugin will add a new submenu: Visitors> Devices - the new devices report contains NEW reports: - Much improved Device type (tracking 'car browser', 'console', 'desktop', 'feature phone', 'smartphone', 'tablet', 'tv') - Device brand (tracking more than 100 brands such as Nokia, Nintendo, Lenovo or Apple. - Device model (tracking hundreds of phone/console models) - Operating System versions (tracking 70 variations of operating systems including Ubuntu vs Kubuntu vs Debian vs Lubuntu vs Xubuntu) - Operating System families (Android vs Google TV vs Windows vs Windows mobile vs Mobile gaming consoles) - Browser versions - Browser families
Refs piwik/device-detector#3505 There is some basic TV detection included and maybe you can help contribute better detections (see the .yml data files containing the regular expressions in YAML format)
HOW DOES IT WORK
This is quite beautiful system. It is a plugin that disabled by default. when enabled, it will create additional columns in the DB. Also at tracking, it will look at the user agent, and try to match it against one browser we know in the databases. The databases of user agent matching are composed by 3 YML files, parsed by spyc.php into php array.
These 3 YML took dozens of hours of work and testing with dozens of mobile phones and devices for accuracy. We are happy with the result as they should cover > 80% of the devices commonly used. We hope the community will help us build up these YML files and make them better, so we can track accurately 90% or 95% of requests.
The performance overhead is pretty small, but parsing the YML files + running dozens of regex will add some overhead. This is why it is still disabled by default. We will think about how to integrate it in core, in the next few months.
Please let me know if you find any problem with this new awesome code!
In 4f4d377876adcf698c00ca2141f9cff26bf75a83: Refs #3612 - making some tests pass == fixing bugs
In 58c88c1b2980ee1c02a47cb3d35de1480402e6ac: Refs #3612 - making tests pass! - enabling DevicesDetection tests, even though DevicesDetection plugin is disabled by default.
In 771239a7dafff862f25be8abf1d4d68bacd91f03: Adding Chrome mobile icon (ideally we need a unit test to check we have icons for all browsers/OS referenced in the UserAgentParserEnhanced) Refs #3612
See also: #3961 New segment: deviceType to let you segment visitors by: desktop, smartphone, tablet, feature phone, console, tv, car browser
See follow up ticket: #3962