Categories
Eclipse

Community metrics for your eclipse.org project

When you run a project at Eclipse, you are very likely interested in getting some indicators regarding the health of your community.

And as Randall Munroe suggests, maybe these indicators will be a good way for you to extrapolate on when your project will actually rule the world 🙂

http://xkcd.com/605/ extrapolating

Download stats

One key indicator is the number of downloads for your deliverables. With Koneki, we have three main channels of distributions of our Lua IDE, Lua Development Tools:

  • Our ready-to-use RCP distro which is served by download.eclipse.org and its mirrors,
  • We are part of the Juno aggregator and serve an Eclipse feature for LDT
  • And, last but not least, we use the awesome Eclipse MarketPlace to reach even more users and simplify the installation process

Making sure you track your eclipse.org downloads

Prior to even trying to consolidate your download statistics, you have to make sure that the files you deliver are correctly tracked by the eclipse.org infrastructure.

For our RCP product, it means that we have to make sure that we use mirror URLs. Not only does it mean that it is likely that the best mirror will be picked, and the download experience will be as fast as possible for the end user, but it also means that this “hit” will be tracked by eclipse.org servers.
We’ll see in just a few moments how you can actually access the data collected by this script.

When it comes to your update sites, whether your are aggregated in the Simultaneous Release train our have separate repositories, you should have correctly configured your p2 repositories so as, again, download.eclipse.org is correctly “pinged” every time such or such IU is installed by someone.
You very likely don’t want to track all your IUs (except maybe if you have platform-specific fragments and want to track then), and will usually only track your main feature(s).

Accessing the download stats

The statistics of the files downloaded via the mirror script and p2 downloads stats mechanism mentioned earlier are accessible to all Eclipse committers via the My Foundation Portal.

marketplace

If you are distributing stuff via the Eclipse MarketPlace, you probably already know that the Metrics tab of your project gives you access to the download stats.

Consolidating

Now that you have download stats being collected by your downloads, and installations from your update sites or via the Marketplace, I am sure you’d like to monitor them easily, right?

So hopefuly you’ll be interested in the following Ruby script:

As you can see, I need to improve the code/comment ratio 🙂 but I am sure you can tweak it to suit your needs.

The main thing that may not be obvious at first sight is that the script expects on the standard input a raw HTML corresponding to the download stats, as served by My Foundation Portal, you are interested in parsing and consolidating.
Please make sure you are in the “Daily download stats per file” view mode before running your query. For Koneki, I run the query against the partial file name “koneki” to get all the informations regarding downloads of file whose name contain “koneki”.

The script will then use regular expressions black magic to arrange your download stats, p2 repo stats, as well as MarketPlace stats (for which you can see the values are stored in the script itself, lines 109-129) into “downloadtype-date-# of downloads” triplet.

You’ll also see that, probably because of some nasty bots, some download stats are erroneous and have to be fixed manually (lines 41-79).

If all goes well, the script will output consolidated stats on stdout, … something like this:

linux.gtk.x86	2012-12-17	26
linux.gtk.x86	2012-12-15	7
linux.gtk.x86	2012-12-12	2
linux.gtk.x86	2012-12-11	1
linux.gtk.x86	2012-12-10	2
win32.win32.x86	2012-12-17	44
win32.win32.x86	2012-12-16	2
win32.win32.x86	2012-12-15	8
win32.win32.x86	2012-12-14	3
win32.win32.x86	2012-12-13	5
juno	2012-09-10	74
juno	2012-09-09	66
juno	2012-09-08	59
juno	2012-09-07	53
marketplace	2011-11-01	3
marketplace	2011-11-02	3
marketplace	2011-11-03	3
marketplace	2011-11-04	3
koneki stats2

It should now be trivial for you to feed this into Excel, or BIRT, and create a crosstab that you can use as is, or for getting nice charts

Forum activity

Another great metric for evaluating the success of your community is the activity on your forum.

Since the FUDForum instance hosted at eclipse.org exposes RSS feeds for each forum, it is pretty trivial to use these feeds for knowing who posts on your forum, and when.

Again, a small Ruby script is gonna be of great help for consolidating the number of posts per day, as well as knowing who your top contributors are.

This script is way simpler than the previous one, and you should have nothing to adapt besides using your own frm_id instead of Koneki’s.
As for the downloads, you can feed the output of this script into your favorite spreadsheet, and visualize the activity on your forum.

eclipse.org resources are precious so please try to avoid running this script for digging into the whole history of your forum, especially if it is pretty large.

I hope you found this all useful, feel free to comment, fork, adapt, and improve these scripts, and share about the metrics you are monitoring!

Categories
Eclipse

M2M at EclipseCon Europe

Last year, EclipseCon Europe was the moment when the Eclipse Foundation, together with Eurotech, IBM and Sierra Wireless announced the creation of the M2M Industry Working Group.

Over the last 12 months, a great deal of stuff has happened: there are now three projects living under the umbrella of the Working Group: Koneki delivers tools for simplifying M2M development, Paho provides several client libraries and tools for the MQTT protocol, and Mihini plans on doing the first contribution for an embedded development framework in the upcoming months.
Recent news also include the creation of an M2M portal at m2m.eclipse.org that aims at being a window on all the M2M technologies being developed at Eclipse.

Therefore it is no surprise that there will be several interesting talks about M2M into the program of EclipseCon Europe, starting in just 2 weeks:

  • M2M is a fairly new domain, and it can be complex to understand the scenarios it addresses. Bosch Software Innovations will give an overview of these scenarios, and how OSGi can be leveraged for simplifying M2M development ;
  • The MQTT everywhere talk will not only be a deep dive into the MQTT protocol and show you how easy it is to use, but will also showcase different targets, from Java to PHP to tiny microcontrollers such as Arduino ;
  • I am a huge fan of Open Source Hardware, and I am really looking forward to Simon Maple’s talk illustrating how the Raspberry Pi and Tinker Forge components can be used for creating MQTT-based solutions ;
  • If you want to learn more about the 3 projects coordinated by the M2MIWG, and especially why Lua is a language of choice for developing M2M applications, you should definitely join Using Eclipse and Lua for the Internet of Things with projects Koneki, Mihini and Paho.

Ha, and of course I am very excited by the Flight Club (hat tip to Wayne :-)) contest, which showcase what may be one of the coolest M2M use cases: remote control of a freakin’ drone!

Categories
Eclipse

Upcoming M2M webinars series

Did you register for the upcoming M2M (Machine-to-Machine) webinars series?

In the next few weeks there will be four webinars to give you not only a general introduction to what Machine-to-Machine is, but also highlight how actors of the Eclipse community are working on addressing the challenges associated with M2M technologies.
The M2M initiative at Eclipse is at the crossroads of complex industrial use cases, bleeding-edge technologies, and opportunities to get people from the DIY/Maker movement on-board, opening the door to even more innovation and yet to be invented solutions!

There really are very cool technologies being developed at the moment: on the protocol front we provide client libraries and simulators for protocols such as OMA-DM and MQTT, tools include a complete environment to develop Lua applications, and in the next couple months the Mihini project will deliver a full-blown embedded framework for M2M that will make it very easy to connect any Linux-capable device to the Internet of Things.

The first webinar is tomorrow, Thursday 13th, and will give you more insight on what M2M is, and what are the projects at Eclipse that already allow you to develop M2M solutions! Register now!

 

Did you register for the upcoming M2M (Machine-to-Machine) webinars series?

In the next few weeks there will be four webinars to give you not only a general introduction to what Machine-to-Machine is, but also highlight how actors of the Eclipse community are working on addressing the challenges associated with M2M technologies.
The M2M initiative at Eclipse is at the crossroads of complex industrial use cases, bleeding-edge technologies, and opportunities to get people from the DIY/Maker movement on-board, opening the door to even more innovation and yet to be invented solutions.

There really are very cool technologies being developed at the moment: on the protocol front we provide client libraries and simulators for protocols such as OMA-DM and MQTT, tools include a complete environment to develop Lua applications, and in the next couple months the Mihini project will deliver a full-blown embedded framework for M2M that will make it very easy to connect any Linux-capable device to the Internet of Things.

The first webinar is tomorrow, Thursday 13th, and will give you more insight on what M2M is, and what are the projects at Eclipse that already allow you to develop M2M solutions. Register now!