<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.slicer.org/w/index.php?action=history&amp;feed=atom&amp;title=Documentation%2FLabs%2FApplicationUsageAnalytics</id>
	<title>Documentation/Labs/ApplicationUsageAnalytics - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://www.slicer.org/w/index.php?action=history&amp;feed=atom&amp;title=Documentation%2FLabs%2FApplicationUsageAnalytics"/>
	<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Documentation/Labs/ApplicationUsageAnalytics&amp;action=history"/>
	<updated>2026-06-19T13:40:56Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.33.0</generator>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Documentation/Labs/ApplicationUsageAnalytics&amp;diff=63482&amp;oldid=prev</id>
		<title>Lasso: Updated link based on request from Revenera</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Documentation/Labs/ApplicationUsageAnalytics&amp;diff=63482&amp;oldid=prev"/>
		<updated>2020-12-04T20:28:17Z</updated>

		<summary type="html">&lt;p&gt;Updated link based on request from Revenera&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revision as of 20:28, 4 December 2020&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l22&quot; &gt;Line 22:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 22:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=Server options=&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=Server options=&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Hosted services: easier to get started, no need for experts to maintain/update; may be locked out from certain countries, limited customization&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Hosted services: easier to get started, no need for experts to maintain/update; may be locked out from certain countries, limited customization&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** Google Universal Analytics: The largest and most sophisticated solution for traffic analysis that you can get for free. APIs are provided for desktop app tracking, but built-in features are mostly geared towards website and e-commerce tracking - and not optimal for desktop applications (where you would want to send aggregate metrics, accumulate and upload data in batches, etc. - [https://www.&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;revulytics&lt;/del&gt;.com/blog/tracking-desktop-applications-with-google-analytics-what-you-should-know see comparison to &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Revulytics&lt;/del&gt;] for a list of limitations).&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** Google Universal Analytics: The largest and most sophisticated solution for traffic analysis that you can get for free. APIs are provided for desktop app tracking, but built-in features are mostly geared towards website and e-commerce tracking - and not optimal for desktop applications (where you would want to send aggregate metrics, accumulate and upload data in batches, etc. - [https://www.&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;revenera&lt;/ins&gt;.com/blog&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;/software-monetization&lt;/ins&gt;/tracking-desktop-applications-with-google-analytics-what-you-should-know&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;/ &lt;/ins&gt;see comparison to &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Revenera&lt;/ins&gt;] for a list of limitations).&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** Many other similar services, for a small monthly fee (typically below $100), see https://github.com/onurakpolat/awesome-analytics&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** Many other similar services, for a small monthly fee (typically below $100), see https://github.com/onurakpolat/awesome-analytics&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** [https://www.&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;revulytics&lt;/del&gt;.com/ &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Revulytics&lt;/del&gt;]: Specialized desktop app usage tracker. It is supported on win/mac/linux, could do everything what we need very nicely, but it's not open (you have to link a binary library into your application).&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** [https://www.&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;revenera&lt;/ins&gt;.com/ &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Revenera&lt;/ins&gt;]: Specialized desktop app usage tracker. It is supported on win/mac/linux, could do everything what we need very nicely, but it's not open (you have to link a binary library into your application).&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Self-hosted open-source systems: free, we can control our destiny, chance of being locked out from countries can be minimized; significant amount of work to set up and maintain&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Self-hosted open-source systems: free, we can control our destiny, chance of being locked out from countries can be minimized; significant amount of work to set up and maintain&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** https://piwik.org/&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** https://piwik.org/&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** http://www.openwebanalytics.com/&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** http://www.openwebanalytics.com/&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Lasso</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Documentation/Labs/ApplicationUsageAnalytics&amp;diff=50327&amp;oldid=prev</id>
		<title>Halazar: added non-blocking</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Documentation/Labs/ApplicationUsageAnalytics&amp;diff=50327&amp;oldid=prev"/>
		<updated>2017-03-10T17:16:04Z</updated>

		<summary type="html">&lt;p&gt;added non-blocking&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revision as of 17:16, 10 March 2017&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l17&quot; &gt;Line 17:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 17:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** data uploading: this is the only server-specific component&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** data uploading: this is the only server-specific component&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** Probably it would be a Python module, as Python SDK is available for almost all services&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** Probably it would be a Python module, as Python SDK is available for almost all services&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;** must be non-blocking&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Server: there are many options, none of them are perfect, see below&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Server: there are many options, none of them are perfect, see below&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Halazar</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Documentation/Labs/ApplicationUsageAnalytics&amp;diff=50324&amp;oldid=prev</id>
		<title>Lasso: Created page with &quot;=Requirements= * We would need to know: ** Slicer application downloads ** extension downloads ** Slicer application startups ** Slicer module usage (how many times user switc...&quot;</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Documentation/Labs/ApplicationUsageAnalytics&amp;diff=50324&amp;oldid=prev"/>
		<updated>2017-03-10T17:04:10Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;=Requirements= * We would need to know: ** Slicer application downloads ** extension downloads ** Slicer application startups ** Slicer module usage (how many times user switc...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;=Requirements=&lt;br /&gt;
* We would need to know:&lt;br /&gt;
** Slicer application downloads&lt;br /&gt;
** extension downloads&lt;br /&gt;
** Slicer application startups&lt;br /&gt;
** Slicer module usage (how many times user switched to a module and % of time used)&lt;br /&gt;
* Possibility of hosting our own server would be preferred (to avoid blocked in certain countries, ensuring long-term access to our data, etc.)&lt;br /&gt;
* User should be notified and have the option to opt out&lt;br /&gt;
* It should not be tightly integrated into Slicer (should be an optional module that can be excluded from the build)&lt;br /&gt;
* It should be possible to customize it for private builds of Slicer (so that it can use a different backend)&lt;br /&gt;
&lt;br /&gt;
=Design=&lt;br /&gt;
* Slicer-side:&lt;br /&gt;
** add a few Qt events that a Python module can observe (application startup, module switch, crash, etc)&lt;br /&gt;
** data caching (so that data can be uploaded later, when there is network connection)&lt;br /&gt;
** data accumulation (report metrics such as total hours of Slicer and individual modules used instead of reporting each module switch)&lt;br /&gt;
** data uploading: this is the only server-specific component&lt;br /&gt;
** Probably it would be a Python module, as Python SDK is available for almost all services&lt;br /&gt;
* Server: there are many options, none of them are perfect, see below&lt;br /&gt;
&lt;br /&gt;
=Server options=&lt;br /&gt;
* Hosted services: easier to get started, no need for experts to maintain/update; may be locked out from certain countries, limited customization&lt;br /&gt;
** Google Universal Analytics: The largest and most sophisticated solution for traffic analysis that you can get for free. APIs are provided for desktop app tracking, but built-in features are mostly geared towards website and e-commerce tracking - and not optimal for desktop applications (where you would want to send aggregate metrics, accumulate and upload data in batches, etc. - [https://www.revulytics.com/blog/tracking-desktop-applications-with-google-analytics-what-you-should-know see comparison to Revulytics] for a list of limitations).&lt;br /&gt;
** Many other similar services, for a small monthly fee (typically below $100), see https://github.com/onurakpolat/awesome-analytics&lt;br /&gt;
** [https://www.revulytics.com/ Revulytics]: Specialized desktop app usage tracker. It is supported on win/mac/linux, could do everything what we need very nicely, but it's not open (you have to link a binary library into your application).&lt;br /&gt;
* Self-hosted open-source systems: free, we can control our destiny, chance of being locked out from countries can be minimized; significant amount of work to set up and maintain&lt;br /&gt;
** https://piwik.org/&lt;br /&gt;
** http://www.openwebanalytics.com/&lt;/div&gt;</summary>
		<author><name>Lasso</name></author>
		
	</entry>
</feed>