This guest blog post was written by Julie Reynolds of VEOCI (@Veoci), a comprehensive virtual EOC (Emergency Operations Center).
The new world of software is all about combining "services" provided by specialized systems to create a less expensive and more efficient solution. Interacting with other systems is the way we work today. Data goes back and forth between systems as work is done. There are three basic modes for interacting systems:
A user in on a primary platform in which services are provided behind the scenes and users may not even be aware of them.
A single user may be on two or more systems that interchange data.
One set of users is on one system while another is on a second system and the two systems interact seamlessly for the two groups of users.
The innovation that has allowed these methods to evolve is the "API" - or Application Programming Interface. API's are developed by the software service providers such that other applications may interact with their service. APIs define the inputs, outputs, and operations that the service providers require. In this way, these services become "building blocks" that programmers can use to build applications.
With VEOCI, for example, Google provides the APIs for us to integrate maps into our application. Thus, when a point is selected on a map, the API transfers the latitude and longitude of the point to Veoci where it is stored in the database. At a later time, the reverse is done; the latitude and longitude of the point is sent via API to Google and they, in turn, send back the map with the point on it. Google, as a pioneer and perhaps the most technologically sophisticated organization, has an impressive set of APIs that allow Veoci to provide our users with the functionality they need.
In contrast, imagine how difficult it would be if Veoci had to develop the full functionality by themselves and also imagine the huge set of customers who need mapping and who are now making Google a giant corporation for mapping.
Recently, we partnered with our New Haven neighbor, SeeClickFix, to provide combined services for the City of New Haven. SeeClickFix is the premier application today used all over the country to engage the residents of a town or city to report and track non-emergency issues. For example, in Dallas, a thoughtful citizen reported a traffic light timing problem on SeeClickFix, and saw an immediate improvement in traffic flow after government officials watching the area took quick action. The City of New Haven was one of SeeClickFix's first customers and has been using them for over seven years now.
The City of New Haven is also a VEOCI customer and has been using Veoci for many of its internal processes in addition to using it as the Virtual Emergency Operations Center. The Veoci team has a long history of process digitization that extends over tens of thousands of processes in manufacturing, finance, entertainment, legal and just about any domain possible. Both Public Works and the Transportation, Traffic & Parking Department are using the Veoci functionality internally for complex work processes that include asset management, resource allocation and scheduling.
Both SeeClickFix and Veoci have a set of extensive and robust APIs. As the City of New Haven requested, we developed the two-way interchange between SeeClickFix and Veoci.
After a resident reports a SeeClickFix Issue and it is acknowledged by the City, it automatically creates a Work Order in Veoci, transferring the information from SeeClickFix such as location and the details and description of the issue. Within Veoci, City of New Haven staff review the Work Order and add more information.
For example, if the resident reported it as "traffic light not working" it is internally classified as "flashing yellow light" and the Transportation, Traffic & Parking department picks the actual malfunctioning signal from the database in Veoci and assigns it to a crew to work on it. The crew receives a notification on their mobile device and is sent out to complete their work order. In Veoci, they can provide details on the problem, fix, upload before/after photos, and put it in their notes.
APIs are used in a number of ways throughout this process. For example, when the Work Order is created and assigned to the crew, the API is used to update the status in SeeClickFix. After the work is completed, the crew can add the notes in Veoci (e.g. here's what's closed, here's what we didn't fix and why) and the SeeClickFix ticket is closed via the API. This way, the City of New Haven is able to digitize their internal processes and residents stay informed as work progresses.
As a modern application, VEOCI uses the API method internally as well. The various processes in Veoci communicate with each other via APIs. This makes it very easy to provide integration points with other applications. The issue we run into now is mostly old applications that either do not have any APIs or have APIs that were added as an afterthought and were limited in scope.
If the application has a full set of APIs, it is a piece of cake for VEOCI to interchange data.