Recognising the potential for football fan frustration, Compuware, the technology performance company, has used its new Auto Instrumentation feature for Mobile Real User Monitoring to get to the root of these problems. The Auto Instrumentation allows users to not only figure out visit duration, user actions, and so on, but also highlights potential issues, such as performance and functional errors, as well as crash triggers. The findings below, based on the use of a Samsung Galaxy S2, show how FIFA could identify and analyse the problems found in order to get ready for the big kick off. Klaus Enzenhofer, Technology Strategist at Compuware Application Performance Management Center of Excellence, comments:
"More people than ever before will be following this year's World Cup through their smartphones and tablets. It's therefore very surprising to see that the ball has really been dropped with FIFA's mobile app. Like many others in the run up to the World Cup, I've downloaded the official app to keep on top of the latest news. However, judging from my own experience and many of the reviews on the app store, the end result has been nothing short of disappointing; with frequent crashes and failed requests. Using our real user monitoring product to dig into where the problems are coming from, I was able to identify three separate problems! These issues could easily be solved if the app's creators were able to see inside the application to find out what's going on, but for some reason this doesn't seem to have been done."
The Crash Reports
To conduct its analysis, Compuware added its Mobile Agent technology to the downloaded app in order to track the root cause of any problems that occurred. The team found that the app crashed consistently in three different areas:
Crash 1: I want to see how the team from Brazil is doing!
- Problem: When the user tries to view the team information for Brazil, the app crashes
- Cause: This issue can be traced back to a coding error. It appears that when the application executes this transaction, it is calling on data from an array that is empty, which causes it to crash.
- Solution: The simple solution would be to build in a validity check within the code, so that the application checks whether the given array contains any data before the app tries to call on it
- Problem: The app crashes randomly when users are navigating content
- Cause: After looking at the crash reports, it was evident that there is a bug in the code. This problem can be traced back to view refresh functionality being enabled by third-party library code built into the app
- Solution: The third-party library code causing the glitch to occur was found to be deprecated and so should be switched for an alternative, such as the Google Support package
- Problem: The app failed to load the news on the initial page and touch on the 'News' button caused the app to crash again
- Cause: Compuware found that by looking at the visit duration captured for all attempts and analysing the time difference between the initial loading and the touch on the 'News', it seems that there is a background job doing something with the SQLite database, which is an on device database. The touch triggers some activity to the database that finally leads to a SQLiteDatabaseLockedException.
- Solution: As the problem has occurred when trying to access the database, this is a developer issue and will need to be taken back in-house to be re-architected
A mobile user's experience is not all about Crashes but also about the performance and responsiveness of the app. As such, Compuware also investigated key performance timings of requests executed by the app, for example, how long the app took to load content (images, videos, statistics, etc.).
The analysis showed that most requests are executing in under one second - which is considered fast. However, Compuware soon identified a number of inefficiencies that could create issues further down the line. In particular, it was struck by the sheer volume of requests executed during its tests. This highlighted a common problem pattern in Web Development whereby applications are accessing information inefficiently.
For example, when viewing the list of teams, the country's flag gets requested for each team individually, instead of downloading the 32 flags as a single "sprite". This might become a problem during peak times for the mobile app, as well as for the data centre that needs to serve a much higher number of requests as necessary.
Klaus Enzenhofer concludes: "The reality is that mobile apps are incredibly complex, but developers are often being forced to rush them out in ever shorter timescales to keep up with market demands. As a result, there often isn't the time to test them as rigorously as applications should, and indeed would have been in the past. However, user experience has the potential to make or break the success of an app. The sheer number of factors that can impact on its performance: from inefficient coding, to the mobile network, and even the handset itself, means that businesses simply can't afford not to have visibility into the experience of every single user if they are to guarantee a high quality service. This means they need the ability to follow every single user transaction from the user's screen right down to the backend IT systems supporting the app; regardless of the device, mobile network or web browser being used. The ability to automatically spot the symptoms and identify the root cause of any issue impacting on the user experience is essential to running a successful app. Let's just hope FIFA is able to iron out these teething troubles by the time the World Cup kicks off, or there are going to be some very disappointed football fans out there."
To read Compuware APM's full analysis, please visit: http://apmblog.compuware.com/...
Compuware APM ist Marktführer einer neuen Generation von Application Performance Management. Im Vergleich zu herkömmlichen APM-Lösungen, die schwerfällig und reaktiv sind, arbeitet Compuware APM einfach und proaktiv. Compuware APM ist dafür ausgelegt, die Komplexität moderner, anspruchsvoller Anwendungen zu steuern. Dazu zählen auch mobile und Cloud-Applikationen, Big Data und SOA. Mehr als 5.000 mittelständische und große Kunden weltweit nutzen Compuware APM zur Optimierung und zum Monitoring unzähliger Anwendungen. Durch den Blick auf die Endanwender-Erfahrung profitieren die Kunden von schnellerer Performance, proaktiver Problemlösung und beschleunigter Time-to-Market. Eine intelligente Analytik, hochentwickelte APM-Automatisierung und eine einzigartige Basis für den Performance-Lifecycle führen zu geringeren Kosten für das Applikationsmanagement.
Weitere Informationen über die führende Position von Compuware im APM Markt und Bewertung durch Marktanalysten erhalten Sie hier. Compuware APM ist ein Geschäftsbereich der Compuware Corporation.
Folgen Sie uns auch auf folgenden Web-Kanälen: