SlideShare una empresa de Scribd logo
1 de 27
Presenter Q&A
A little about me
• Raygun Community Evangelist
• Former Developer Evangelist for Microsoft,
Xamarin and ComponentOne
• CEO, Fustino Brothers, Inc
• Publisher of Several Windows 8,
Windows Phone 8, iOS, and Android Apps
• MVP Microsoft Platform Developer
• Publisher of Jethro Tull App, Endorsed
• How do you implement awesome crash reporting?
Find bugs before your users do
What were the Challenges?
• Common error reporting for many platforms and languages.
• Getting started?
• Need more help in analyzing errors and the cause.
• I need to know how well my apps works in production.
• If my app crashes, I wanted to know about it and what the cause is?
• Stack traces are great, can I get in production?
• I needed more app specific information in my error reporting.
• Raygun works for Xamarin iOS an Android, but what about Xamarin
Forms?
Agenda
• Error Reporting
• Initialization
• Dashboards for Test and Production environments
• Xamarin Dependency Injection
• Strategic areas in the code for try / catch
• Custom Tags
• Affected User support
• Passing email address from C# to an HTML page with JavaScript for affected user
support
Error reporting
• Did you ever send screenshots? It’s only part of the story
• Real Time Notifications, Saving Time… Saves Money
• Retain customers… Convert trials
• Only 1% of your users even tell you that something is wrong
• If I only had stack trace, that would be gold
• Error grouping is essential, provides sanity for not exploding my inbox email
• Bottom line… I need to improve developer productivity and reduce cost
Raygun Platforms
Initialization
Generally, one line of code … example for Xamarin iOS
Dashboard
180 day retention period
Dashboards
Test and Production
Global Dashboard
Xamarin
95% code sharing Xamarin Forms
Xamarin Forms Project Structure
Dependency Injection
In the PCL Platform specific code
Try / Catch
• Raygun supports unhandled errors
• Where you want custom messages, use try catch
• Create your own subclasses of Exception to represent state
• Examples, in my app:
• RSS Feed
• Navigating to other sites
• Handling of images
Custom Tags
• Great for application specific needs
• “Send email to webmaster – RSS feed is down”
• Last URL attempted: www.jethrotull.com
• Last Image loaded: this_was.png
• Last Page used: Discography
Affected Users
Affected Users Details
Affected Users Properties
If an error is serious, you will know
Follow @raygunio on Twitter and check out raygun.io
Passing email address
from C# to HTML Page
Demos
• Xamarin Forms
• JavaScript
Resources
Some useful plugins for Xamarin (Device, Settings, etc..):
https://github.com/jamesmontemagno/xamarin.plugins
Affected user tracking:
https://github.com/MindscapeHQ/raygun4net#affected-user-tracking
Tags:
https://github.com/MindscapeHQ/raygun4net#tags-and-custom-data
.NET Platforms:
https://raygun.io/docs/languages/net
Language support:
https://raygun.io/docs/languages
Resources continued
Plugins:
https://raygun.io/docs/plugins/
Workflow:
https://raygun.io/docs/workflow/
Raygun blog:
https://raygun.io/blog/
Case Studies:
https://raygun.io/blog/case-studies/
Dependency Injection:
http://developer.xamarin.com/guides/cross-platform/xamarin-forms/dependency-service/
Summary
• Error Reporting
• Initialization
• Dashboards for Test and Production environments
• Xamarin Dependency Injection
• Strategic areas in the code for try / catch
• Custom Tags
• Affected User support
• Passing email address from C# to an HTML page with
JavaScript for affected user support

Más contenido relacionado

La actualidad más candente

Cross platform development
Cross platform developmentCross platform development
Cross platform developmentdftaiwo
 
Xamarin Dev Days - Introduction to Xamarin
Xamarin Dev Days - Introduction to XamarinXamarin Dev Days - Introduction to Xamarin
Xamarin Dev Days - Introduction to XamarinJames Montemagno
 
Mobile Test Automation
Mobile Test AutomationMobile Test Automation
Mobile Test AutomationAndreas Jakl
 
Mobile Cross Platform Automation in-practice and on a Large Scale
Mobile Cross Platform Automation in-practice and on a Large ScaleMobile Cross Platform Automation in-practice and on a Large Scale
Mobile Cross Platform Automation in-practice and on a Large ScaleSathish Gogineni
 
Build 2017 - P4115 - Go big! Optimizing your applications for large screen ex...
Build 2017 - P4115 - Go big! Optimizing your applications for large screen ex...Build 2017 - P4115 - Go big! Optimizing your applications for large screen ex...
Build 2017 - P4115 - Go big! Optimizing your applications for large screen ex...Windows Developer
 
Developing Windows Phone 8 apps using PhoneGap
Developing Windows Phone 8 apps using PhoneGapDeveloping Windows Phone 8 apps using PhoneGap
Developing Windows Phone 8 apps using PhoneGapAmar Mesic
 
Tizen Developer Conference 2014
Tizen Developer Conference 2014 Tizen Developer Conference 2014
Tizen Developer Conference 2014 appbackr
 
Advanced Appium: SeleniumConf UK 2016
Advanced Appium: SeleniumConf UK 2016Advanced Appium: SeleniumConf UK 2016
Advanced Appium: SeleniumConf UK 2016Dan Cuellar
 
Xamarin Test Cloud Presentation by the Virtual Xamarin Users Group
Xamarin Test Cloud Presentation by the Virtual Xamarin Users GroupXamarin Test Cloud Presentation by the Virtual Xamarin Users Group
Xamarin Test Cloud Presentation by the Virtual Xamarin Users Groupvirtualxamarin
 
Cross platform mobile approaches
Cross platform mobile approachesCross platform mobile approaches
Cross platform mobile approachesPhuong Hoang Vu
 
Xamarin Forms - Hello World with Vitamins
Xamarin Forms - Hello World with VitaminsXamarin Forms - Hello World with Vitamins
Xamarin Forms - Hello World with VitaminsEdward Linares
 
Appium tutorial| Appium Training
Appium tutorial| Appium Training Appium tutorial| Appium Training
Appium tutorial| Appium Training QA Masters
 
Everything You Need To Know about Appium and Selenium
Everything You Need To Know about Appium and SeleniumEverything You Need To Know about Appium and Selenium
Everything You Need To Know about Appium and SeleniumLizzy Guido (she/her)
 
[Srijan Wednesday Webinars] Building a High Performance QA Team
[Srijan Wednesday Webinars] Building a High Performance QA Team[Srijan Wednesday Webinars] Building a High Performance QA Team
[Srijan Wednesday Webinars] Building a High Performance QA TeamSrijan Technologies
 
Extending, optimizing, and accelerating Xamarin and Xamarin.Forms app develop...
Extending, optimizing, and accelerating Xamarin and Xamarin.Forms app develop...Extending, optimizing, and accelerating Xamarin and Xamarin.Forms app develop...
Extending, optimizing, and accelerating Xamarin and Xamarin.Forms app develop...James Montemagno
 
Build 2017 - B8099 - What's new in Xamarin.Forms
Build 2017 - B8099 - What's new in Xamarin.FormsBuild 2017 - B8099 - What's new in Xamarin.Forms
Build 2017 - B8099 - What's new in Xamarin.FormsWindows Developer
 
Cross platform mobile web apps
Cross platform mobile web appsCross platform mobile web apps
Cross platform mobile web appsJames Pearce
 

La actualidad más candente (20)

Cross Platform Mobile Development
Cross Platform Mobile DevelopmentCross Platform Mobile Development
Cross Platform Mobile Development
 
Cross platform development
Cross platform developmentCross platform development
Cross platform development
 
Xamarin Dev Days - Introduction to Xamarin
Xamarin Dev Days - Introduction to XamarinXamarin Dev Days - Introduction to Xamarin
Xamarin Dev Days - Introduction to Xamarin
 
Mobile Test Automation
Mobile Test AutomationMobile Test Automation
Mobile Test Automation
 
Techdays app 2016 - behind the scenes
Techdays app 2016 -  behind the scenesTechdays app 2016 -  behind the scenes
Techdays app 2016 - behind the scenes
 
Mobile Cross Platform Automation in-practice and on a Large Scale
Mobile Cross Platform Automation in-practice and on a Large ScaleMobile Cross Platform Automation in-practice and on a Large Scale
Mobile Cross Platform Automation in-practice and on a Large Scale
 
Build 2017 - P4115 - Go big! Optimizing your applications for large screen ex...
Build 2017 - P4115 - Go big! Optimizing your applications for large screen ex...Build 2017 - P4115 - Go big! Optimizing your applications for large screen ex...
Build 2017 - P4115 - Go big! Optimizing your applications for large screen ex...
 
Developing Windows Phone 8 apps using PhoneGap
Developing Windows Phone 8 apps using PhoneGapDeveloping Windows Phone 8 apps using PhoneGap
Developing Windows Phone 8 apps using PhoneGap
 
Tizen Developer Conference 2014
Tizen Developer Conference 2014 Tizen Developer Conference 2014
Tizen Developer Conference 2014
 
Appium
AppiumAppium
Appium
 
Advanced Appium: SeleniumConf UK 2016
Advanced Appium: SeleniumConf UK 2016Advanced Appium: SeleniumConf UK 2016
Advanced Appium: SeleniumConf UK 2016
 
Xamarin Test Cloud Presentation by the Virtual Xamarin Users Group
Xamarin Test Cloud Presentation by the Virtual Xamarin Users GroupXamarin Test Cloud Presentation by the Virtual Xamarin Users Group
Xamarin Test Cloud Presentation by the Virtual Xamarin Users Group
 
Cross platform mobile approaches
Cross platform mobile approachesCross platform mobile approaches
Cross platform mobile approaches
 
Xamarin Forms - Hello World with Vitamins
Xamarin Forms - Hello World with VitaminsXamarin Forms - Hello World with Vitamins
Xamarin Forms - Hello World with Vitamins
 
Appium tutorial| Appium Training
Appium tutorial| Appium Training Appium tutorial| Appium Training
Appium tutorial| Appium Training
 
Everything You Need To Know about Appium and Selenium
Everything You Need To Know about Appium and SeleniumEverything You Need To Know about Appium and Selenium
Everything You Need To Know about Appium and Selenium
 
[Srijan Wednesday Webinars] Building a High Performance QA Team
[Srijan Wednesday Webinars] Building a High Performance QA Team[Srijan Wednesday Webinars] Building a High Performance QA Team
[Srijan Wednesday Webinars] Building a High Performance QA Team
 
Extending, optimizing, and accelerating Xamarin and Xamarin.Forms app develop...
Extending, optimizing, and accelerating Xamarin and Xamarin.Forms app develop...Extending, optimizing, and accelerating Xamarin and Xamarin.Forms app develop...
Extending, optimizing, and accelerating Xamarin and Xamarin.Forms app develop...
 
Build 2017 - B8099 - What's new in Xamarin.Forms
Build 2017 - B8099 - What's new in Xamarin.FormsBuild 2017 - B8099 - What's new in Xamarin.Forms
Build 2017 - B8099 - What's new in Xamarin.Forms
 
Cross platform mobile web apps
Cross platform mobile web appsCross platform mobile web apps
Cross platform mobile web apps
 

Similar a Implementing awesome crash reporting in production apps webcast

Deep Dive in Xamarin.Forms
Deep Dive in Xamarin.FormsDeep Dive in Xamarin.Forms
Deep Dive in Xamarin.FormsJames Montemagno
 
[Pinto] Is my SharePoint Development team properly enlighted?
[Pinto] Is my SharePoint Development team properly enlighted?[Pinto] Is my SharePoint Development team properly enlighted?
[Pinto] Is my SharePoint Development team properly enlighted?European Collaboration Summit
 
EPPC22_Hands On with the Latest Power Platform Features.pdf
EPPC22_Hands On with the Latest Power Platform Features.pdfEPPC22_Hands On with the Latest Power Platform Features.pdf
EPPC22_Hands On with the Latest Power Platform Features.pdfApril Dunnam
 
Встреча "QA: в каких направлениях может найти себя тестировщик?"
Встреча "QA: в каких направлениях может найти себя тестировщик?"Встреча "QA: в каких направлениях может найти себя тестировщик?"
Встреча "QA: в каких направлениях может найти себя тестировщик?"GoIT
 
Dev ops ci-ap-is-oh-my_security-gone-agile_ut-austin
Dev ops ci-ap-is-oh-my_security-gone-agile_ut-austinDev ops ci-ap-is-oh-my_security-gone-agile_ut-austin
Dev ops ci-ap-is-oh-my_security-gone-agile_ut-austinMatt Tesauro
 
Intro to tech stacks bonny
Intro to tech stacks bonnyIntro to tech stacks bonny
Intro to tech stacks bonnyLama K Banna
 
Building your Mobile App: Budget, Planning and Best Practices
Building your Mobile App: Budget, Planning and Best PracticesBuilding your Mobile App: Budget, Planning and Best Practices
Building your Mobile App: Budget, Planning and Best PracticesPhilippe Dumont
 
building an app exchange app
building an app exchange appbuilding an app exchange app
building an app exchange appvraopolisetti
 
Win j svsphonegap-damyan-petev-mihail-mateev
Win j svsphonegap-damyan-petev-mihail-mateevWin j svsphonegap-damyan-petev-mihail-mateev
Win j svsphonegap-damyan-petev-mihail-mateevMihail Mateev
 
Mobile App Landscape for the Non-Technical
Mobile App Landscape for the Non-TechnicalMobile App Landscape for the Non-Technical
Mobile App Landscape for the Non-TechnicalJames Quick
 
Building Mobile Cross-Platform Apps for iOS, Android & Windows in C# with Xam...
Building Mobile Cross-Platform Apps foriOS, Android & Windows in C# with Xam...Building Mobile Cross-Platform Apps foriOS, Android & Windows in C# with Xam...
Building Mobile Cross-Platform Apps for iOS, Android & Windows in C# with Xam...Nick Landry
 
Real World Application of Development
Real World Application of DevelopmentReal World Application of Development
Real World Application of Developmentdjones101
 
News scavenger a SharePoint and Apps Story
News scavenger  a SharePoint and Apps StoryNews scavenger  a SharePoint and Apps Story
News scavenger a SharePoint and Apps StoryInnoTech
 
Getting Predictable - Pragmatic Approach for Mobile Development - Devday.lk ...
Getting Predictable - Pragmatic Approach for Mobile Development  - Devday.lk ...Getting Predictable - Pragmatic Approach for Mobile Development  - Devday.lk ...
Getting Predictable - Pragmatic Approach for Mobile Development - Devday.lk ...Anjana Somathilake
 
Cross Platform Mobile App Development
Cross Platform Mobile App DevelopmentCross Platform Mobile App Development
Cross Platform Mobile App DevelopmentSynerzip
 
An Introduction To Software Development - Implementation
An Introduction To Software Development - ImplementationAn Introduction To Software Development - Implementation
An Introduction To Software Development - ImplementationBlue Elephant Consulting
 
Develop business apps cross-platform development using visual studio with x...
Develop business apps   cross-platform development using visual studio with x...Develop business apps   cross-platform development using visual studio with x...
Develop business apps cross-platform development using visual studio with x...Alexander Meijers
 
Insights on Android App Development, Marketing and Monetization
Insights on Android App Development, Marketing and MonetizationInsights on Android App Development, Marketing and Monetization
Insights on Android App Development, Marketing and MonetizationJayneel Patel
 
Application Lifecycle Management
Application Lifecycle ManagementApplication Lifecycle Management
Application Lifecycle ManagementAmazon Web Services
 

Similar a Implementing awesome crash reporting in production apps webcast (20)

Deep Dive in Xamarin.Forms
Deep Dive in Xamarin.FormsDeep Dive in Xamarin.Forms
Deep Dive in Xamarin.Forms
 
[Pinto] Is my SharePoint Development team properly enlighted?
[Pinto] Is my SharePoint Development team properly enlighted?[Pinto] Is my SharePoint Development team properly enlighted?
[Pinto] Is my SharePoint Development team properly enlighted?
 
Introduction to xamarin
Introduction to xamarinIntroduction to xamarin
Introduction to xamarin
 
EPPC22_Hands On with the Latest Power Platform Features.pdf
EPPC22_Hands On with the Latest Power Platform Features.pdfEPPC22_Hands On with the Latest Power Platform Features.pdf
EPPC22_Hands On with the Latest Power Platform Features.pdf
 
Встреча "QA: в каких направлениях может найти себя тестировщик?"
Встреча "QA: в каких направлениях может найти себя тестировщик?"Встреча "QA: в каких направлениях может найти себя тестировщик?"
Встреча "QA: в каких направлениях может найти себя тестировщик?"
 
Dev ops ci-ap-is-oh-my_security-gone-agile_ut-austin
Dev ops ci-ap-is-oh-my_security-gone-agile_ut-austinDev ops ci-ap-is-oh-my_security-gone-agile_ut-austin
Dev ops ci-ap-is-oh-my_security-gone-agile_ut-austin
 
Intro to tech stacks bonny
Intro to tech stacks bonnyIntro to tech stacks bonny
Intro to tech stacks bonny
 
Building your Mobile App: Budget, Planning and Best Practices
Building your Mobile App: Budget, Planning and Best PracticesBuilding your Mobile App: Budget, Planning and Best Practices
Building your Mobile App: Budget, Planning and Best Practices
 
building an app exchange app
building an app exchange appbuilding an app exchange app
building an app exchange app
 
Win j svsphonegap-damyan-petev-mihail-mateev
Win j svsphonegap-damyan-petev-mihail-mateevWin j svsphonegap-damyan-petev-mihail-mateev
Win j svsphonegap-damyan-petev-mihail-mateev
 
Mobile App Landscape for the Non-Technical
Mobile App Landscape for the Non-TechnicalMobile App Landscape for the Non-Technical
Mobile App Landscape for the Non-Technical
 
Building Mobile Cross-Platform Apps for iOS, Android & Windows in C# with Xam...
Building Mobile Cross-Platform Apps foriOS, Android & Windows in C# with Xam...Building Mobile Cross-Platform Apps foriOS, Android & Windows in C# with Xam...
Building Mobile Cross-Platform Apps for iOS, Android & Windows in C# with Xam...
 
Real World Application of Development
Real World Application of DevelopmentReal World Application of Development
Real World Application of Development
 
News scavenger a SharePoint and Apps Story
News scavenger  a SharePoint and Apps StoryNews scavenger  a SharePoint and Apps Story
News scavenger a SharePoint and Apps Story
 
Getting Predictable - Pragmatic Approach for Mobile Development - Devday.lk ...
Getting Predictable - Pragmatic Approach for Mobile Development  - Devday.lk ...Getting Predictable - Pragmatic Approach for Mobile Development  - Devday.lk ...
Getting Predictable - Pragmatic Approach for Mobile Development - Devday.lk ...
 
Cross Platform Mobile App Development
Cross Platform Mobile App DevelopmentCross Platform Mobile App Development
Cross Platform Mobile App Development
 
An Introduction To Software Development - Implementation
An Introduction To Software Development - ImplementationAn Introduction To Software Development - Implementation
An Introduction To Software Development - Implementation
 
Develop business apps cross-platform development using visual studio with x...
Develop business apps   cross-platform development using visual studio with x...Develop business apps   cross-platform development using visual studio with x...
Develop business apps cross-platform development using visual studio with x...
 
Insights on Android App Development, Marketing and Monetization
Insights on Android App Development, Marketing and MonetizationInsights on Android App Development, Marketing and Monetization
Insights on Android App Development, Marketing and Monetization
 
Application Lifecycle Management
Application Lifecycle ManagementApplication Lifecycle Management
Application Lifecycle Management
 

Más de Russ Fustino

Algorand August Release
Algorand August ReleaseAlgorand August Release
Algorand August ReleaseRuss Fustino
 
Intro to Blockchain 2020
Intro to Blockchain 2020Intro to Blockchain 2020
Intro to Blockchain 2020Russ Fustino
 
Building with Algorand Blockchain 2020 (everything you need to know)
Building with Algorand Blockchain 2020 (everything you need to know)Building with Algorand Blockchain 2020 (everything you need to know)
Building with Algorand Blockchain 2020 (everything you need to know)Russ Fustino
 
Building with Algorand 2.0, everything you need to know
Building with Algorand 2.0, everything you need to knowBuilding with Algorand 2.0, everything you need to know
Building with Algorand 2.0, everything you need to knowRuss Fustino
 
Intro to Blockchain for Developers using Algorand 2.0
Intro to Blockchain for Developers using Algorand 2.0Intro to Blockchain for Developers using Algorand 2.0
Intro to Blockchain for Developers using Algorand 2.0Russ Fustino
 
Algorand blockchain basics, decentralized and for developers
Algorand blockchain basics, decentralized and for developersAlgorand blockchain basics, decentralized and for developers
Algorand blockchain basics, decentralized and for developersRuss Fustino
 
The Algorand Blockchain
The Algorand BlockchainThe Algorand Blockchain
The Algorand BlockchainRuss Fustino
 
The Algorand Blockchain Decentralized and for Developers
The Algorand Blockchain  Decentralized and for DevelopersThe Algorand Blockchain  Decentralized and for Developers
The Algorand Blockchain Decentralized and for DevelopersRuss Fustino
 
Introduction to Xamarin Forms
Introduction to Xamarin Forms Introduction to Xamarin Forms
Introduction to Xamarin Forms Russ Fustino
 
Building Blockchain Solutions with Algorand Developer Tools
Building Blockchain Solutions with Algorand Developer ToolsBuilding Blockchain Solutions with Algorand Developer Tools
Building Blockchain Solutions with Algorand Developer ToolsRuss Fustino
 
Visual studio enterprise 2017 mobile by Russ Fustino
Visual studio enterprise 2017 mobile by Russ FustinoVisual studio enterprise 2017 mobile by Russ Fustino
Visual studio enterprise 2017 mobile by Russ FustinoRuss Fustino
 
OutSystems: A more efficient way to build apps!
OutSystems: A more efficient way to build apps!OutSystems: A more efficient way to build apps!
OutSystems: A more efficient way to build apps!Russ Fustino
 
Rock'in with Russ & Xamarin Forms (FBI Deck)
Rock'in with Russ & Xamarin Forms (FBI Deck)Rock'in with Russ & Xamarin Forms (FBI Deck)
Rock'in with Russ & Xamarin Forms (FBI Deck)Russ Fustino
 
Improving Your App Quality with Raygun Error Reporting
Improving Your App Quality with Raygun Error ReportingImproving Your App Quality with Raygun Error Reporting
Improving Your App Quality with Raygun Error ReportingRuss Fustino
 
JavaScript for ASP.NET programmers (webcast) upload
JavaScript for ASP.NET programmers (webcast) uploadJavaScript for ASP.NET programmers (webcast) upload
JavaScript for ASP.NET programmers (webcast) uploadRuss Fustino
 

Más de Russ Fustino (16)

Algorand August Release
Algorand August ReleaseAlgorand August Release
Algorand August Release
 
Intro to Blockchain 2020
Intro to Blockchain 2020Intro to Blockchain 2020
Intro to Blockchain 2020
 
Building with Algorand Blockchain 2020 (everything you need to know)
Building with Algorand Blockchain 2020 (everything you need to know)Building with Algorand Blockchain 2020 (everything you need to know)
Building with Algorand Blockchain 2020 (everything you need to know)
 
Building with Algorand 2.0, everything you need to know
Building with Algorand 2.0, everything you need to knowBuilding with Algorand 2.0, everything you need to know
Building with Algorand 2.0, everything you need to know
 
Intro to Blockchain for Developers using Algorand 2.0
Intro to Blockchain for Developers using Algorand 2.0Intro to Blockchain for Developers using Algorand 2.0
Intro to Blockchain for Developers using Algorand 2.0
 
Algorand blockchain basics, decentralized and for developers
Algorand blockchain basics, decentralized and for developersAlgorand blockchain basics, decentralized and for developers
Algorand blockchain basics, decentralized and for developers
 
The Algorand Blockchain
The Algorand BlockchainThe Algorand Blockchain
The Algorand Blockchain
 
The Algorand Blockchain Decentralized and for Developers
The Algorand Blockchain  Decentralized and for DevelopersThe Algorand Blockchain  Decentralized and for Developers
The Algorand Blockchain Decentralized and for Developers
 
Introduction to Xamarin Forms
Introduction to Xamarin Forms Introduction to Xamarin Forms
Introduction to Xamarin Forms
 
Building Blockchain Solutions with Algorand Developer Tools
Building Blockchain Solutions with Algorand Developer ToolsBuilding Blockchain Solutions with Algorand Developer Tools
Building Blockchain Solutions with Algorand Developer Tools
 
Video Streaming
Video StreamingVideo Streaming
Video Streaming
 
Visual studio enterprise 2017 mobile by Russ Fustino
Visual studio enterprise 2017 mobile by Russ FustinoVisual studio enterprise 2017 mobile by Russ Fustino
Visual studio enterprise 2017 mobile by Russ Fustino
 
OutSystems: A more efficient way to build apps!
OutSystems: A more efficient way to build apps!OutSystems: A more efficient way to build apps!
OutSystems: A more efficient way to build apps!
 
Rock'in with Russ & Xamarin Forms (FBI Deck)
Rock'in with Russ & Xamarin Forms (FBI Deck)Rock'in with Russ & Xamarin Forms (FBI Deck)
Rock'in with Russ & Xamarin Forms (FBI Deck)
 
Improving Your App Quality with Raygun Error Reporting
Improving Your App Quality with Raygun Error ReportingImproving Your App Quality with Raygun Error Reporting
Improving Your App Quality with Raygun Error Reporting
 
JavaScript for ASP.NET programmers (webcast) upload
JavaScript for ASP.NET programmers (webcast) uploadJavaScript for ASP.NET programmers (webcast) upload
JavaScript for ASP.NET programmers (webcast) upload
 

Último

React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaHanief Utama
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Mater
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationBradBedford3
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesŁukasz Chruściel
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commercemanigoyal112
 
VK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web DevelopmentVK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web Developmentvyaparkranti
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...OnePlan Solutions
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Matt Ray
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfMarharyta Nedzelska
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based projectAnoyGreter
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprisepreethippts
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...OnePlan Solutions
 
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Natan Silnitsky
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanyChristoph Pohl
 

Último (20)

React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief Utama
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion Application
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New Features
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commerce
 
VK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web DevelopmentVK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web Development
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdf
 
Odoo Development Company in India | Devintelle Consulting Service
Odoo Development Company in India | Devintelle Consulting ServiceOdoo Development Company in India | Devintelle Consulting Service
Odoo Development Company in India | Devintelle Consulting Service
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based project
 
Advantages of Odoo ERP 17 for Your Business
Advantages of Odoo ERP 17 for Your BusinessAdvantages of Odoo ERP 17 for Your Business
Advantages of Odoo ERP 17 for Your Business
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprise
 
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort ServiceHot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
 
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
 

Implementing awesome crash reporting in production apps webcast

  • 1.
  • 3. A little about me • Raygun Community Evangelist • Former Developer Evangelist for Microsoft, Xamarin and ComponentOne • CEO, Fustino Brothers, Inc • Publisher of Several Windows 8, Windows Phone 8, iOS, and Android Apps • MVP Microsoft Platform Developer • Publisher of Jethro Tull App, Endorsed • How do you implement awesome crash reporting?
  • 4. Find bugs before your users do
  • 5. What were the Challenges? • Common error reporting for many platforms and languages. • Getting started? • Need more help in analyzing errors and the cause. • I need to know how well my apps works in production. • If my app crashes, I wanted to know about it and what the cause is? • Stack traces are great, can I get in production? • I needed more app specific information in my error reporting. • Raygun works for Xamarin iOS an Android, but what about Xamarin Forms?
  • 6. Agenda • Error Reporting • Initialization • Dashboards for Test and Production environments • Xamarin Dependency Injection • Strategic areas in the code for try / catch • Custom Tags • Affected User support • Passing email address from C# to an HTML page with JavaScript for affected user support
  • 7. Error reporting • Did you ever send screenshots? It’s only part of the story • Real Time Notifications, Saving Time… Saves Money • Retain customers… Convert trials • Only 1% of your users even tell you that something is wrong • If I only had stack trace, that would be gold • Error grouping is essential, provides sanity for not exploding my inbox email • Bottom line… I need to improve developer productivity and reduce cost
  • 9. Initialization Generally, one line of code … example for Xamarin iOS
  • 14. 95% code sharing Xamarin Forms
  • 16. Dependency Injection In the PCL Platform specific code
  • 17. Try / Catch • Raygun supports unhandled errors • Where you want custom messages, use try catch • Create your own subclasses of Exception to represent state • Examples, in my app: • RSS Feed • Navigating to other sites • Handling of images
  • 18. Custom Tags • Great for application specific needs • “Send email to webmaster – RSS feed is down” • Last URL attempted: www.jethrotull.com • Last Image loaded: this_was.png • Last Page used: Discography
  • 22. If an error is serious, you will know Follow @raygunio on Twitter and check out raygun.io
  • 23. Passing email address from C# to HTML Page
  • 25. Resources Some useful plugins for Xamarin (Device, Settings, etc..): https://github.com/jamesmontemagno/xamarin.plugins Affected user tracking: https://github.com/MindscapeHQ/raygun4net#affected-user-tracking Tags: https://github.com/MindscapeHQ/raygun4net#tags-and-custom-data .NET Platforms: https://raygun.io/docs/languages/net Language support: https://raygun.io/docs/languages
  • 26. Resources continued Plugins: https://raygun.io/docs/plugins/ Workflow: https://raygun.io/docs/workflow/ Raygun blog: https://raygun.io/blog/ Case Studies: https://raygun.io/blog/case-studies/ Dependency Injection: http://developer.xamarin.com/guides/cross-platform/xamarin-forms/dependency-service/
  • 27. Summary • Error Reporting • Initialization • Dashboards for Test and Production environments • Xamarin Dependency Injection • Strategic areas in the code for try / catch • Custom Tags • Affected User support • Passing email address from C# to an HTML page with JavaScript for affected user support

Notas del editor

  1. How do we do this?
  2. How do we do this?
  3. Specifically for my app I need the following technologies: Tablet and Phone versions for Windows 8.1 Universal, Xamarin iOS, and Xamarin Android as well as JavaScript
  4. Did you ever send screenshots? Real Time Notifications Giving as much data to your developer team as you can? Based on Raygun experience of our production apps, only 1% tell you something is wrong Save Time ,Saves Money The more reliable and robust your system or app is, the easier it is to retain your users or convert trial users to customers. Feedback? Statistics show only one percent of your users even tell you that something is wrong. Folks tell us, just getting the stack trace at the bottom here, is gold. One the dash board having the groups is saving my sanity for not exploding my inbox email. Improves developer productivity and reduces cost
  5. If someone has an error in an old browser, really just in the last 6 months have line and column number been reported. Making more error messages unique, but really for the same error The message could be in different languages Use error codes to group. Trend to error on the not in the same group User can merge groups. IE, stack traces are different, but you know it is the same underlining problem Certain type of data we use other info, ajax error incorporate the url. Only happens on two pages.