The Iowa Debacle - The Importance of Load Testing and Usability for Mobile Applications
The Iowa caucus was to be an important night. It was an exciting start of the race to determine a Democratic presidential nominee. Nobody could have imagined that a new smartphone app designed to report caucus results had the night ended in a complete disaster.
Caucus results came in very slowly overnight and just 62% of results were released 24hours later. Many of the app users were unable to follow the overly complicated process of installing the app on their phones. 2FA (Two-Factor Authentication) and PIN codes added some security, but this proved too challenging for many of the users. Then when sending election data, data was incorrectly transmitted from the app to a central database. A backup mechanism of manually calling in results had way too little capacity.
The app was developed under enormous time pressure and on a shoestring budget. This seems to have led to considerable problems. There was neither time for bug and load testing nor for registering the app in the Apple store. The installation process ended up being too complicated for many users. The software service provider was accused of lacking coding know-how and not applying the right security measures.
The big question we need to ask is, how to avoid disasters like this? More and more crucial processes, whether they are related to elections or payments, are handled via digital solutions. The need for secure and reliable solutions provided by knowledgeable service providers is rising.
Well-executed project management is essential for reliable app development, as was demonstrated here. A project has to be based around a realistic schedule. Design for usability and continuous feedback from the customer and users is essential. Solid testing of the application for bugs and load testing in a realistic setting is also required. Testing is sometimes not built into the development process. When testing is neglected, it is difficult to guarantee bug-free user experience.
Apps that are used in events like election processes or transfers of payments must also be able to process a high number of user requests in a short time period. For this reason, ThinkPower exposes its systems to load testing and ensures high data throughput to meet user demand. With these load tests, we can ensure the system is robust and will not fail if presented with more than the expected demand. A similar scenario of project ThinkPower did was to create an App for a well-known international bank for 11/11 promotion, where the earliest respondents agreed to the installment plan can get reward money. This had attracted tremendous users to participate in a very short interval of time. ThinkPower’s solution has proven hassle-free and exceeded the client’s expectation.
Furthermore, to comply with stringent security requirements, ThinkPower runs Pentest (penetration tests). Pentest simulates cyberattacks to find possible weak points in the application. This is integrated with continuous Regression Testing. The Regression Testing makes sure that software works properly even after components are added to the completed program.
Card+, a credit card app for banking, developed by ThinkPower, uses Face ID and Fingerprint technology, end-to-end encryption, and token-based session management to meet further cybersecurity demands. With many years of experience in the financial industry, security measurements are our special expertise.
The app used in the Iowa Caucus could only be installed in a roundabout way. The installation process proved too complicated for casual users of mobile phones. Mobile Applications developed by ThinkPower ensure an easy download via Apple Store or Google Play. UX design is as crucial as load testing. An App should present information and tasks in a simple and straightforward manner. ThinkPower’s UX designers work closely with our customers to ensure the application meets the requirements of the end-user and provides for smooth interaction.