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 5 times faster than before.
RW3 asked First Line Software to develop a mobile application to help field staff collect price information directly on the sales floor. The price information had to be gathered as quickly as possible with a minimal number of errors. The specific of the job is that shop staff usually react negatively to competitors’ price-fixing, despite the absence of an official ban on such actions. The task of the employee was to get quickly as much information into the database 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 mobile app detects the location of the employee, connects to a server to retrieve data on the nearest shops, and then loads categories and subcategories of products for the selected shop. 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) and the functionality 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 track 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. Thus, 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 developed application works on iOS platforms.
Within just a couple of months of the start of development, the first version was released into production 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