Agility, Java programming, New technologies and more…
  • rss
  • Home
  • Management
  • Agile Programming
  • Technology
  • Linux
  • Event
  • Android app
  • Contact
  • About the author
  • English
  • Francais

Measure and analyze your website audience with Matomo

Fabian Piau | Saturday February 22nd, 2014 - 09:47 AM
  • Print
  • Twitter
  • LinkedIn
  • Facebook
  • Pocket

 Version française disponible

Note
Piwik is the previous name of Matomo. It is possible to find references to the old name in this article. The software was renamed early 2018. To learn more and know the reason, you can read this post on the official blog.

Matomo

Matomo is an open-source tool to analyze the activity and traffic of your website.


Requirements

Matomo is written in PHP, therefore it runs on a PHP server and requires a MySQL database to run. To learn more about the minimum required versions, you can read the Matomo requirements page.

Customizable dashboard in Matomo

Customizable dashboard in Matomo


Features

Matomo is available with a list of plugins out-of-the-box. You’ll find the usual features for this kind of tool:

  • Customizable dashboard (widgets)
  • Data aggregation over a period
  • Number of visits, duration of visits, details on downloads
  • Information on visitor systems (operating system, browser)
  • Geographic (country) and technical (Internet Service Provider) information
  • Personalized email reporting
  • …

It is also possible to add plugins to use more specific features, such as connecting to Matomo using an LDAP directory. You can consult the list of plugins for more information.

As a demonstration is worth a thousand words, the Matomo team provides a sandbox environment to play with the software. Don’t hesitate to check it out.


Installation

It really doesn’t take more than 5 minutes to install Matomo on your server:

  • Upload the Matomo files on your server, for example in a root directory called “matomo”.
  • With your browser, go on “YOUR_WEBSITE_URL/piwik/” to start the graphical installer. Matomo will check that your software configuration is valid, will create all the tables in the database…
  • Include the Javascript snippet in the pages you want to audit (usually simply include it once in a common page such as the footer).


Benefits of Matomo

There are many existing solutions for auditing websites. Among the best known, Google Web Analytics works on all websites. For WordPress blogs, the Stats feature of the Jetpack plugin is also very interesting.

The big advantage of Matomo is that you have the control of your data as it is stored locally in your database and is not sent to the Cloud.
In addition, the tool has advanced features and an active community. For example, you will find a mobile application.

Related posts

kubernetesFlagger – Get Started with Istio and Kubernetes hostingChoose the web hosting service that fits your needs WordPressWordPress plugins of CarmaBlog WordPress qTranslateMake your WordPress site multilingual with qTranslate
Comments
No Comments »
Categories
Technology
Tags
audience, tool, stats
Comments rss Comments rss

The day I discovered Android

Fabian Piau | Tuesday February 4th, 2014 - 07:21 PM
  • Print
  • Twitter
  • LinkedIn
  • Facebook
  • Pocket

 Version française disponible

Note
Since the publication of this post, a new version of the CarmaBlog app is available. A dedicated page has been created gathering all the information about this Android app.

End of December, I received the Nexus 7 tablet for Christmas. Until now, I was a little ashamed to say that I was working in IT but had neither a smartphone on me nor a tablet at home. Actually, I survived until 2013 without psychological trauma…

I was always a bit attracted by the development of applications for mobile devices, but I never started. I didn’t own an Android device so the interest was quite limited though.

Androids

After the investigation of every detail of my Nexus, the exploration of all the available settings in Android and the installation of dozens of applications (I guess you better understand the topic of my previous article now), I needed to go further.

Happy coincidence early January, I came across the course “Creative, Serious and Playful Science of Android Apps” available on Coursera, the MOOC platform. I said to myself why not? So I enrolled! Actually, the course started 5 weeks ago, but it was still time to enroll thanks to a 2 week break planned for the Christmas holidays, I must admit I was a bit lucky. By working hard, I finally manage to catch up and complete four weeks in one (but I needed to put my personal life aside for a while between this and the usual work…). The course is relatively simple and is designed for beginners, those who are not necessarily developers, who have never written a line of Java or even read HTML code in their lives. It is not very complicated, but I realized I am learning a lot about Android. The teacher Lawrence Angrave is just excellent. He is making videos while he is on vacations in Antigua Guatemala, he invites people external to IT such as a young singer for a whole week, he gives details on computer history. In short, a lot of fun things that give a real interactivity to the course.

At the end of the week, students need to submit their work to complete the traditional assignments. This is the moment you have to get into the code and put what you learn into practice. There are two applications to achieve. The first app usually follows a set of precise instructions. The second is free so the candidate is not limited by the scope anymore, in fact the main limit is the knowledge. Coming from the Java world, the Android development is not too difficult to understand. Again, courses are very well explained, not too fast, making the learning fast.

Over the weeks, I found that Android development is quite good, it’s even fun! The development environment is well made, emulators for testing in different screen resolutions work quite well. You must have a good machine. Launching the development environment and Android emulators requires some power. Native multilanguage support is easy done. Unlike Web and desktop applications, it is much simpler and you are well guided. The official documentation is perfect and you will always find answers to your questions on Stackoverflow when you got stuck. The advantage of Android development is that there are not hundreds of frameworks to know, to master, to choose or need to compare. In addition, when you know that the majority of people now have an Android device, possibilities are huge!

However, I see one default: the creation of screens. It is done through layout.xml files. There are several files based on the size and screen resolution, but also the orientation (portrait or landscape mode). You can quickly end up managing many layout files. Especially when you want your application fits on all types of screen, from 4 to 10 inches. This is ok, but it is the layout creation itself that is quite laborious… just to align two buttons under a table, you need some time to figure out how to do it! There are many existing tags to position elements, you never know which one to use. At the end, I regret the good and old HTML/CSS code, even with a bit of Javascript. That’s my feeling.

For the second assignment on Coursera, I needed to think about a second application. I wanted something useful, something that motivates me enough. The first app was a screen with some favorite icons to open the browser and display the selected site. In short, something not very complicated, but completely useless.

Finally, I chose to develop an application to navigate on CarmaBlog, in a view suitable for mobile devices. It incorporates features of the site, coded natively in Android (i.e. available from the Android menu and not from the web pages).

So I introduce you CarmaBlog, my first “real” Android application, already in version 1.3.1 as I added some new features and fixed some bugs.
I did not rely on Google Play, I didn’t want to pay the registration fees for an application that will be installed by a very limited number of users (no doubt about it).

Installing an application outside of Google Play is very simple. Go to the options of your device. Select “Settings” -> “Security” or “Applications” -> then check “Unknown sources”.

To install CarmaBlog, download the “apk” file by clicking on the image or the link below, and then open it to begin the installation, that’s all. I encourage you to disable the option once you have finished the installation (just in case).

CarmaBlog app preview

Below is a list of the main features:

  • Pages are adapted for small screens. We keep the essential information only (i.e. post content)
  • Faster navigation on pages already loaded (cache)
  • Switch between French and English for the language of the posts
  • It is possible to share an article on social networks from the menu
  • Submenu allows quick access to the different categories of posts
  • The search feature is also integrated into the menu
  • Like the site, the application is available in French and English

Add CarmaBlog 1.3.1 by downloading the apk file

The application is not perfect for sure, but I’m pretty happy for a debut.

Here are some broadly technical explanations. The application consists of an Activity that uses a single WebView component that takes the whole screen (so I didn’t have to create a layout.xml file). I retrieve the content of a page with the jsoup library. Then, I display the retrieved content in the WebView. This data retrieving process is done asynchronously using the AsyncTask class. The cache system is rudimentary, it is a simple list that I clear when the user presses the back button (to avoid too much memory consumption).

If you are interested, the complete source code is available on Github. For example, you may be interested in the search and share features, because I use simple and native Android components. Do not hesitate to fork the code, to use it for your own website or share your ideas of improvement. I commented the code and try to extract specific code in utilities and constants classes (as much as possible, this is not always the case I have to admit).

Will I continue and expand my knowledge of Android programming? Will I build a new application? The future will tell me.

So far, the course is not finished and I’m following another one (yes!), “Programming Mobile Applications for Android Handheld Systems”, this second course is more technical and aimed at developers. The course started on January 21th, so it is still time to enroll!

Anyway, I recommend people interested in Android development (but still hesitant to get started) to take a look at the courses, tutorials on the internet and try! It is still possible to register to the course of Lawrence Angrave. It is too late to participate in assignments and obtain a certificate of completion, but it will give you the access to all videos.

Don’t hesitate to take the plunge, although the water may seem a bit cold at first…

Related posts

androidList of my favourite Android apps updapyUpdapy, the applications update center for Windows Mobile devicesA mobile version of your WordPress Blog devoxxDevoxx UK 2018 – Day 1
Comments
1 Comment »
Categories
Agile programming
Tags
android, carmablog, nexus
Comments rss Comments rss
Page 1 of 11
Download CarmaBlog App

RSS feeds

  • RSS feed RSS - Posts
  • RSS feed RSS - Comments

Most viewed posts

  • Changing the language in Firefox - 115,773 views
  • Using Google Forms / Drive / Docs to create an online survey - 63,479 views
  • FAQ – Online survey with Google Forms / Drive / Docs - 53,415 views
  • Customizing Gnome 3 (Shell) - 30,170 views
  • The meaning of URL, URI, URN - 17,557 views
  • Java EE & CDI vs. Spring - 15,612 views
  • Open Street Map, better map than Google Maps? - 14,897 views
  • Comparing NoSQL: Couchbase & MongoDB - 14,167 views
  • Firefox Nightly, Aurora, Beta, Desktop, Mobile, ESR & Co. - 13,219 views
  • API, REST, JSON, XML, HTTP, URI… What language do you speak? - 13,018 views

Recent Comments

  • Pauline on FAQ – Online survey with Google Forms / Drive / DocsMerci Fabian, mais le but étant que nos clients pu…
  • Fabian Piau on FAQ – Online survey with Google Forms / Drive / DocsProbablement mais ces options sont en général paya…
  • Pauline on FAQ – Online survey with Google Forms / Drive / DocsBonjour Fabian, Merci de votre retour, oui j'avais…
  • Fabian Piau on FAQ – Online survey with Google Forms / Drive / DocsBonjour Pauline, ce n'est pas possible de créer un…
  • Pauline on FAQ – Online survey with Google Forms / Drive / DocsBonjour, Je suis en train de créer un Google Forms…

Recent posts

  • How to write a blog post? At least my way! - 9 months and 3 weeks ago
  • Bot Attacks: You are not alone… - 2 years and 5 months ago
  • Flagger – Monitor your Canary deployments with Grafana - 3 years and 3 months ago
  • Flagger – Canary deployments on Kubernetes - 3 years and 4 months ago
  • Flagger – Get Started with Istio and Kubernetes - 3 years and 4 months ago
  • Expedia CoderDojo in London - 4 years and 2 months ago
  • Volunteering at Devoxx4Kids - 4 years and 4 months ago
  • A Java 11 migration successful story - 4 years and 9 months ago
  • Tips to make your WordPress website secure - 4 years and 11 months ago
  • Devoxx UK 2018 – Day 2 - 5 years and 3 months ago
  • Devoxx UK 2018 – Day 1 - 5 years and 4 months ago
  • Wise, Revolut and Monzo, a small revolution for travelers and expats - 5 years and 8 months ago
  • Autocomplete for Git - 6 years and 4 months ago
  • Swagger, the automated API documentation - 6 years and 6 months ago
  • Microservices architecture – Best practices - 6 years and 11 months ago
Buy me a coffee

Language

  • Français
  • English

Follow me!

Follow me on Linkedin
Follow me on Twitter
Follow me on Stackoverflow
Follow me on Github
Follow me on Rss
Link to my Contact

Email subscription

Enter your email address to receive notifications of new posts.

Tags

.net agile agility android bash best practices blog cache cloud computing conference continuous integration css developer devoxx docker eclipse extreme programming firefox flagger google helm hibernate istio java job jug kubernetes london mobile computing overview performance plugin programmer script security sharing society spring tdd test tool ubuntu windows wordpress

Links

  • Blog Ippon Technologies
  • Blog Publicis Sapient
  • Blog Zenika
  • Classpert
  • CommitStrip
  • Coursera
  • Le Touilleur Express
  • Les Cast Codeurs Podcast
  • OCTO talks !
  • The Twelve-Factor App

Categories

  • Event (15)
  • Linux (3)
  • Management (8)
  • Agile programming (29)
  • Technology (45)

Archives

  • December 2022 (1)
  • April 2021 (1)
  • June 2020 (1)
  • May 2020 (2)
  • July 2019 (1)
  • May 2019 (1)
  • December 2018 (1)
  • October 2018 (1)
  • June 2018 (1)
  • May 2018 (1)
  • January 2018 (1)
  • May 2017 (1)
  • March 2017 (1)
  • October 2016 (1)
  • April 2016 (2)
  • March 2016 (1)
  • November 2015 (1)
  • May 2015 (1)
  • February 2015 (1)
  • December 2014 (1)
  • November 2014 (1)
  • September 2014 (2)
  • August 2014 (1)
  • July 2014 (2)
  • June 2014 (1)
  • April 2014 (1)
  • March 2014 (1)
  • February 2014 (2)
  • January 2014 (1)
  • December 2013 (1)
  • November 2013 (1)
  • October 2013 (3)
  • September 2013 (5)
  • July 2013 (1)
  • June 2013 (1)
  • May 2013 (1)
  • April 2013 (1)
  • March 2013 (2)
  • February 2013 (1)
  • January 2013 (2)
  • December 2012 (2)
  • October 2012 (1)
  • September 2012 (1)
  • July 2012 (1)
  • May 2012 (1)
  • April 2012 (1)
  • March 2012 (1)
  • February 2012 (1)
  • January 2012 (2)
  • December 2011 (1)
  • November 2011 (2)
  • October 2011 (2)
  • September 2011 (1)
  • July 2011 (1)
  • June 2011 (2)
  • April 2011 (1)
  • March 2011 (1)
  • February 2011 (1)
  • January 2011 (2)
  • November 2010 (2)
  • September 2010 (1)
  • August 2010 (1)
  • July 2010 (1)
  • June 2010 (1)
  • May 2010 (1)
  • April 2010 (1)
  • March 2010 (1)
  • February 2010 (1)
  • December 2009 (1)
  • November 2009 (1)
  • October 2009 (2)
  • September 2009 (2)
  • August 2009 (3)
  • July 2009 (1)
  • June 2009 (2)
Follow me on Twitter
Follow me on Linkedin
Follow me on Stackoverflow
Follow me on Rss
Link to my Contact
Follow me on Github
 
Fabian Piau | © 2009 - 2023
All Rights Reserved | Top ↑