The effort for developing a Kiosk Visitor Registration module is one we had for just about the same time we have been working on the FAST-PASS 7 Visitor Management System product. However, first, we needed to design the database schema using Microsoft SQL Server as the Database Engine, while writing the Web Application with all HTML5 standards that would leverage the modern technologies that are available today. This means that all the data is safely and securely stored in the SQL Server database by following best practices – no data is stored in the Kiosk application or device. We needed to take a holistic approach to review mobile development for the target platforms iOS and Windows and the available hardware (e.g., Cameras, Document Readers, Printers, Thermal Cameras).
More than anything, we wanted to avoid the pitfalls commonly associated with cross-platform toolkits. That is either they have a foreign user experience, or they are limited to the lowest common denominator across all the target platforms. Hence, the FAST-PASS 7 Kiosk Visitor Registration module was written with C# and Xamarin.Forms (introduced in May 2014). The significant benefit is that Xamarin.Forms provide SISCO developers the smallest usable subset of APIs that are required to write much of the FAST-PASS 7 Kiosk Visitor Registration module in a unified codebase without dropping the flexibility of per-platform implementation.
From years of developing software (e.g., A-PASS and FAST-PASS) at SISCO, we have learned that IDE’s, platforms, technologies, SDK’s, and standards change rapidly – but software development patterns endure the test of time – especially those learned through years of experience. Therefore, the FAST-PASS 7 Kiosk Visitor Registration module was about creating a mobile application that will adapt and help clients (e.g., Business Facilities, Hospitals, Schools, etc.) as time evolves. All while having the confidence that the Microsoft SQL Server Database Engine would store the data (e.g., visitor data and photos) safely and securely.
C# was released back in 2000 and over the years has continued to grow and get much better and it is now considered a multiparadigm programming language. From the beginning, C# has been closely linked with the Microsoft .NET Framework. By now, the extensive .NET Framework class library provides support for many common tasks encountered in many different types of programming. These include, but are not limited to: Data handling, Debugging, File I/O, JSON reading and writing, Math calculations, Networking, Security, Threading, Web Services, and XML reading and writing. Not surprisingly, all elements that a Kiosk Visitor Registration module needs to be able to handle and that the FAST-PASS 7 system natively includes under the hood.
For the most part, Xamarin.Forms provide the ability to define abstractions with a focus on areas of the mobile user interface that are common to the iOS, Android, and Windows Runtime APIs. However, one of the challenges is that most printer manufactures (e.g., Brother, Dymo, Zebra) of badge printers do not provide a printer driver for a target mobile operating system. For example, the Dymo 450 Turbo printer does not support AirPrint and nor does the Zebra ZD-410 printer. And some of the printers that support Airprint do not print the photo visitor with a recognizable image. As a matter of fact, some do not print with a grayscale, instead, they print monochrome. Hence, you are stuck.
Nevertheless, at SISCO we have been able to leverage the printing capabilities of those printers and their respective driver. For example, we can send print jobs from the Kiosk Visitor Registration module running on an iPad and send the job to a Dymo 450 Turbo or Zebra ZD410 and leverage their printing capability. The results are a noticeable photo of the person whether they are a contractor, visitor, or vendor, etc. Of course, lighting conditions matter and we have included a resource titled “Tips for Taking Visitor Photos”.
The modern user interface of a Kiosk Visitor Registration application is developed from visual objects and sorts. Such as but not limited to, controls, elements, views, widgets and they all work in unison to complete the task of presenting or interacting with a visitor. In Xamarin.Forms, the objects that appear on the Kiosk Visitor Registration application screen are collectively called visual elements. They come in three main categories: Layout, Page, and View. Examples of these visual elements would be Buttons, Text Labels, Text-Entry Fields, Switches, Progress Bars – among others.
Text: Regardless of how modern graphical user interfaces have become, the text remains the backbone of the Kiosk Visitor Registration application. The primary consideration is that the text must be readable. This means that text should not be too small or so large that it takes a lot of space on the screen. The text would include instructions like: “Tap Screen to Continue”, “Select your Language”, or “Select Your Form of Identification”. Therefore, careful consideration must be taken that the main entrance where visitors arrive will have different eyesight conditions (i.e., wear reading glasses or need to see an optometrist) that stem from age, genetics, and health.
Button Clicks: Buttons are the standard interactive view. This would be the way the visitor would instruct the Kiosk Visitor Registration application to initiate an action. When the visitor’s finger presses on a button, the button changes its appearance somewhat to provide feedback to the user. For example, “Sign In”, “Scan In/Scan Out”, “Next”, and “Take Photo”.
Page Navigation: Interactivity is the essential feature of modern computing. In this particular case, the Visitor Registration application will instruct the visitor to navigate a series of pages to provide options (i.e., Groups, Person to See), collect data (Names and photos), print the visitor pass, and safely store the data in the SQL Server Database engine.
Any object displayed on the screen also has a pixel size. Today the available variety of screen sizes and pixel densities present a challenge and opportunity in developing Kiosk Visitor Registration applications that look roughly the same on many devices. Years ago, the aspect ratio of 4:3 was once the standard for computer displays. However, the high-definition aspect ratio of 16:9 (or the similar 16:10) is now more common in computer displays and devices and this of course means screens with higher Dots per Inch (“DPI”). For example, an iPad may have a DPI between 132 and 264 depending on the model. Desktop video displays also have a physical dimension usually measured along the diagonal of the screen in inches or centimeters, about 8 to 10 inches for tablets – depending on the manufacturer and model.
Therefore, these technical details were also considered when developing the Kiosk Visitor Registration applications to ensure the buttons, text, and pages appear proper according to the screen size, resolution, and DPI specifications – otherwise, the application will not render correctly. If these details are ignored or honestly overlooked, the Kiosk Visitor Registration applications may appear squeezed or stretched into the screen. Furthermore, these details are important to consider ensuring the visual elements will auto-size correctly today and as screen resolution increase with future release of new hardware models.
With the introduction of the FAST-PASS 7 Visitor Management System, SISCO also developed a Kiosk Visitor Registration module that can run on a Windows Tablet or iPad – those two platforms are sufficient to cover cases that require not just the self-service tablet interactivity platform but also support for devices that do not necessarily include driver support for multiple platforms. The future will bring new platforms and IDE’s but the concept of “write once and run in multiple platforms” will remain a core principle for future Kiosk Visitor Management applications.
Erci Moisa, MBA