SlideShare a Scribd company logo
1 of 14
Application
telemetry & analytics
SHORTLISTED FRAMEWORKS
Which were looked at?
 Google Analytics
 https://analytics.google.com
 Application Insights (MS)
 https://azure.microsoft.com/en-us/services/application-insights/
 PIWIK
 https://piwik.org/
 Telerik Analytics (was: EQATEC)
 http://www.telerik.com/analytics
Why these?
 Market penetration, community size, support quality, ecosystem
 Price = free, at least for starters
 Alternatives all pretty much offer similar functionality or are github
projects of questionable viability
 Decent overview at https://github.com/onurakpolat/awesome-analytics
 Almost all analytics / telemetry is geared towards web, comparably few
towards desktop applications / general purpose
Terminology heads-up
 ” Telemetry is an automated communications process by which
measurements and other data are collected at remote or inaccessible
points and transmitted to receiving equipment for monitoring”
 ” Analytics is the discovery and communication of meaningful patterns in
data. Analytics often favours data visualization to communicate insight.”
Google analytics
 The de-facto standard
 Used in appx 50% of sites that use analytics
 Price tag = freemium = free for our purposes, potential to upgrade
 Intended for online / web but can be easily repurposed to track desktop
applications (C# support)
 https://github.com/dustyburwell/garlic
 https://www.nuget.org/packages/Gappalytics/
PIWIK
 Leading open alternative to Google Analytics
 Supports self-hosting, may offset any privacy / security concerns
 Web / online first, but C# support for desktop tracking
 http://piwik.org/integrate/#programming-language-platforms-and-frameworks
 Freemium = free, potential to upgrade
 Open source
 https://github.com/piwik
Telerik Analytics
 Easy to start using, born with desktop support, cloud-enabled
 Simple API, simple integration, e.g.
 REST API for public data access
 Query construction and data visualizations
 https://www.youtube.com/user/EQATEC
 Freemium (free limited to 100 app instances per month)
 Exception and usage monitoring
Application Insights
 Integrates into Visual Studio
 https://docs.microsoft.com/en-us/azure/application-insights/app-insights-visual-
studio
 Exception and usage monitoring
 Local monitoring (you’ll get metrics from the last debugging session)
 Freemium (free up to 1GB data / month)
 Analytics query language and data visualization
 https://docs.microsoft.com/en-us/azure/application-insights/app-insights-analytics-
tour
 Web/mobile and desktop/services
 Open source:
 https://github.com/Microsoft/ApplicationInsights-dotnet
And the choice is...
 Application Insights (Microsoft)
This is why
 Low overhead: free to get started, cheap to continue
 Already part of the woodwork:
 Integration into Visual Studio (developer mode, debugging)
 Default data store is Azure, meaning integration with big data analytics
 Extendible and configurable (see github + nuget = source + packages)
 Matches the feature set of competing alternatives +
 Offline / intermittent connectivity support – will persist data under %LOCALAPPDATA% and
flush later
 Query analytics: the query language is quite expressive
 Dashboard visualization
 Nlog, Log4Net extenders (so legacy logging can be sent off to Azure also)
 Perceived low risk choice (because Microsoft)
 Cost throttling through sampling (don’t have to pay if you don’t want to)
 https://docs.microsoft.com/en-us/azure/application-insights/app-insights-sampling
But wait...
 In 2014, Microsoft acquired HockeyApp
 Already market domination in cross-platform metrics and diagnostics (Android, iOS,
OS X, Windows, Cordova, React Native, Unity, Xamarin)
 https://www.hockeyapp.net/blog/2014/12/11/hockeyapp-joins-microsoft.html
 From 2016, HockeyApp is recommended way to integrate Application Insights
into mobile and desktop applications
 https://weblogs.asp.net/bswiger/hockeyappreplacingappinsights
 So, should you use HockeyApp or not?
 Pro: crash reports, beta distribution, cross-platform and mobile, DevOps, compliant
with Microsoft roadmap, future-proof for Milestone rollout
 Con: extra layer of abstraction, you need a HockeyApp account, more moving parts,
potential surcharge if number of ”apps” increase > 2
<DEMO>
What’s next
 Do a minimal implementation that’s still useful
 To be considered first
 What’s possible to metric?
 What do we want to metric?
 What are we trying to accomplish?
 What will we do with the data once we have it?
 Handshake with all stakeholders
 Timeframe: finish the above and ship it in next release
Relevant links
 Application Insights announcement
 https://blogs.msdn.microsoft.com/bharry/2016/03/28/introducing-application-
analytics/
 Application insights analytics query language
 https://docs.microsoft.com/en-us/azure/application-insights/app-insights-analytics-
reference
 Application insights desktop applications
 https://docs.microsoft.com/en-us/azure/application-insights/app-insights-windows-
desktop
 Application insights getting started
 http://www.hanselman.com/blog/ExploringApplicationInsightsForDisconnectedOrCo
nnectedDeepTelemetryInASPNETApps.aspx

More Related Content

What's hot

Modern Cross Browser Testing in JavaScript Using Playwright
Modern Cross Browser Testing in JavaScript Using PlaywrightModern Cross Browser Testing in JavaScript Using Playwright
Modern Cross Browser Testing in JavaScript Using PlaywrightApplitools
 
Microsoft Graph community call_February 2019
Microsoft Graph community call_February 2019Microsoft Graph community call_February 2019
Microsoft Graph community call_February 2019Microsoft 365 Developer
 
Connect with your customers wherever they are with an azure based mobile solu...
Connect with your customers wherever they are with an azure based mobile solu...Connect with your customers wherever they are with an azure based mobile solu...
Connect with your customers wherever they are with an azure based mobile solu...Jeremy Thake
 
Connect with your customers wherever they are with an azure based mobile solu...
Connect with your customers wherever they are with an azure based mobile solu...Connect with your customers wherever they are with an azure based mobile solu...
Connect with your customers wherever they are with an azure based mobile solu...Jeremy Thake
 
Deep dive into building apps on Common Data Service for Apps
Deep dive into building apps on Common Data Service for AppsDeep dive into building apps on Common Data Service for Apps
Deep dive into building apps on Common Data Service for AppsMicrosoft Tech Community
 
Build your own event analytics pipeline using BigQuery, Dataflow, and k8s. Je...
Build your own event analytics pipeline using BigQuery, Dataflow, and k8s. Je...Build your own event analytics pipeline using BigQuery, Dataflow, and k8s. Je...
Build your own event analytics pipeline using BigQuery, Dataflow, and k8s. Je...GameCamp
 
Observability and its application
Observability and its applicationObservability and its application
Observability and its applicationThao Huynh Quang
 
How to create custom connector for Microsoft Flow
How to create custom connector for Microsoft FlowHow to create custom connector for Microsoft Flow
How to create custom connector for Microsoft FlowDragan Panjkov
 
03 02 - tizen app development with visual studio mobile center and team services
03 02 - tizen app development with visual studio mobile center and team services03 02 - tizen app development with visual studio mobile center and team services
03 02 - tizen app development with visual studio mobile center and team servicesAlexey Shulga
 
[Srijan Wednesday Webinars] Why Adopt Analytics Driven Testing
[Srijan Wednesday Webinars] Why Adopt Analytics Driven Testing [Srijan Wednesday Webinars] Why Adopt Analytics Driven Testing
[Srijan Wednesday Webinars] Why Adopt Analytics Driven Testing Srijan Technologies
 
Applitools - Cross Browser
Applitools - Cross BrowserApplitools - Cross Browser
Applitools - Cross BrowserApplitools
 
How to create custom Connector for Microsoft Flow
How to create custom Connector for Microsoft FlowHow to create custom Connector for Microsoft Flow
How to create custom Connector for Microsoft FlowDragan Panjkov
 
Mobile Test Automation with Big Data Analytics
Mobile Test Automation with Big Data AnalyticsMobile Test Automation with Big Data Analytics
Mobile Test Automation with Big Data AnalyticsTechWell
 

What's hot (16)

Modern Cross Browser Testing in JavaScript Using Playwright
Modern Cross Browser Testing in JavaScript Using PlaywrightModern Cross Browser Testing in JavaScript Using Playwright
Modern Cross Browser Testing in JavaScript Using Playwright
 
Microsoft Graph community call_February 2019
Microsoft Graph community call_February 2019Microsoft Graph community call_February 2019
Microsoft Graph community call_February 2019
 
Techdays app 2016 - behind the scenes
Techdays app 2016 -  behind the scenesTechdays app 2016 -  behind the scenes
Techdays app 2016 - behind the scenes
 
Connect with your customers wherever they are with an azure based mobile solu...
Connect with your customers wherever they are with an azure based mobile solu...Connect with your customers wherever they are with an azure based mobile solu...
Connect with your customers wherever they are with an azure based mobile solu...
 
Connect with your customers wherever they are with an azure based mobile solu...
Connect with your customers wherever they are with an azure based mobile solu...Connect with your customers wherever they are with an azure based mobile solu...
Connect with your customers wherever they are with an azure based mobile solu...
 
Deep dive into building apps on Common Data Service for Apps
Deep dive into building apps on Common Data Service for AppsDeep dive into building apps on Common Data Service for Apps
Deep dive into building apps on Common Data Service for Apps
 
Build your own event analytics pipeline using BigQuery, Dataflow, and k8s. Je...
Build your own event analytics pipeline using BigQuery, Dataflow, and k8s. Je...Build your own event analytics pipeline using BigQuery, Dataflow, and k8s. Je...
Build your own event analytics pipeline using BigQuery, Dataflow, and k8s. Je...
 
Observability and its application
Observability and its applicationObservability and its application
Observability and its application
 
How to create custom connector for Microsoft Flow
How to create custom connector for Microsoft FlowHow to create custom connector for Microsoft Flow
How to create custom connector for Microsoft Flow
 
03 02 - tizen app development with visual studio mobile center and team services
03 02 - tizen app development with visual studio mobile center and team services03 02 - tizen app development with visual studio mobile center and team services
03 02 - tizen app development with visual studio mobile center and team services
 
App center an overview
App center  an overviewApp center  an overview
App center an overview
 
Inspector presentation
Inspector presentationInspector presentation
Inspector presentation
 
[Srijan Wednesday Webinars] Why Adopt Analytics Driven Testing
[Srijan Wednesday Webinars] Why Adopt Analytics Driven Testing [Srijan Wednesday Webinars] Why Adopt Analytics Driven Testing
[Srijan Wednesday Webinars] Why Adopt Analytics Driven Testing
 
Applitools - Cross Browser
Applitools - Cross BrowserApplitools - Cross Browser
Applitools - Cross Browser
 
How to create custom Connector for Microsoft Flow
How to create custom Connector for Microsoft FlowHow to create custom Connector for Microsoft Flow
How to create custom Connector for Microsoft Flow
 
Mobile Test Automation with Big Data Analytics
Mobile Test Automation with Big Data AnalyticsMobile Test Automation with Big Data Analytics
Mobile Test Automation with Big Data Analytics
 

Viewers also liked

Sobrenaturalen pertsonaiak
Sobrenaturalen pertsonaiakSobrenaturalen pertsonaiak
Sobrenaturalen pertsonaiakIdoRubia
 
Multizone reproduction of speech soundfields a perceptually weighted approac...
Multizone reproduction of speech soundfields  a perceptually weighted approac...Multizone reproduction of speech soundfields  a perceptually weighted approac...
Multizone reproduction of speech soundfields a perceptually weighted approac...Jacob Donley
 
LSPP 104 - Kendaraan Bermotor dan Tanggunggugat -Maret 2016 - v1
LSPP 104 - Kendaraan Bermotor dan Tanggunggugat -Maret 2016 - v1LSPP 104 - Kendaraan Bermotor dan Tanggunggugat -Maret 2016 - v1
LSPP 104 - Kendaraan Bermotor dan Tanggunggugat -Maret 2016 - v1Afrianto Budi
 
Soal Jawab Ujian LSPP AAMAI 102 - Hukum Asuransi, Edisi September 2016 revis...
Soal Jawab Ujian LSPP AAMAI 102 - Hukum Asuransi, Edisi September 2016  revis...Soal Jawab Ujian LSPP AAMAI 102 - Hukum Asuransi, Edisi September 2016  revis...
Soal Jawab Ujian LSPP AAMAI 102 - Hukum Asuransi, Edisi September 2016 revis...Afrianto Budi
 
LSPP AAMAI 106 Asuransi Pengangkutan - Maret 2017
LSPP AAMAI 106   Asuransi Pengangkutan - Maret 2017LSPP AAMAI 106   Asuransi Pengangkutan - Maret 2017
LSPP AAMAI 106 Asuransi Pengangkutan - Maret 2017Afrianto Budi
 
Determinación del factor de riesgo cardiovascular y niveles de adipocitocinas...
Determinación del factor de riesgo cardiovascular y niveles de adipocitocinas...Determinación del factor de riesgo cardiovascular y niveles de adipocitocinas...
Determinación del factor de riesgo cardiovascular y niveles de adipocitocinas...Conferencia Sindrome Metabolico
 

Viewers also liked (9)

56789
5678956789
56789
 
Sobrenaturalen pertsonaiak
Sobrenaturalen pertsonaiakSobrenaturalen pertsonaiak
Sobrenaturalen pertsonaiak
 
iPS magazine 2017
iPS magazine 2017iPS magazine 2017
iPS magazine 2017
 
Multizone reproduction of speech soundfields a perceptually weighted approac...
Multizone reproduction of speech soundfields  a perceptually weighted approac...Multizone reproduction of speech soundfields  a perceptually weighted approac...
Multizone reproduction of speech soundfields a perceptually weighted approac...
 
LSPP 104 - Kendaraan Bermotor dan Tanggunggugat -Maret 2016 - v1
LSPP 104 - Kendaraan Bermotor dan Tanggunggugat -Maret 2016 - v1LSPP 104 - Kendaraan Bermotor dan Tanggunggugat -Maret 2016 - v1
LSPP 104 - Kendaraan Bermotor dan Tanggunggugat -Maret 2016 - v1
 
Brasil Colônia
Brasil ColôniaBrasil Colônia
Brasil Colônia
 
Soal Jawab Ujian LSPP AAMAI 102 - Hukum Asuransi, Edisi September 2016 revis...
Soal Jawab Ujian LSPP AAMAI 102 - Hukum Asuransi, Edisi September 2016  revis...Soal Jawab Ujian LSPP AAMAI 102 - Hukum Asuransi, Edisi September 2016  revis...
Soal Jawab Ujian LSPP AAMAI 102 - Hukum Asuransi, Edisi September 2016 revis...
 
LSPP AAMAI 106 Asuransi Pengangkutan - Maret 2017
LSPP AAMAI 106   Asuransi Pengangkutan - Maret 2017LSPP AAMAI 106   Asuransi Pengangkutan - Maret 2017
LSPP AAMAI 106 Asuransi Pengangkutan - Maret 2017
 
Determinación del factor de riesgo cardiovascular y niveles de adipocitocinas...
Determinación del factor de riesgo cardiovascular y niveles de adipocitocinas...Determinación del factor de riesgo cardiovascular y niveles de adipocitocinas...
Determinación del factor de riesgo cardiovascular y niveles de adipocitocinas...
 

Similar to Application telemetry public

Self Guiding User Experience
Self Guiding User ExperienceSelf Guiding User Experience
Self Guiding User ExperienceSri Ambati
 
Creating an MVP with Oracle
Creating an MVP with OracleCreating an MVP with Oracle
Creating an MVP with OracleFranco Ucci
 
Envisioning the Future Enterprise
Envisioning the Future EnterpriseEnvisioning the Future Enterprise
Envisioning the Future Enterprise WSO2
 
Cloud web applications: the new perspective of sproutcore
Cloud web applications: the new perspective of sproutcoreCloud web applications: the new perspective of sproutcore
Cloud web applications: the new perspective of sproutcoreDavid Saitta
 
Bootstrapping an App for Launch
Bootstrapping an App for LaunchBootstrapping an App for Launch
Bootstrapping an App for LaunchCraig Phares
 
Cloud continuous integration- A distributed approach using distinct services
Cloud continuous integration- A distributed approach using distinct servicesCloud continuous integration- A distributed approach using distinct services
Cloud continuous integration- A distributed approach using distinct servicesAndré Agostinho
 
Debugging and interacting with production applications
Debugging and interacting with production applicationsDebugging and interacting with production applications
Debugging and interacting with production applicationsMichel HUBERT
 
Serverless architecture with Azure
Serverless architecture with AzureServerless architecture with Azure
Serverless architecture with AzureChristos Matskas
 
S01 gae and_hybrid_app_v1.0
S01 gae and_hybrid_app_v1.0S01 gae and_hybrid_app_v1.0
S01 gae and_hybrid_app_v1.0Sun-Jin Jang
 
Which Application Modernization Pattern Is Right For You?
Which Application Modernization Pattern Is Right For You?Which Application Modernization Pattern Is Right For You?
Which Application Modernization Pattern Is Right For You?Apigee | Google Cloud
 
What is going on - Application diagnostics on Azure - TechDays Finland
What is going on - Application diagnostics on Azure - TechDays FinlandWhat is going on - Application diagnostics on Azure - TechDays Finland
What is going on - Application diagnostics on Azure - TechDays FinlandMaarten Balliauw
 
Chicago ALM User Group - Nov 2014 - Application Insights 101
Chicago ALM User Group - Nov 2014 - Application Insights 101Chicago ALM User Group - Nov 2014 - Application Insights 101
Chicago ALM User Group - Nov 2014 - Application Insights 101Angela Dugan
 
Machine Learning on dirty data - Dataiku - Forum du GFII 2014
Machine Learning on dirty data - Dataiku - Forum du GFII 2014Machine Learning on dirty data - Dataiku - Forum du GFII 2014
Machine Learning on dirty data - Dataiku - Forum du GFII 2014Le_GFII
 
Azure machine learning ile tahminleme modelleri
Azure machine learning ile tahminleme modelleriAzure machine learning ile tahminleme modelleri
Azure machine learning ile tahminleme modelleriKoray Kocabas
 
Open Source solution for Mobile Enterprise Application System
Open Source solution for Mobile Enterprise Application SystemOpen Source solution for Mobile Enterprise Application System
Open Source solution for Mobile Enterprise Application Systemhearme limited company
 
TechEvent 2019: Artificial Intelligence in Dev & Ops; Martin Luckow - Trivadis
TechEvent 2019: Artificial Intelligence in Dev & Ops; Martin Luckow - TrivadisTechEvent 2019: Artificial Intelligence in Dev & Ops; Martin Luckow - Trivadis
TechEvent 2019: Artificial Intelligence in Dev & Ops; Martin Luckow - TrivadisTrivadis
 
ALT-F1 Techtalk 3 - Google AppEngine
ALT-F1 Techtalk 3 - Google AppEngineALT-F1 Techtalk 3 - Google AppEngine
ALT-F1 Techtalk 3 - Google AppEngineAbdelkrim Boujraf
 
MMS2011_BC34_Plas_Final
MMS2011_BC34_Plas_FinalMMS2011_BC34_Plas_Final
MMS2011_BC34_Plas_Finalmentvanderplas
 
Solving Enteprise Mobility Considerations with Telerik Mobile Platform
Solving Enteprise Mobility Considerations with Telerik Mobile PlatformSolving Enteprise Mobility Considerations with Telerik Mobile Platform
Solving Enteprise Mobility Considerations with Telerik Mobile PlatformLohith Goudagere Nagaraj
 

Similar to Application telemetry public (20)

Self Guiding User Experience
Self Guiding User ExperienceSelf Guiding User Experience
Self Guiding User Experience
 
Creating an MVP with Oracle
Creating an MVP with OracleCreating an MVP with Oracle
Creating an MVP with Oracle
 
Envisioning the Future Enterprise
Envisioning the Future EnterpriseEnvisioning the Future Enterprise
Envisioning the Future Enterprise
 
Cloud web applications: the new perspective of sproutcore
Cloud web applications: the new perspective of sproutcoreCloud web applications: the new perspective of sproutcore
Cloud web applications: the new perspective of sproutcore
 
Bootstrapping an App for Launch
Bootstrapping an App for LaunchBootstrapping an App for Launch
Bootstrapping an App for Launch
 
Cloud continuous integration- A distributed approach using distinct services
Cloud continuous integration- A distributed approach using distinct servicesCloud continuous integration- A distributed approach using distinct services
Cloud continuous integration- A distributed approach using distinct services
 
Debugging and interacting with production applications
Debugging and interacting with production applicationsDebugging and interacting with production applications
Debugging and interacting with production applications
 
Serverless architecture with Azure
Serverless architecture with AzureServerless architecture with Azure
Serverless architecture with Azure
 
S01 gae and_hybrid_app_v1.0
S01 gae and_hybrid_app_v1.0S01 gae and_hybrid_app_v1.0
S01 gae and_hybrid_app_v1.0
 
Which Application Modernization Pattern Is Right For You?
Which Application Modernization Pattern Is Right For You?Which Application Modernization Pattern Is Right For You?
Which Application Modernization Pattern Is Right For You?
 
What is going on - Application diagnostics on Azure - TechDays Finland
What is going on - Application diagnostics on Azure - TechDays FinlandWhat is going on - Application diagnostics on Azure - TechDays Finland
What is going on - Application diagnostics on Azure - TechDays Finland
 
Chicago ALM User Group - Nov 2014 - Application Insights 101
Chicago ALM User Group - Nov 2014 - Application Insights 101Chicago ALM User Group - Nov 2014 - Application Insights 101
Chicago ALM User Group - Nov 2014 - Application Insights 101
 
Machine Learning on dirty data - Dataiku - Forum du GFII 2014
Machine Learning on dirty data - Dataiku - Forum du GFII 2014Machine Learning on dirty data - Dataiku - Forum du GFII 2014
Machine Learning on dirty data - Dataiku - Forum du GFII 2014
 
Azure machine learning ile tahminleme modelleri
Azure machine learning ile tahminleme modelleriAzure machine learning ile tahminleme modelleri
Azure machine learning ile tahminleme modelleri
 
Open Source solution for Mobile Enterprise Application System
Open Source solution for Mobile Enterprise Application SystemOpen Source solution for Mobile Enterprise Application System
Open Source solution for Mobile Enterprise Application System
 
App Dynamics
App DynamicsApp Dynamics
App Dynamics
 
TechEvent 2019: Artificial Intelligence in Dev & Ops; Martin Luckow - Trivadis
TechEvent 2019: Artificial Intelligence in Dev & Ops; Martin Luckow - TrivadisTechEvent 2019: Artificial Intelligence in Dev & Ops; Martin Luckow - Trivadis
TechEvent 2019: Artificial Intelligence in Dev & Ops; Martin Luckow - Trivadis
 
ALT-F1 Techtalk 3 - Google AppEngine
ALT-F1 Techtalk 3 - Google AppEngineALT-F1 Techtalk 3 - Google AppEngine
ALT-F1 Techtalk 3 - Google AppEngine
 
MMS2011_BC34_Plas_Final
MMS2011_BC34_Plas_FinalMMS2011_BC34_Plas_Final
MMS2011_BC34_Plas_Final
 
Solving Enteprise Mobility Considerations with Telerik Mobile Platform
Solving Enteprise Mobility Considerations with Telerik Mobile PlatformSolving Enteprise Mobility Considerations with Telerik Mobile Platform
Solving Enteprise Mobility Considerations with Telerik Mobile Platform
 

Recently uploaded

Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 

Recently uploaded (20)

Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 

Application telemetry public

  • 2. Which were looked at?  Google Analytics  https://analytics.google.com  Application Insights (MS)  https://azure.microsoft.com/en-us/services/application-insights/  PIWIK  https://piwik.org/  Telerik Analytics (was: EQATEC)  http://www.telerik.com/analytics
  • 3. Why these?  Market penetration, community size, support quality, ecosystem  Price = free, at least for starters  Alternatives all pretty much offer similar functionality or are github projects of questionable viability  Decent overview at https://github.com/onurakpolat/awesome-analytics  Almost all analytics / telemetry is geared towards web, comparably few towards desktop applications / general purpose
  • 4. Terminology heads-up  ” Telemetry is an automated communications process by which measurements and other data are collected at remote or inaccessible points and transmitted to receiving equipment for monitoring”  ” Analytics is the discovery and communication of meaningful patterns in data. Analytics often favours data visualization to communicate insight.”
  • 5. Google analytics  The de-facto standard  Used in appx 50% of sites that use analytics  Price tag = freemium = free for our purposes, potential to upgrade  Intended for online / web but can be easily repurposed to track desktop applications (C# support)  https://github.com/dustyburwell/garlic  https://www.nuget.org/packages/Gappalytics/
  • 6. PIWIK  Leading open alternative to Google Analytics  Supports self-hosting, may offset any privacy / security concerns  Web / online first, but C# support for desktop tracking  http://piwik.org/integrate/#programming-language-platforms-and-frameworks  Freemium = free, potential to upgrade  Open source  https://github.com/piwik
  • 7. Telerik Analytics  Easy to start using, born with desktop support, cloud-enabled  Simple API, simple integration, e.g.  REST API for public data access  Query construction and data visualizations  https://www.youtube.com/user/EQATEC  Freemium (free limited to 100 app instances per month)  Exception and usage monitoring
  • 8. Application Insights  Integrates into Visual Studio  https://docs.microsoft.com/en-us/azure/application-insights/app-insights-visual- studio  Exception and usage monitoring  Local monitoring (you’ll get metrics from the last debugging session)  Freemium (free up to 1GB data / month)  Analytics query language and data visualization  https://docs.microsoft.com/en-us/azure/application-insights/app-insights-analytics- tour  Web/mobile and desktop/services  Open source:  https://github.com/Microsoft/ApplicationInsights-dotnet
  • 9. And the choice is...  Application Insights (Microsoft)
  • 10. This is why  Low overhead: free to get started, cheap to continue  Already part of the woodwork:  Integration into Visual Studio (developer mode, debugging)  Default data store is Azure, meaning integration with big data analytics  Extendible and configurable (see github + nuget = source + packages)  Matches the feature set of competing alternatives +  Offline / intermittent connectivity support – will persist data under %LOCALAPPDATA% and flush later  Query analytics: the query language is quite expressive  Dashboard visualization  Nlog, Log4Net extenders (so legacy logging can be sent off to Azure also)  Perceived low risk choice (because Microsoft)  Cost throttling through sampling (don’t have to pay if you don’t want to)  https://docs.microsoft.com/en-us/azure/application-insights/app-insights-sampling
  • 11. But wait...  In 2014, Microsoft acquired HockeyApp  Already market domination in cross-platform metrics and diagnostics (Android, iOS, OS X, Windows, Cordova, React Native, Unity, Xamarin)  https://www.hockeyapp.net/blog/2014/12/11/hockeyapp-joins-microsoft.html  From 2016, HockeyApp is recommended way to integrate Application Insights into mobile and desktop applications  https://weblogs.asp.net/bswiger/hockeyappreplacingappinsights  So, should you use HockeyApp or not?  Pro: crash reports, beta distribution, cross-platform and mobile, DevOps, compliant with Microsoft roadmap, future-proof for Milestone rollout  Con: extra layer of abstraction, you need a HockeyApp account, more moving parts, potential surcharge if number of ”apps” increase > 2
  • 13. What’s next  Do a minimal implementation that’s still useful  To be considered first  What’s possible to metric?  What do we want to metric?  What are we trying to accomplish?  What will we do with the data once we have it?  Handshake with all stakeholders  Timeframe: finish the above and ship it in next release
  • 14. Relevant links  Application Insights announcement  https://blogs.msdn.microsoft.com/bharry/2016/03/28/introducing-application- analytics/  Application insights analytics query language  https://docs.microsoft.com/en-us/azure/application-insights/app-insights-analytics- reference  Application insights desktop applications  https://docs.microsoft.com/en-us/azure/application-insights/app-insights-windows- desktop  Application insights getting started  http://www.hanselman.com/blog/ExploringApplicationInsightsForDisconnectedOrCo nnectedDeepTelemetryInASPNETApps.aspx