SlideShare a Scribd company logo
1 of 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

More Related Content

What's hot

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
 

What's hot (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 to 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 to 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
 

More from 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
 

More from 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
 

Recently uploaded

BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
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
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作qr0udbr0
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsAhmed Mohamed
 
Buds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in NoidaBuds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in Noidabntitsolutionsrishis
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtimeandrehoraa
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
 
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
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Cizo Technology Services
 
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
 
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
 
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
 
What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....kzayra69
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样umasea
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 
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
 
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
 

Recently uploaded (20)

BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
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
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML Diagrams
 
Buds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in NoidaBuds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in Noida
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtime
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 
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
 
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)
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
 
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
 
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...
 
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 - ...
 
What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 
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
 
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
 

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

Editor's Notes

  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.