VEKA

One app instead of a whole folder of blueprints! How we made things easier for window measurers.

“Window Measurer 2.0” is a mobile application for creating layouts of doors and windows. Developed for VEKA Rus. Works on smartphones with iOS and Android.

344 companies

registered in the system on iOS and Android.

5 months

of work

More than 10,000 downloads

in the Play Market and App Store.
Задача

Task

Company employees used to write down the dimensions of the windows and doors on paper. They were made in a hurry, often crossed out, corrected. They could have forgotten to indicate some data or lost the sheet.

The production workers had to decipher the notes. They could misunderstand the numbers and make designs with the wrong dimensions. And if something was missing, it was necessary to go to the premises again and retake measurements. Dealers found it difficult to control the measurers, as they had to keep reports in separate files.

Решение

Solution

An application helps measurers do all the work on a smartphone:
- Enter data into the cloud;
- Create layouts and drawings of structures;
- Send data to production facilities immediately.

It has user authorization and several roles: measurer, manager, dealer. Making measurements has become easier, as users can adjust the model to certain dimensions and create a layout in just a few seconds. The application contains a library of standard solutions with drawings and popular designs that customers often choose.

At the end of the work, the measurer fills out a checklist. The specialist checks whether he has measured and recorded all the parameters. The data does not need to be sent by mail or messenger. It is automatically sent to the administrator. He can check at what stage the work is: they brought the structures, unloaded them, started the installation, etc. There are some advanced options for dealers included: setting up and exporting a template with individual parameters based on standard solutions. In the application, the gauge indicates what is happening at the facility now - administrators can monitor the progress of work.

Development Process

In 2019, we started work on Window Measurer 2.0. Development went on for 3 months. We met the deadlines.

We started to implement multi-platform technology. Used Kotlin 1.3 and Kotlin / Native Beta. We chose this technology, because Android and iOS applications can share the same server-side interactivity logic and API elements. The server API was large, so it would take a lot of time to implement separately for iOS and Android. As a result, we allocated the entire network part to a common library. Both platforms work with it successfully.

The Hardest Part

There were numerous difficulties. These are the main ones, as even do not remember the minor issues:

- Both iOS and Android versions of the application were written with a different approach, as they had different data structures. And we needed to make a generalized version of server interaction;

- There were problems with forms and uploading of Ktor files on iOS, because the API is a difficult one;

- The shared project library depends on the SCL (Standard Components Library), our internal library of shared components. When compiling the iOS framework, we found that some classes from the SCL framework were missing.

How we solved these tasks

- To create a generalized version of server interaction, the native code had to be redone, so the application was able to work with the data of the common module, and not only with the old data from the platform itself;

- The problem with uploading files on iOS was solved radically – we made uploading on the platform side via Alamofire;

- To fix the compilation situation, we added classes to the public interface of the library, which is compiled into the framework. It was made as a simple declaration of a global optional variable with this class, which was immediately set to null. The compiler saw the required type in the public interface and generated it in the header. For now, you can just use export for the required dependencies.

iWe advise a gradual introduction of Kotlin Multiplatform technology into a current project, feature by feature. The technology allows users to do this without any problems. For example, first it is possible to add a network layer and work with the network on the multiplatform. Network entities can be added later, then validation rules, etc.
card-0
card-1
card-2

Technology Stack

Language: Java, Kotlin
Dagger 2
Multithreading: RxJava2, Coroutines
Network: Ktor
Database: Room
AAC (Android Architecture Components)
Firebase Crashlytics and Timber
Additional UI libraries
iMobile developers will need our MOKO libraries. They have already fixed most of the problems that developers faced when implementing a common library for iOS and Android. You can also use our solutions in Codelabs.

Results

The customer was satisfied. We have entered into a support agreement and are now periodically performing maintenance on the application.

Now we are working on other projects for the company. For example, a calculator for calculating the cost of windows. The measurer can enter the data like dimensions, type of profile, fittings etc. and get the approximate cost of the structure. This simplifies work with the buyer.

VEKA Rus demonstrates “Window Measurer” to partners and colleagues from other countries. It has garnered special interest from the head office in Germany. Other branches do not launch such projects, so the solution of the Russian company is considered innovative.

Android
Android
iOS
Main screen

Let’s discuss your project!

It is free. We will tell you how the application will solve your problems.