Intro & Feedback Overview
Feedback Loops & App Center Analytics
Baselines & Noise
The course is part of this learning path
The application lifecycle doesn’t finish with app deployment. Feedback is an important element of refining an application, whether that’s exception detection and diagnoses or improving the user experience. In this course, we will look at a suite of services that capture a vast array of feedback data, ranging from exceptions to client and server telemetry. This data can be turned into easily digestible information that can be used to trigger alerts and feedback into the development lifecycle as work items.
This course begins by describing what feedback is, and the types of feedback for improving application performance and usability. It then moves on to how we can integrate feedback into the software development lifecycle and what tools we can use to simplify that task. Finally, we will look at optimizing feedback mechanisms to get meaningful data from feedback noise.
For any feedback and questions relating to this course, please contact us at firstname.lastname@example.org.
- Designing application and user feedback loops
- Setting up crash and event notifications for App Center
- Setting up work item integration from App Center
- Making sense of App Center’s analytic and diagnostic information
- Adding Application Insights Telemetry to an application
- Setting up Application Insights alerts
- Work item integration from Application Insights
- Designing feedback dashboards
- Viewing Application Insights Telemetry data
- Discussing types of user feedback and how they can be captured
- Ways to baseline and filter feedback data
This course is intended for:
- People preparing for Microsoft’s AZ-400 exam
- App developers
- Project managers
To get the most from this course, you should have some experience with Microsoft Azure and application development, as well as knowledge of software project management concepts.
Designing a feature and usage feedback system is in principle not dissimilar to an error feedback loop, however it is more nuanced and complex. For a start, there is no right or wrong. Improving is more subtle than fixing, which translates into not all changes are improvements. There are more data sources, in this case metrics, and they require analysis and interpretation to be most useful. We will see how you can gain insight, excuse the pun, with Azure, and also with App Centre.
While we were looking at Application Insights you might have noticed that most of the metrics weren’t related to just errors, but to system and application performance, such as server response time and page load time. Knowing about system metrics is almost as important as knowing about exceptions. A user could easily mistake very slow page loading for an error, especially if they give up waiting. Whatever the reason for slow performance, be that page loading or server response time we want our applications to be a pleasure to use, not a chore.
We can drill down into performance or system metrics by clicking metrics under the monitoring menu. In here we can add charts with multiple metrics. You might want to have chart of client or browser side performance showing page load time and client processing time. Just create a new chart and begin adding metrics. Another chart might focus on server and network performance. One thing to keep in mind when combining metrics is not to have too many on one chart and make sure they are of a similar scale so one metric doesn’t turn the others into a flat line at the bottom of the graph.
We can go to performance under the investigate menu and look at load times and number of page hits. Click on a page for load times specific to that page. By clicking on the overall load time and then the drill into examples button we get a list of the individual asset load times. You can use this to get an idea of the loading time impact of the asset and if necessary, create a work item to look at speeding it up.
Not only is it important to know how your app is operating from an internal code and system perspective, but it is very useful to know how your users are, or are not interacting with it. Are users finding it intuitive to use? Are there features that users will like, but can not find them? If your app is a shopping platform your need to know if there is some technical or navigational issue why views aren’t being converted into sales.
A good place to start is knowing who your uses are, in terms of location. There is no denying that culture does play a part in user behavior and attitudes. This can relate to supported languages and time zones your users are in, through to what kind of icons you are using to represent features or actions. You want the icons to be self-explanatory and not offensive to a particular cultural group. The user’s insight also tells you which browsers and operating systems you need to support, or which new browser features you may be able to take advantage of.
The user flows feature under usage is quite a dramatic graphical illustration of how users navigate through your application. In a large application this is a useful tool for discovering feature usage. It may help you determine where to concentrate development efforts to expand features or remove options to simplify the application. If you have a flow or path that you want users to follow to a purchase, for example, this tool will help you understand if that process is working and how it could be improved.
Application Insights has also introduced the concept of impact, which is a graphical representation of page conversion rates relative to page load times. Impact is in essence a correlation between one action leading to another. For example, what is the correlation between a user being on the “special deal page” and then navigating to the checkout. For those of you with a statistical bent the impact figure is based on the time tested Pearson correlation coefficient. As with all statistical measures sample size is extremely important, that is the larger the better. If your dataset is statistically robust then impact will provide an objective and unambiguous picture of user behavior.
Hallam is a software architect with over 20 years experience across a wide range of industries. He began his software career as a Delphi/Interbase disciple but changed his allegiance to Microsoft with its deep and broad ecosystem. While Hallam has designed and crafted custom software utilizing web, mobile and desktop technologies, good quality reliable data is the key to a successful solution. The challenge of quickly turning data into useful information for digestion by humans and machines has led Hallam to specialize in database design and process automation. Showing customers how leverage new technology to change and improve their business processes is one of the key drivers keeping Hallam coming back to the keyboard.