SlideShare una empresa de Scribd logo
1 de 27
Descargar para leer sin conexión
Implementing awesome crash reporting in production apps webcast
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

BATbern52 Swisscom's Journey into Data Mesh
BATbern52 Swisscom's Journey into Data MeshBATbern52 Swisscom's Journey into Data Mesh
BATbern52 Swisscom's Journey into Data MeshBATbern
 
Boost Efficiency: Sabre API Integration Made Easy
Boost Efficiency: Sabre API Integration Made EasyBoost Efficiency: Sabre API Integration Made Easy
Boost Efficiency: Sabre API Integration Made Easymichealwillson701
 
Mobile App Development process | Expert Tips
Mobile App Development process | Expert TipsMobile App Development process | Expert Tips
Mobile App Development process | Expert Tipsmichealwillson701
 
Revolutionize Your Field Service Management with FSM Grid
Revolutionize Your Field Service Management with FSM GridRevolutionize Your Field Service Management with FSM Grid
Revolutionize Your Field Service Management with FSM GridMathew Thomas
 
Unlocking the Power of IoT: A comprehensive approach to real-time insights
Unlocking the Power of IoT: A comprehensive approach to real-time insightsUnlocking the Power of IoT: A comprehensive approach to real-time insights
Unlocking the Power of IoT: A comprehensive approach to real-time insightsconfluent
 
Leveling Up your Branding and Mastering MERN: Fullstack WebDev
Leveling Up your Branding and Mastering MERN: Fullstack WebDevLeveling Up your Branding and Mastering MERN: Fullstack WebDev
Leveling Up your Branding and Mastering MERN: Fullstack WebDevpmgdscunsri
 
8 key point on optimizing web hosting services in your business.pdf
8 key point on optimizing web hosting services in your business.pdf8 key point on optimizing web hosting services in your business.pdf
8 key point on optimizing web hosting services in your business.pdfOffsiteNOC
 
renewable energy renewable energy renewable energy renewable energy
renewable energy renewable energy renewable energy  renewable energyrenewable energy renewable energy renewable energy  renewable energy
renewable energy renewable energy renewable energy renewable energyjeyasrig
 
Enterprise Content Managements Solutions
Enterprise Content Managements SolutionsEnterprise Content Managements Solutions
Enterprise Content Managements SolutionsIQBG inc
 
8 Steps to Build a LangChain RAG Chatbot.
8 Steps to Build a LangChain RAG Chatbot.8 Steps to Build a LangChain RAG Chatbot.
8 Steps to Build a LangChain RAG Chatbot.Ritesh Kanjee
 
Large Scale Architecture -- The Unreasonable Effectiveness of Simplicity
Large Scale Architecture -- The Unreasonable Effectiveness of SimplicityLarge Scale Architecture -- The Unreasonable Effectiveness of Simplicity
Large Scale Architecture -- The Unreasonable Effectiveness of SimplicityRandy Shoup
 
If your code could speak, what would it tell you? Let GitHub Copilot Chat hel...
If your code could speak, what would it tell you? Let GitHub Copilot Chat hel...If your code could speak, what would it tell you? Let GitHub Copilot Chat hel...
If your code could speak, what would it tell you? Let GitHub Copilot Chat hel...Maxim Salnikov
 
MUT4SLX: Extensions for Mutation Testing of Stateflow Models
MUT4SLX: Extensions for Mutation Testing of Stateflow ModelsMUT4SLX: Extensions for Mutation Testing of Stateflow Models
MUT4SLX: Extensions for Mutation Testing of Stateflow ModelsUniversity of Antwerp
 
Technical improvements. Reasons. Methods. Estimations. CJ
Technical improvements.  Reasons. Methods. Estimations. CJTechnical improvements.  Reasons. Methods. Estimations. CJ
Technical improvements. Reasons. Methods. Estimations. CJpolinaucc
 
Flutter the Future of Mobile App Development - 5 Crucial Reasons.pdf
Flutter the Future of Mobile App Development - 5 Crucial Reasons.pdfFlutter the Future of Mobile App Development - 5 Crucial Reasons.pdf
Flutter the Future of Mobile App Development - 5 Crucial Reasons.pdfMind IT Systems
 
MinionLabs_Mr. Gokul Srinivas_Young Entrepreneur
MinionLabs_Mr. Gokul Srinivas_Young EntrepreneurMinionLabs_Mr. Gokul Srinivas_Young Entrepreneur
MinionLabs_Mr. Gokul Srinivas_Young EntrepreneurPriyadarshini T
 
03.2024_North America VMUG Optimizing RevOps using the power of ChatGPT in Ma...
03.2024_North America VMUG Optimizing RevOps using the power of ChatGPT in Ma...03.2024_North America VMUG Optimizing RevOps using the power of ChatGPT in Ma...
03.2024_North America VMUG Optimizing RevOps using the power of ChatGPT in Ma...jackiepotts6
 
User Experience Designer | Kaylee Miller Resume
User Experience Designer | Kaylee Miller ResumeUser Experience Designer | Kaylee Miller Resume
User Experience Designer | Kaylee Miller ResumeKaylee Miller
 
openEuler Community Overview - a presentation showing the current scale
openEuler Community Overview - a presentation showing the current scaleopenEuler Community Overview - a presentation showing the current scale
openEuler Community Overview - a presentation showing the current scaleShane Coughlan
 
Einstein Copilot Conversational AI for your CRM.pdf
Einstein Copilot Conversational AI for your CRM.pdfEinstein Copilot Conversational AI for your CRM.pdf
Einstein Copilot Conversational AI for your CRM.pdfCloudMetic
 

Último (20)

BATbern52 Swisscom's Journey into Data Mesh
BATbern52 Swisscom's Journey into Data MeshBATbern52 Swisscom's Journey into Data Mesh
BATbern52 Swisscom's Journey into Data Mesh
 
Boost Efficiency: Sabre API Integration Made Easy
Boost Efficiency: Sabre API Integration Made EasyBoost Efficiency: Sabre API Integration Made Easy
Boost Efficiency: Sabre API Integration Made Easy
 
Mobile App Development process | Expert Tips
Mobile App Development process | Expert TipsMobile App Development process | Expert Tips
Mobile App Development process | Expert Tips
 
Revolutionize Your Field Service Management with FSM Grid
Revolutionize Your Field Service Management with FSM GridRevolutionize Your Field Service Management with FSM Grid
Revolutionize Your Field Service Management with FSM Grid
 
Unlocking the Power of IoT: A comprehensive approach to real-time insights
Unlocking the Power of IoT: A comprehensive approach to real-time insightsUnlocking the Power of IoT: A comprehensive approach to real-time insights
Unlocking the Power of IoT: A comprehensive approach to real-time insights
 
Leveling Up your Branding and Mastering MERN: Fullstack WebDev
Leveling Up your Branding and Mastering MERN: Fullstack WebDevLeveling Up your Branding and Mastering MERN: Fullstack WebDev
Leveling Up your Branding and Mastering MERN: Fullstack WebDev
 
8 key point on optimizing web hosting services in your business.pdf
8 key point on optimizing web hosting services in your business.pdf8 key point on optimizing web hosting services in your business.pdf
8 key point on optimizing web hosting services in your business.pdf
 
renewable energy renewable energy renewable energy renewable energy
renewable energy renewable energy renewable energy  renewable energyrenewable energy renewable energy renewable energy  renewable energy
renewable energy renewable energy renewable energy renewable energy
 
Enterprise Content Managements Solutions
Enterprise Content Managements SolutionsEnterprise Content Managements Solutions
Enterprise Content Managements Solutions
 
8 Steps to Build a LangChain RAG Chatbot.
8 Steps to Build a LangChain RAG Chatbot.8 Steps to Build a LangChain RAG Chatbot.
8 Steps to Build a LangChain RAG Chatbot.
 
Large Scale Architecture -- The Unreasonable Effectiveness of Simplicity
Large Scale Architecture -- The Unreasonable Effectiveness of SimplicityLarge Scale Architecture -- The Unreasonable Effectiveness of Simplicity
Large Scale Architecture -- The Unreasonable Effectiveness of Simplicity
 
If your code could speak, what would it tell you? Let GitHub Copilot Chat hel...
If your code could speak, what would it tell you? Let GitHub Copilot Chat hel...If your code could speak, what would it tell you? Let GitHub Copilot Chat hel...
If your code could speak, what would it tell you? Let GitHub Copilot Chat hel...
 
MUT4SLX: Extensions for Mutation Testing of Stateflow Models
MUT4SLX: Extensions for Mutation Testing of Stateflow ModelsMUT4SLX: Extensions for Mutation Testing of Stateflow Models
MUT4SLX: Extensions for Mutation Testing of Stateflow Models
 
Technical improvements. Reasons. Methods. Estimations. CJ
Technical improvements.  Reasons. Methods. Estimations. CJTechnical improvements.  Reasons. Methods. Estimations. CJ
Technical improvements. Reasons. Methods. Estimations. CJ
 
Flutter the Future of Mobile App Development - 5 Crucial Reasons.pdf
Flutter the Future of Mobile App Development - 5 Crucial Reasons.pdfFlutter the Future of Mobile App Development - 5 Crucial Reasons.pdf
Flutter the Future of Mobile App Development - 5 Crucial Reasons.pdf
 
MinionLabs_Mr. Gokul Srinivas_Young Entrepreneur
MinionLabs_Mr. Gokul Srinivas_Young EntrepreneurMinionLabs_Mr. Gokul Srinivas_Young Entrepreneur
MinionLabs_Mr. Gokul Srinivas_Young Entrepreneur
 
03.2024_North America VMUG Optimizing RevOps using the power of ChatGPT in Ma...
03.2024_North America VMUG Optimizing RevOps using the power of ChatGPT in Ma...03.2024_North America VMUG Optimizing RevOps using the power of ChatGPT in Ma...
03.2024_North America VMUG Optimizing RevOps using the power of ChatGPT in Ma...
 
User Experience Designer | Kaylee Miller Resume
User Experience Designer | Kaylee Miller ResumeUser Experience Designer | Kaylee Miller Resume
User Experience Designer | Kaylee Miller Resume
 
openEuler Community Overview - a presentation showing the current scale
openEuler Community Overview - a presentation showing the current scaleopenEuler Community Overview - a presentation showing the current scale
openEuler Community Overview - a presentation showing the current scale
 
Einstein Copilot Conversational AI for your CRM.pdf
Einstein Copilot Conversational AI for your CRM.pdfEinstein Copilot Conversational AI for your CRM.pdf
Einstein Copilot Conversational AI for your CRM.pdf
 

Implementing awesome crash reporting in production apps webcast

  • 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.