Guided Address Capture Reference Implementation

The nCode Programmers Toolkit provides many powerful tools that facilitate the efficient capture of accurate, standardized mailing addresses. One of the major advantages of nCode over other address quality products is the breadth and flexibility of the available features. nCode provides address analysis and automatic correction, address searching, as well as address parsing and address transformation functionality. The breadth and flexibility of nCode makes it possible for any address capture application to benefit from the features of nCode.

One of the challenges faced by users of nCode is choosing which features to use and deciding how to use these features in their applications. For users of nCode, the ultimate objective is always to streamline the address capture process as much as possible while ensuring the utmost quality in the results. Unfortunately, it isn’t always easy for users of nCode to understand how best to employ nCode’s various features to achieve this goal. Often, users adopt a small subset of the available functionality within their applications. While such applications do benefit from the use of nCode, they don’t always benefit as much as they could.

Guided Address Capture Sample

Nova makes available sample programs, with complete source code, to provide implementation guidance to users of nCode. These sample programs illustrate nCode’s various features and in some cases, how best to combine these features to achieve particular business ends.

The nCode Guided Address Capture Reference Implementation is one such sample. The purpose of this sample is to show how all of nCode’s features can be combined into an address capture expert system. The target scenario for this expert system is address capture by staff who are speaking directly with customers, for example: call centre agents or retail point of sale staff. The use case underlying this sample is a conversation where the CSR or clerk is interviewing the customer to capture their address.

Registered users of nCode can download the sample program here:

The design objectives for this scenario are:

  • To make this process efficient so that the interaction with the customer is as short as possible.
  • To remove the need for expert knowledge or discretion for staff in order to reduce training needs
  • To ensure that results are complete, accurate and properly formatted according to the nCode user’s needs.

While the user-facing particulars of the implementation are left open for the nCode user to decide, the sample code presumes a user interface with the following features:

  • A prompt for the user to read to the customer
  • A text box for the user to type information provided by the customer.
  • An instruction line providing context and process information to the user.
  • A list of options from which the user can choose.

For the purposes of the sample application, a presumed requirement is the need to reduce or eliminate mouse interaction. Therefore, all major user interaction with the sample program is via keyboard only. This means that the logic of this reference implementation is applicable to any platform, including green screens, desktop and web-based applications. The sample program itself is written in C#/.NET 4.0 and runs on Windows. For other platforms, the provided sample code could be ported to the nCode user’s platform and language of choice.

Sample Application System Architecture

One of the goals of the Guided Address Capture Reference implementation is to make it as easy as possible for users of nCode to understand how to leverage nCode’s powerful address quality capabilities in their own applications and environments. The sample application includes a substantial amount of address quality “business logic” as well as a graphical user interface that demonstrates a possible user interaction scenario.

The provided graphical user interface is very particular. While you are free to use this GUI in your own applications, we expect that you will want to integrate nCode into your own systems with their user interfaces. This is, after all, the great power of nCode. It lets you work with your address data your way and in your own systems. On the other hand, the business logic in this reference implementation is much more generic and broadly applicable. While you may want to customize the business logic too, you may also find that it is desirable to implement the business logic more or less as-is.

To facilitate this, we’ve segregated the user interaction from the address quality business logic into separate program components. The application architecture of the Guided Address Capture Sample is as follows:

Application Architecture

The demonstration program (GuidedAddressCaptureDemo.exe) contains all of the user interaction logic. We’ve kept this part simple because we expect you will want to use your own systems and their user interfaces rather than anything we might come up with.

The demonstration program calls the business logic layer, which is a DLL called nCodeGuidedAddressCapture.dll. The business logic layer contains a fairly sophisticated combination of business rules and uses most of the features of the nCode Toolkit API to get your users to a fully qualified, properly formatted and standardized address in the fewest possible steps. This DLL can be used as-is if you like. It is a powerful address capture engine. However, we’ve also included all of the source code, complete with detailed in-line documentation. This will allow you to modify our business logic, if you’re so inclined. It is also meant to act as a learning tool, providing practical and detailed guidance on how to use nCode’s many address quality features under a wide variety of real-world scenarios.

All of this operates on top of the nCode Toolkit API, with its address reference database built using the latest address data provided each month by Canada Post.

Using The Sample Program

The user interface of the Guided Address Capture Sample looks like this:

Application User Interface

The parts of the sample application are:

A. User prompt: This tells the user what to say to the customer.

B. Input textbox: This is where the user types in address information based on the customer’s response.

C. Information line: This is information for the user about what is expected by the program.

D. Pick list: This is a list of possible options that the user can pick from by pressing a function key (F1…F12).

E. Known elements list: This is a list of what the program knows about the address so far.  It is just for information, but your system has access to this data and can use it any way you like.

F. Resulting address: This is where the completed, verified and standardized address will go when the address is complete. The layout of the resulting address is totally configurable using nCode’s address layout feature.

G. Status: This is where the status of the address capture process is shown.

H. Settings: Hover your mouse here to show the nCode configuration settings section.  You can choose your address layout, analysis mode and correction style settings from the presets installed on your system.

Have Questions?

We want to help you to get the most out of nCode. If you have questions or would like to discuss your address quality objectives and nCode implementation options, we will be glad to help.

You can contact us at, 1-866-611-8353 or (416) 915-4258 with any questions. Thank you for choosing nCode.

Post a Reply