RW3 is an American software and consultancy company. It develops IT products for collecting and analyzing data on prices, assortment, and marketing promotions in retail. RW3’s solutions are among Gartner’s top 20 “IT Solutions for Retail”. Despite its proximity to global names such as Oracle and SAP, Gartner identifies RW3 as an industry favorite.

Detailing the creation of a mobile app that helps collect price information from retail outlets five times faster than before.
The Challenge
RW3 asked First Line Software to develop a mobile application to help field staff collect price information directly on the sales floor while completing their task as quickly as possible with as few errors as possible. The specific of the job is that shop staff react negatively to competitors’ price-fixing, despite the absence of an official ban on such actions. The task of the employee was to get as much information into the database as possible as quickly as possible. An iPhone app needed to be developed, allowing data to be entered in a couple of clicks without attracting undue attention.
A critical aspect of the project was to eliminate as much incorrect information in the database as possible. Given the activity, the probability of incorrectly entering data could be high, so the application needed to be built with error detection and correction systems in place. The application had to make this process as smooth as possible while maintaining accuracy.
The Solution
The mobile app detects the location of the employee, connects to a server to retrieve data on the nearest shops, and for the selected shop it loads categories and subcategories of products. For example, the category “Dairy” and the subcategory “Milk”. All further work by the user can be done offline. Once the category is selected, the user adds the prices of the products represented in that category in an inline mode. The app interacts with a portable barcode scanner that connects via Bluetooth to a smartphone and simplifies the task of entering a barcode. When completed, the data is sent to the server in batch mode.
The Development Process
We took an iterative approach to the development to ensure each aspect was executed properly. We started by introducing product categories and subcategories and the ability to manually enter prices for products; then we added the ability to enter different price types (basic, promotional, discount); we added the ability to enter data on products at one price in automatic mode.
Later it was possible to filter errors (control of correctness of the entered code and tracking the adequacy of the entered price). For example, in case of a significant price change, the app may ask to add a photo as proof. Each iteration was tested “in the field” by RW3 staff, after which we got comments from the customer and could tweak the work. In doing so, we used an evolutionary approach.
Moving iteratively, we remembered that we were working on a system, not on a disparate set of components. At the start of the project, the development team on the customer side included a Project Manager and a UI designer. Around the second iteration, the client’s team decided to outsource the UX design functions to the development team because they did a great job with that function. The app is being developed for iOS.
The Result
Within just a couple of months of the start of development, the first version was released into the product and went straight into the work of RW3 ‘field agents’. The solution has made it possible to speed up staff work considerably and increase the amount of data collected. More than 100,000 products have already been priced in the application. Six months later, the customer reported that they are still exploring the potential of the application and finding new opportunities to improve processes. The development process is ongoing.
The Technological Stack
iOS SDK, CoreLocation, CoreData, Bluetooth, REST, JSON, zlib