In-App Bug Reporting

This page covers the importance of in-app bug reporting and how it could help you reports from testers and users in an effecient way which leads to a faster implementation.

Building a software or an application consists of endless iterations of improvements and enhancements. The trigger for those additions and changes can be inspired by different ways. On top of the list, the users' feedback and fixing the bugs in the previous iterations. The bug and feedback reporting tools make this process way faster and easier.

The Importance of In-App Bug Reporting

1.Get Higher Rating and Better Reviews

Due to the huge number of apps on the App Store and Google Play, a lot of apps get lost in the middle. The battle between the apps on which ones should appear first in the search results is very intense. A lot of factors contribute to selecting the winners of this fight including the apps ratings, reviews, and the number of downloads. When the app gains high ratings, positive reviews and a lot of downloads it is pushed upward and the opposite otherwise. One way to avoid negative reviews and ratings is to provide the users with another channel where they communicate their concerns other than the stores.

2. Discover Out of The Box Scenarios

Anyone developing an app should go through a testing phase before any release. You can depend on internal testing or even beta testing groups. However, your customers will always amaze you with new ways and scenarios to use your application and features in new unexpected ways. They may have other expectations than the ones you already have in mind. Here comes the importance of opening an easy 2-way channel between you and your actual customers. You should help them and motivate them to communicate their feedback to you. You will be amazed by how they use your software in a completely different way than what you have in mind.

3. Save Time

A lot of developers suffer from and waste a lot of time on debugging. It is definitely very hectic to try to reproduce a problem if you don't have enough information about it. Some problems may even happen only on a certain hardware or OS. Others can happen after a very specific sequence of actions performed by the user. The optimal scenario is to let the developers invest their time creating and building new features instead of being haunted by endless mysterious bugs. To make the debugging process efficient and fast, we provide them with a detailed bug report that may help them allocate the problem in few minutes.

4. Engage Your Users

Your users will definitely appreciate that you care about their feedback and concerns. Offering them a channel to communicate their opinion and feedback is the initial step in this process. The easier and smoother the communication the more motivated they will be to report the problems they see. For example, if they report bugs from within the app, it is so much easier and faster than having to send you an email or communicate through the social networks. Moreover, the negative reviews will no longer be public as it happens when they share them on Twitter and Facebook for example.

Instabug SDK

Isntaug offers a way to achieve all the objective mentioned before. You can check the experience on the users' devices here. This page shows some sample ideas, however, you can change the flow and the experience according to your application in so many ways.

Integrate

You can start using Instabug SDK simply by adding one line of code to your application[1]. This will let the SDK work with all the default settings. However, you have control over almost all the features supported by the SDK and this is discussed in the next section.

Customize

Anyone developing a mobile application now is putting the customer experience on top of the priorities list. From here we came up with a long list of APIs that allow you to tweak the SDK to better fit your application and your users[2]. You can change the event that your users have to do to invoke the SDK and report a bug. Also, you can modify the colors of all the SDK popups as well as the language and the messages displayed. In addition, you can select which popups should appear and which shouldn't and show them manually if this is more suitable.

Track

All the bugs reported from your beta testers and users will show on the dashboard under the Bugs tab. To make the fixing and tracking process easy we provide you with a set of actions that you can perform from the dashboard.

1. Assignee, status, and priority

You can assign the bug to any team member who has access to the application. You can also change the status of the report between New, In-Progress and Closed. Last, the priority level of the report can also be changed. All those parameters can later be used to filter the bug reports which is explained in more details in the Filtering Section.

2. Comments

Team members can leave comments on the bug reports. They can also mention a member by typing a @ before the name or tag another bug report by typing a # before the report number.

3. Filtering

Definitely finding your way through a long list of bug reports is a very frustrating task. To avoid this hassle, you can filter the reports to see the ones you are concerned about only. You can filter the reports based on several conditions and you can also combine more than one.

As displayed in the previous image, you can filter based on the priority, assignee, and status. You can also depend on the tags to filter the reports. You can tag the reports manually through the dashboard or from the code[3]. Another way to filter report is based on any of the extra users attributes that you already added[4]. You can also use the app version, user email and report time as filtering parameters. Last, you can filter the reports that you have already replied to the users who reported them.

Forward

If your team is used to certain tools, you can forward all the data you get on the dashboard to them. You will have the same detailed issues that you get on your Instabug dashboard forwarded over there. We support a variety of tools like Slack, JIRA, Zendesk, Github, Zapier and much more. For more details about the integrations, check the following link.

Automate

In the previous 2 sections, we discussed how to track your bug reports and forward them to your favorite tools. This is definitely will help make your process easier. To make it a little bit faster, you can automate most of the actions. This can be done through the rules. You can find more details about how to use the rules in the following article.

Fix

Now, moving to the most important step which is fixing the bugs. The dashboard contains a lot of useful information that would help you understand why a bug is happening and help you fix it faster. This section explores each one in details.

1. Device Data & User Attributes

This section of the bug report shows you some information about the device and the user. It displays the default attributes as the report date, operating system, device model, storage, location, user email, etc. Any extra Custom user attribute that you add will appear there as well [5].
Those user attributes are very useful if you want to attach any information to the identity of the user. As an example, if the user is unlocking some levels through your application you can bind the current level to his identity.

2. View Hierarchy

One important category of the reported bugs are the UI problems. Here comes the importance of the View Hierarchy. As an example, you might receive a bug that a certain UI view is missing. The first thing you will need to know is if the view is hidden behind a higher layer, out of the parent view's bounds or missing from the window.

3. User Steps

Instabug automatically tracks steps users have taken in the app before a bug is reported or a crash has occurred[6]. This gives you great insights on how to reproduce the issue your users have encountered.

4. Network Logs

Instabug automatically logs all network requests performed by your app. Requests details, along with their responses, are going to be sent with each report[7].

5. User Events

You can log custom user events throughout your application. Events are automatically going to be included with each report. As an example, you can log when the user presses a certain button or performs a certain action [8].

6. Console Logs

Instabug automatically captures all console logs and display them on your dashboard with each report [9].

Reply to Users

One last thing you can do to complete the process and get the best out if it is to get back to the users who took the initiative to send you a piece of feedback. If you are taking what they are saying into consideration this will probably encourage them to do it again if needed. You can reply to the one who reported something in several ways. The faster way is through the report itself as shown below. You can also get in touch with your users through the chats page.

On the users' devices, once you send them a message, they receive an in-app notification. They can check your message and reply to you from within the application.

Relevant APIs

1. Integration:

↩︎ iOS, Android, Web, React Native, Xamarin and Cordova.

2.User Experience:

↩︎ iOS, Android,
React Native, Xamarin and Cordova.

3. Tags:

↩︎ iOS, Android, React Native and Xamarin.

4.User Attributes:

↩︎ iOS, Android, React Native and Xamarin.

5.User Steps:

↩︎ iOS, Android, React Native, Xamarin and Cordova.

6.Network Logs:

↩︎ iOS, Android, and Xamarin.

7.User events:

↩︎ iOS, Android, React Native and Xamarin.

8.Console Logs:

↩︎ iOS, Android, Xamarin and Cordova.

In-App Bug Reporting

This page covers the importance of in-app bug reporting and how it could help you reports from testers and users in an effecient way which leads to a faster implementation.