The official app for the FIFA World Cup 2014 has major performance flaws, according to an analysis by Klaus Enzenhofer, a technical strategist at application performance management vendor Compuware.
An assessment by Enzenhofer using the vendor's APM software revealed at least three fatal errors including an array bounds error, a null pointer exception due to a bug in a depreciated library used by the app and a database error.
The app continually crashed when viewing Brazilian team information, Enzenhofer wrote in a blog entry.
“It looks like the first crash occurs when someone tries to access the first element out of an empty list, or tries to access an element by index without checking the array size. The developers are definitely not using an iterator because this would have done the check for them. So – first thing to do is check your array size before accessing elements,” Enzenhofe wrote.
The second crash was related to the use of a depreciated library which contained a bug.
The third problem was when trying to load news within the app, which triggered a SQLiteDatabaseLockedException.
“This could be a multi-threading issue when both the initial page request and the request triggered by my click on the News try to access the database. Other than on common databases used on server-side implementations (MySql, Oracle, MS SQL, etc.) the SQLite database itself is not aware of multi-threading and the development team has to take care of this,” Enzenhofe wrote.
In addition, the app downloaded the each country's flag individually instead of using a single image of the 32 flags has potential performance implications if the app has a large number of simultaneous users, Enzenhofer wrote