Logging User Activity for a Better Experience

Table of Contents

    The use of logs in any application is typically centered around logging usage and behavior, unexpected application events, performance issues, failures or security alerts.

    At ClicData we use logs extensively to monitor outliers, increase in activity, increase in errors, and hundreds of processes that take place every second.

    Application Logs Stats Graph
    Sample of one of ClicData’s Application Log Analysis charts split by internal process to identify logging frequency.

    Typically the documents or tables storing these logs are frequently the largest in the entire application and can be difficult to use for the very purposes they were built for; to identify issues and resolve them.

    The issue in handling these data sets is not only one of volume but it is about knowing what to look for, how to analyze it, how to determine if the rate change is abnormal, handling false-positives, prioritization and so forth.

    Developers will gladly add a few more lines of code to write the different logs, just in case something goes wrong, and even though there are different levels of logging such as informational, warning and critical, the “noise” being added does add to the issue of identifying real issues.

    Couple that with security event logging and based on the amount of attacks increasing substantially year over year and you now have terabytes of data to sift through, analyze, monitor and alert.

    There are some platforms that allow you to offload all this to them, logz.io is one of them, By using statistical methods specific to pattern detection, they are able to simplify a lot of the work you may need to do when implementing application logging.

    So what are usability logs?

    Having logs just for the technical side (product development, DevOps, Cloud, etc.) serves to make the product better in performance, stability, functionality. But how a user interacts with the application goes to make the application better from a usability point of view.

    Usability Logs provide insight into a user’s usage patterns, how many clicks on the same menu or button do they do per session, how many times they load the same screen, the time between certain activities, and so forth.

    By applying similar pattern detection algorithms to usability metrics, such as measuring time to perform an action or number of clicks to perform an action, UI/UX engineers can begin to identify ways to improve the interface.

    In comparison to Technical/Platform Logs, the volume of Usability Logs would be prohibitive in most serious platforms so it is important that you enable these logs for a group of users or even per user, by selecting different groups of users (experts, regular, beginners) you will be able to tap into patterns that can ease beginners into using your application faster, and that will satisfy your experts by having fewer clicks or spending less time on accomplishing something.

    Identify slow or broken flows

    With usability logs, we can identify breaks or difficulties in user screen flow that may have been neglected at design time. This is most prevalent in many mobile applications where the screen real-estate is small and for the sake of an additional button or control, we make the user process slow and cumbersome.

    Slow Flows
    A slow or broken screen flow that forces users to hit “back 3 times to get back to the main screen”

    A slow or broken screen flow that forces users to hit “back 3 times to get back to the main screen”.

    Keep users surprised!

    I love video games and one of the reasons is that they are filled with surprises, from “I didn’t know we could do that!” to cool animations. We can and should bring this concept to business applications. Keeping the users motivated to use your application is key!

    By creating certain “surprise” features and measuring their usability is critical. Of course, there is a difference between software bloating and Easter eggs and a usability surprise improvement. Not everyone likes these surprises especially if they are adding loading time or display internal jokes that nobody except the developers will get (read more about how Steve Jobs banned Easter eggs at Apple upon his return here) but if you do them smartly it should add to user satisfaction.

    Gamification is part of adding value to the software if used wisely to promote better practices. Gamification is about adding game-like features to the software to create competitive positive behavior in learning or using the application. Adding scoreboards to the users and sometimes across teams can create a positive competitive environment and adding information on their use and completion to the Usability logs will determine if gamification is having a positive impact.

    Focus on use, not user

    Some that have taken the road to log User activity are focused on Session logging, location, and what is the user doing. When writing the hooks for usability logs, you need to focus on the use of a feature from beginning to end and then determine which metrics to measure.

    In ClicData, our users create dashboards and those dashboards sometimes have usability problems because they weren’t designed with the use case in mind. By adding too many options, filters and selections, the use case gets lost and too many possible paths of action will confuse users.

    mobile-expense-breakdown-dashboard
    Designing a dashboard for mobile needs to be well thought out and designed

    With so many other items set as priorities such as security, performance, stability, and operations it is easy to forget about the usability of the platform. Logging, analyzing and monitoring usability needs to be a key component of your platform, one that will drive better use and adoption and eventually more customers. Start thinking about what your processes in your application are key and that you could start measuring today to make them better.