intro to error reporting
TRANSCRIPT
Fustino Brothers, Inc. We Build Powerful Apps!Theme: Learn, Knowledge-Base, Reward
All Rights Reserved1
Fustino Brothers, Inc. We Build Powerful Apps!Theme: Learn, Knowledge-Base, Reward
All Rights Reserved
Intro to Error Reporting
• Russ Fustino, MVP • CEO Fustino Brothers, Inc• @RussFustino• [email protected]
1www.FustinoBrothers.com | @FustinoBrothersFBI: 850.366.3232 | Fax: 1.856.267.1568
Fustino Brothers, Inc. We Build Powerful Apps!Theme: Learn, Knowledge-Base, Reward
All Rights Reserved
A little about me• Former Developer Evangelist for Microsoft,
Xamarin, Raygun 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
www.FustinoBrothers.com | @FustinoBrothersFBI: 850.366.3232 | Fax: 1.856.267.1568
Fustino Brothers, Inc. We Build Powerful Apps!Theme: Learn, Knowledge-Base, Reward
All Rights Reserved
How did I improve app quality?
www.FustinoBrothers.com | @FustinoBrothersFBI: 850.366.3232 | Fax: 1.856.267.1568
Fustino Brothers, Inc. We Build Powerful Apps!Theme: Learn, Knowledge-Base, Reward
All Rights Reserved
Find Bugs Before your Users do.
www.FustinoBrothers.com | @FustinoBrothersFBI: 850.366.3232 | Fax: 1.856.267.1568
Fustino Brothers, Inc. We Build Powerful Apps!Theme: Learn, Knowledge-Base, Reward
All Rights Reserved
Why is this important?
• 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?
www.FustinoBrothers.com | @FustinoBrothersFBI: 850.366.3232 | Fax: 1.856.267.1568
Fustino Brothers, Inc. We Build Powerful Apps!Theme: Learn, Knowledge-Base, Reward
All Rights Reserved
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?
Fustino Brothers, Inc. We Build Powerful Apps!Theme: Learn, Knowledge-Base, Reward
All Rights Reserved
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
Fustino Brothers, Inc. We Build Powerful Apps!Theme: Learn, Knowledge-Base, Reward
All Rights Reserved
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
Fustino Brothers, Inc. We Build Powerful Apps!Theme: Learn, Knowledge-Base, Reward
All Rights Reserved
Raygun Platforms
www.FustinoBrothers.com | @FustinoBrothersFBI: 850.366.3232 | Fax: 1.856.267.1568
Fustino Brothers, Inc. We Build Powerful Apps!Theme: Learn, Knowledge-Base, Reward
All Rights Reserved
Initialization
Generally, one line of code … example for Xamarin iOS
Fustino Brothers, Inc. We Build Powerful Apps!Theme: Learn, Knowledge-Base, Reward
All Rights Reserved
Raygun Dashboard180 day retention period
www.FustinoBrothers.com | @FustinoBrothersFBI: 850.366.3232 | Fax: 1.856.267.1568
Fustino Brothers, Inc. We Build Powerful Apps!Theme: Learn, Knowledge-Base, Reward
All Rights Reserved
Dashboards for Test and Production
Fustino Brothers, Inc. We Build Powerful Apps!Theme: Learn, Knowledge-Base, Reward
All Rights Reserved
Global Dashboard
www.FustinoBrothers.com | @FustinoBrothersFBI: 850.366.3232 | Fax: 1.856.267.1568
Fustino Brothers, Inc. We Build Powerful Apps!Theme: Learn, Knowledge-Base, Reward
All Rights Reserved
Grouping on Errors
• It’s not the message that counts, it’s the cause• Use stack trace data to group• Raygun tends to err on side of the error not in the same group• You can merge groups. IE, stack traces are different, but it’s the
same underlining problem
www.FustinoBrothers.com | @FustinoBrothersFBI: 850.366.3232 | Fax: 1.856.267.1568
Fustino Brothers, Inc. We Build Powerful Apps!Theme: Learn, Knowledge-Base, Reward
All Rights Reserved
If an error is serious, you will know
www.FustinoBrothers.com | @FustinoBrothersFBI: 850.366.3232 | Fax: 1.856.267.1568
Fustino Brothers, Inc. We Build Powerful Apps!Theme: Learn, Knowledge-Base, Reward
All Rights Reserved
Affected Users
www.FustinoBrothers.com | @FustinoBrothersFBI: 850.366.3232 | Fax: 1.856.267.1568
Fustino Brothers, Inc. We Build Powerful Apps!Theme: Learn, Knowledge-Base, Reward
All Rights Reserved
Affected Users Properties
Fustino Brothers, Inc. We Build Powerful Apps!Theme: Learn, Knowledge-Base, Reward
All Rights Reserved
Stack Trace is Gold
www.FustinoBrothers.com | @FustinoBrothersFBI: 850.366.3232 | Fax: 1.856.267.1568
Fustino Brothers, Inc. We Build Powerful Apps!Theme: Learn, Knowledge-Base, Reward
All Rights Reserved
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
Fustino Brothers, Inc. We Build Powerful Apps!Theme: Learn, Knowledge-Base, Reward
All Rights Reserved
Custom Tags
www.FustinoBrothers.com | @FustinoBrothersFBI: 850.366.3232 | Fax: 1.856.267.1568
Fustino Brothers, Inc. We Build Powerful Apps!Theme: Learn, Knowledge-Base, Reward
All Rights Reserved
Passing email address from C# to HTML Page
Fustino Brothers, Inc. We Build Powerful Apps!Theme: Learn, Knowledge-Base, Reward
All Rights Reserved
Demos
• Xamarin Forms• JavaScript
Fustino Brothers, Inc. We Build Powerful Apps!Theme: Learn, Knowledge-Base, Reward
All Rights Reserved
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
Fustino Brothers, Inc. We Build Powerful Apps!Theme: Learn, Knowledge-Base, Reward
All Rights Reserved
Resources
• 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/
Fustino Brothers, Inc. We Build Powerful Apps!Theme: Learn, Knowledge-Base, Reward
All Rights Reserved
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
Fustino Brothers, Inc. We Build Powerful Apps!Theme: Learn, Knowledge-Base, Reward
All Rights Reserved
Monthly online seminars! 2nd Monday of monthon Business and Apps
• Register at:
www.meetup.com/InBusinessLinksNetwork-FustinoBrothersInc/
• Past presentations
http://www.inbusinessseo.net/tps-blog
33www.FustinoBrothers.com | @FustinoBrothersFBI: 850.366.3232 | Fax: 1.856.267.1568
Fustino Brothers, Inc. We Build Powerful Apps!Theme: Learn, Knowledge-Base, Reward
All Rights Reserved
Twitter love• Xamarin www.Xamarin.com • Raygun www.Raygun.io • Xamarin Forms: http://xamarin.com/forms • Windows App Studio: http://appstudio.windows.com
• If you liked this session:
• @RussFustino• @Raygunio• @XamarinHQ• @FustinoBrothers• #MicrosoftAppStudio
www.FustinoBrothers.com | @FustinoBrothersFBI: 850.366.3232 | Fax: 1.856.267.1568
Fustino Brothers, Inc. We Build Powerful Apps!Theme: Learn, Knowledge-Base, Reward
All Rights Reserved
FBI: Learn, Knowledge-Base, Reward …Powerful Apps!
It’s Easy to Connect With Us…
35www.FustinoBrothers.com | @FustinoBrothersFBI: 850.366.3232 | Fax: 1.856.267.1568
Fustino Brothers, Inc. We Build Powerful Apps!Theme: Learn, Knowledge-Base, Reward
All Rights Reserved
Connect online
• At Your Computer- If Available Use a Headset • Enter This link:• https://www.startmeeting.com/wall/679-256-129• Click/Tap "Join”-
- Complete your Name and eMail Address - Then "Submit” - The System will Guide from There- Mike Symbol Click/Tap the Green Icon to Red
Test your speaker/mike. If headset doesn't work, orif connection is lost - try "Rejoin”
www.FustinoBrothers.com | @FustinoBrothersFBI: 850.366.3232 | Fax: 1.856.267.1568
Fustino Brothers, Inc. We Build Powerful Apps!Theme: Learn, Knowledge-Base, Reward
All Rights Reserved
Join In – By Phone
• Join-In using a land line / mobile phone• Dial - (530) 881-1212• When prompted enter access code
followed by the "pound" key.• 679-256-129#
(be sure to enter the "#" hashtag symbol)
37www.FustinoBrothers.com | @FustinoBrothersFBI: 850.366.3232 | Fax: 1.856.267.1568