For many years, self-storage software and security services relied on separate pieces of equipment to run respective applications. Often, one did not know how to communicate with the other, which resulted in two separate databases that had to be individually maintained.
This double-entry method sometimes meant discrepancies between the databases. This was especially dangerous when a tenant—who should have been denied access because he was delinquent—was permitted into the facility due to a data-entry error.
Realizing the need for a higher level of automation, self-storage providers built alliances and opened up the gateway to have products communicate with each other. This was the first step toward addressing the dual-input issue, but a couple of other major issues were created as a result. The critical component was you could not simply choose property-management software and a security system you liked; you had to make sure they were compatible.
Such compatibility issues still exist today. The word “integration” gets thrown around quite often when a software or security company gets asked about how things work. Defined, integration is the method used to form, coordinate or blend into a functioning or unified whole. Interface, however, is the place at which independent and often unrelated systems meet and act on or communicate with each other. Understanding this concept could be the difference between the system you believe you are getting and the system you actually end up with.
Interfacing two programs generally involves each side providing an additional software piece that lets the individual sides communicate. This is done because it is the simplest road to having the systems communicate. It is much easier to hand off information and tell the other application to retrieve it than it is to write directly to that application’s database. While this might be a very tidy way of accomplishing the task, it does limit the overall support of each program’s capabilities.
Situations exist where a specific access-control function could be unique to that product and may only be used in very specific situations. While this might be advantageous to certain operations, it probably would not be supported because in an interface environment only so many development resources can be dedicated toward maintaining the interface. Most companies would rather work on making their products all they can be. They carefully weigh the decision of enhancing the way they speak with other programs versus adding new features to their own product lines.