Our company offers custom-developed solutions, operating on the following client devices:
- payment terminals and VeriFone programmable pin-pads (Vx Evolution, Vx, Mx, Omni),
- payment terminals and Ingenico programmable pin-pads (Unicapt32, Telium, Telium II),
- mobile devices running on Android (mobile phones, tablets),
- mobile devices running on iOS (mobile phones, tablets).
It should be noted that our software development tools allow quick completion of stable implementations on various brands of devices which may also operate on different operating systems.
Our solutions can work as a common terminal – “thin client” with business logic programmed on the server side, or as a “fat client” where business logic of processing procedure is performed by a terminal / mobile device.
Client and server solutions SHOW
Our company main field of expertise is creating client solutions that run on payment terminals, programmable pin-pads and mobile devices.
Nevertheless, it is almost always necessary to implement an appropriate server software – terminal management software (known as Terminal Management System) and, naturally, software for business-dedicated processing of data received from remote devices.
We are related by capital dmt with dmt Software House LLCa, a producer highly efficient and scalable mass capacity systems for servers. Our products work in perfect harmony: dmt Software House provides systems which process thousands transactions per second while we deliver software for remote devices which number can potentially be so large that it will necessitate reaching a very high performance on the server side.
What’s more, thanks to the equity link, the two companies are able to fulfill orders in complete unison. It means that a project is performed by a single, uniformly managed team consisting of specialists from both companies. Such a team can design an efficient and stable solution, fulfilling our customer’s every need – from a remote device, through business logic and database servers, to integration with client’s existing infrastructure.
In our understanding a software framework is a kind of engine which in a right configuration facilitates solving problems arising when developing applications for client devices. This type of engine works completely independently, as a standalone process. This process clearly defines programming interface that should be applied in order to use it.
This ensures that our framework allows for a significantly faster process of building applications.
It should be emphasized that our software frameworks are not (only) a collection of libraries and functions which are these days in possession of every experienced company. We also own such libraries, but thanks to application of software frameworks, programming can rise to a new level.
Since our company produces software for different devices, it is important for us to ensure portability of application code between physical devices.
Due to the differences in architecture between terminals such as VeriFone and Ingenico Telium2 Evolution, ensuring portability of code is extremely difficult.
Throughout the years we have constructed Hardware Abstraction Layer (HAL) libraries, which to a large extent hide from a programmer differences in architectures. To a large extent, but not completely.
The answer to this is our software framework Anywhere, a comprehensive and complete solution, designed and manufactured by our company. The one of a kind virtualization software framework, delivering a 100% portability of application code, both in terms of source code and object code.
Anywhere makes it possible to run the same application or a portion thereof, both on the VeriFone environment and, for instance, Ingenico environment.
The benefits of this solution are quite obvious:
- application is created in one version, for one environment, thus reducing production costs;
- application is tested on a single environment. There is no need for running functional tests on applications in a different architecture. On one hand, this reduces the cost of testing, on the other hand it increases stability of the application and minimizes the number of glitches;
- application can be serviced at a much lower cost on a single / unified architecture.
Find more on Anywhere here.
One of the uses of Anywhere is UUI (Universal User Interface) platform. It is a complete programming environment for creating a complete user interface with XML and defining the core application logic.
UUI platform is founded on a number of principles:
- UUI isolates resources of the application associated with the user interface from the application code itself,
- resources described in the XML file are transferable between different architectures (VeriFone, Ingenico, etc.),
- UUI allows simultaneous use of Anywhere platform. Application code is thus transferable between different architectures,
- UUI describes not only the resources, but also, for instance, basic application logic – sequences of calling up dialog boxes, the links between them, error handling, etc.
This is why UUI platform makes it possible to:
- speedily create and modify a user interface of an application,
- speedily create an initial application logic; application with initial logic can be launched in as little as a few hours,
- develop applications that are transferable between different architectures,
- easily service an application: changing window appearances, translation into different languages requires only the change in the configuration file (XML),
- easily manage an application: activation or deactivation of functionalities or features requires only a change in the configuration file and installing on a terminal,
- creating large applications that unify a variety of functions; it is possible to easily combine configuration files of multiple applications into one, which saves space on terminals.
Please read more on UUI here.
We have developed Veriss platform to transfer the idea of a ‘thin client’ on payment terminals. Still, this not refer to ‘amount of data processing being performed’, or the complexity of a terminal software or performed functions. It simply implies that a terminal’s performance is controlled by a server to which it is safely connected. In other words, application’s business logic is programmed on a server, while a terminal holds mechanisms and software modules (sometimes, it must be emphasized, very complicated), which allow it to perform commands sent from the server.
It is an untraditional approach to programming payment terminals, which decreases their autonomy. However, this approach works well in many applications. The first application developed on Veriss supports loyalty program of one of our clients in Africa.
Veriss platform is capable of, among other things:
- instant and convenient prototyping of appearance and functionality of a terminal application, even if a target terminal software will be executed in a different technology, it is crucial to be able to create a demo version, for example, for a client to assess consequences of functional assumptions,
- fast development of online, browser-based applications in the thin client architecture,
- convenient assessment of applications from the PC level, including the possibility of using automatic tools,
- easy modification of the software that will keep up with changing needs and thus rapid distribution of modifications to the network of terminals.
- using plug-ins to implement parts of an application which should be stored at a terminal,
- use all the capabilities of a terminal, including internal pin-pad directly from XML’s tag level,
- application of TMS system integrated into Veriss.
Read more on Veriss platform here.