My pocketknife is a do-everything gadget that can handle a number of tasks. It contains a corkscrew, screwdriver, magnifying glass and, yes, a knife blade. For all its functionality, it provides acceptable – but seldom superior – performance. Given a choice, I’ll often forego the pocketknife and use a tool designed specifically for the task at hand.
Software for geospatial applications presents the same paradox. In seeking to meet a broad set of needs and users, commercial software developers must aim down the middle in terms of the users’ workflow and functionality. This commonly results in software that is good for most applications, but ideal for only a few. It might even cause users to miss out on potentially lucrative niche applications. But the paradox is changing.
In an emerging trend, companies are improving the capability of geospatial systems by customizing and expanding existing software. Rather than writing completely new software, developers can create add-ons and extensions to existing commercial packages. These add-ons range from a streamlined approach to repetitive tasks up through completely new applications that incorporate geospatial technology and information into their processes.
Faster Measurement, Mapping and Delivery
The emerging customization trend is especially important in the field, where time and distance tend to drive costs skyward. When field software is customized to specific tasks, work speed can increase and errors can be reduced. Let’s look at some examples.
• A new application developed in China assists surveyors conducting engineering surveys and stakeout for electric transmission lines and towers. While the basic surveying processes are familiar, the terminology and parts of the workflow differ from conventional work. By using customized field software named “eGrid,” the field crews follow specified processes and use words and phrases that are understood by everyone in the enterprise. It’s faster, easier and eliminates potential confusion.
• A second example from California-based Optimal Ranging brings customized geospatial technology to a new user segment. In mapping underground utilities, a technician locates and marks the underground lines. A survey team then visits the site to capture the location of the marks for use in GIS and facilities management. It works, but the results are often surface (2D) approximations of the utility locations. More important, why send two crews when one will suffice?
Optimal Ranging’s “Spar 300” solution combines utility sensors with GNSS to measure and store the 3D locations in a single operation. The work is managed using surveying field software customized to support the utility location sensors and new workflow. Because the utility location application operates within the existing surveying system, output to GIS and design systems is simple and fast.
• You are probably familiar with another approach to customization – libraries of user-defined feature codes. It's becoming a common technique in GIS and survey data collection. Organizations can define and configure feature codes to remind field crews to enter all required information about a particular feature at the time it is measured. The information often consists of text of numerical attributes, and can even include photos or readings from separate devices. By ensuring that field crews gather complete information, the customized libraries help prevent costly revisits and reduce office processing.
Making Software Development Faster and Easier
Developers can customize commercial software by using modern programming languages to link new software to existing code, typically using a software development kit (SDK) provided by the system manufacturer. This approach saves an enormous amount of time and trouble.
Using the SDK, a programmer creates a third-party application to utilize measurement sensors, computations, data management and user interface functions that are part of the base system. Rather than reinventing those “wheels,” the programmer can focus on his or her new functionality and workflows. As a result, the cycles for development and testing are shorter and tighter.
With a good SDK, developers can future-proof their applications against changes in hardware and operating systems. As new products and technologies come on line, the system manufacturer makes any necessary changes to the primary software and its SDK. This reduces the load on third parties as they work to maintain their software and stay current with the rapid advances in geospatial systems.
We’ve seen how customized software can provide faster field operations. In addition to speed in the field, developers can create systems that provide data tailored for specific downstream packages and applications. By performing in-field checks on observations and recorded data, the applications prevent problems in the office due to wrong or incomplete fieldwork. In addition, developers can use software or XML templates to create customized output. This results in smooth data transfers to external software. There’s no more “Garbage In – Garbage Out,” and overall throughput – and cost efficiency – improves.
Customization provides additional sources for revenue as well. By using a good SDK, companies can invest in software development to create solutions and expand their business to new customer segments and applications, including the use of specialized external sensors. SDKs can even open doors for entrepreneurs who want to develop and sell their own applications and extensions.
Creating customized software is fairly simple when working at the level of specialized feature libraries. Developing more sophisticated applications calls for modern programming tools and expertise in software engineering. Trimble supplies SDKs for Trimble Access and GPS Pathfinder Office software and provides support and customization services through its Development Services group. Some organizations utilize in-house or contracted software development resources for the work.
I’m not about to retire my pocketknife. It offers tremendous value in convenience and versatility, and can easily be augmented by a specialized tool. Software is similar. We’ve probably all seen situations where adequate software could be modified to provide an exact, and more efficient, solution. When thinking of ways to improve your business, ask yourself how workflows can become more efficient, and how you can better meet your clients’ special requirements for processes and deliverables. The answer may very well lie in customized software.