33
Google Analytics for Eclipse Plugins by Andre Dietisheim & Max Rydahl Andersen Red Hat Monday 25 March 13

Google analytics for Eclipse Plugins

Embed Size (px)

DESCRIPTION

http://www.eclipsecon.org/2013/sessions/google-analytics-eclipse-plugins

Citation preview

Page 1: Google analytics for Eclipse Plugins

Google Analytics for Eclipse Plugins

by Andre Dietisheim & Max Rydahl Andersen

Red Hat

Monday 25 March 13

Page 2: Google analytics for Eclipse Plugins

The Challenge

Monday 25 March 13

Page 3: Google analytics for Eclipse Plugins

How it works...

Monday 25 March 13

Page 4: Google analytics for Eclipse Plugins

How it works...

Monday 25 March 13

Page 5: Google analytics for Eclipse Plugins

How it works...

Monday 25 March 13

Page 6: Google analytics for Eclipse Plugins

How it works...

http://www.google-analytics.com/__utm.gif?....

Monday 25 March 13

Page 7: Google analytics for Eclipse Plugins

How it works...

Monday 25 March 13

Page 8: Google analytics for Eclipse Plugins

org.jboss.tools.usage

Monday 25 March 13

Page 9: Google analytics for Eclipse Plugins

Github

github.com/jbosstools/jbosstools-base

based on

code.google.com/p/jgoogleanalytics/

Monday 25 March 13

Page 10: Google analytics for Eclipse Plugins

Separation of concerns

Monday 25 March 13

Page 11: Google analytics for Eclipse Plugins

Triumvirate

Monday 25 March 13

Page 12: Google analytics for Eclipse Plugins

Is Eclipse a browser?

Monday 25 March 13

Page 13: Google analytics for Eclipse Plugins

Pretend we are!

Monday 25 March 13

Page 14: Google analytics for Eclipse Plugins

Browser User Agent

USERAGENT_WIN = "{0}/{1} (Windows; U; Windows NT {2}; {3})";USERAGENT_MAC = "{0}/{1} (Macintosh; U; Intel Mac OS X {2}; {3})";USERAGENT_LINUX = "{0}/{1} (X11; U; Linux i686; {3})";

Monday 25 March 13

Page 15: Google analytics for Eclipse Plugins

Linux Distribution?

public String getUserDefined() { return getLinuxDistroNameAndVersion();}

Monday 25 March 13

Page 16: Google analytics for Eclipse Plugins

Flash Version?

public String getFlashVersion() { return getJavaVersion();} private String getJavaVersion() { return System.getProperty(SYSPROP_JAVA_VERSION);}

Monday 25 March 13

Page 17: Google analytics for Eclipse Plugins

Disguise!

BrandingMonday 25 March 13

Page 18: Google analytics for Eclipse Plugins

Customization

Monday 25 March 13

Page 19: Google analytics for Eclipse Plugins

An OSGI service at hand

public interface IUsageBranding { public String getStartupAllowReportingTitle();

public String getStartupAllowReportingMessage(); public String getGoogleAnalyticsAccount(); public String getGoogleAnalyticsReportingHost();

com.jboss.jbds.usage.branding

Monday 25 March 13

Page 20: Google analytics for Eclipse Plugins

...is this thing even legal !?

Legal ?

Monday 25 March 13

Page 21: Google analytics for Eclipse Plugins

Monday 25 March 13

Page 22: Google analytics for Eclipse Plugins

Monday 25 March 13

Page 23: Google analytics for Eclipse Plugins

Monday 25 March 13

Page 24: Google analytics for Eclipse Plugins

What have we learned/found ?

Monday 25 March 13

Page 25: Google analytics for Eclipse Plugins

Monday 25 March 13

Page 26: Google analytics for Eclipse Plugins

4%

12%

84%

WindowsLinuxMac

Monday 25 March 13

Page 27: Google analytics for Eclipse Plugins

20%

4%

12%

64%

WindowsLinuxMacWindows XP

Monday 25 March 13

Page 28: Google analytics for Eclipse Plugins

Monday 25 March 13

Page 29: Google analytics for Eclipse Plugins

Monday 25 March 13

Page 30: Google analytics for Eclipse Plugins

Monday 25 March 13

Page 31: Google analytics for Eclipse Plugins

Monday 25 March 13

Page 32: Google analytics for Eclipse Plugins

NextMonday 25 March 13

Page 33: Google analytics for Eclipse Plugins

Q & A

github.com/jbosstools/jbosstools-base

@adietsheim@maxandersen

Monday 25 March 13