The SNAP Architecture
The SNAP Architecture is designed with the mobile user in mind and provides an optimized platform for Enterprise Mobility Applications.
StepOne developed SNAP™ (StepOne Networked Application Platform) to make those words a reality. SNAP™ includes a standards-based architecture founded in Object Oriented Design and includes modules and components that enable our product development team to quickly and reliably build software solutions for the mobility space. It not only fuels our development, it provides our customers with the core platform and architecture to support their overall IT strategy.
Optimized for Mobile Performance
The StepOne team have been building mobile applications for a long time, and one of the consistently critical requirements is performance. Whether the goal of the application is scanning thousands of items, or navigating an extensive list of forms, application performance is critical.
Much of what the SNAP architecture provides is a mechanism to ensure the application never impedes the employee's workflow. Thus we have developed technology that optimizes the processing of scanning, access to databases, display of forms, and form navigation. All of this investment in mobile technology results in a highly flexible, efficient, and scalable mobile architecture.
Mobility Specific Functionality
Mobile applications provide an entirely different set of requirements than desktop, web, or server applications. The most obvious limitation is the small screen size and liimited user interface, but there is a whole different style of developing applcations for a mobile environment.
The first big difference is that with a small screen and limited user interface it can be difficult to input data. This leads to a style of application with many small screens leading a user through inputting data, rather than one giant screen filled with input fields. In this case, the SNAP Architecture provides optimizations for loading forms and form navigation which become critical when developing a successful mobile application.
The other big requirement is having mobile-centric graphical elements to ease data entry. The classic example is the control that handles Signature Capture, a common mobile task. In this case the control provides the ability to capture and display a signature and import/export from multiple data formats. Also controls related to the unique characteristics of a mobile device such as scanning, wireless radios, and batteries.
SNAP has an additional set of controls that provide extensions to the existing Microsoft functionality that improve our ability to develop mobile applications. These SNAP controls provide pre-developed, field-proven functional elements to accelerate application development and enhance the reliability of the finished software.
Cross Platform
One of the most difficult portions of developing a mobile application is managing the unique vendor specific details of the handheld device. While Microsoft has standardized much of the software development environment, each vendor provides their own customizations, extensions, and support for the vendor specific components, e.g barcode scanners, magnetic stripe readers, wireless networks, etc.
In the past, this has led to the need to have custom releases of the software for each supported vendor, and often for specific terminals within the vendor's product portfolio. However, with the StepOne "Platform Detect" feature, much of the need for custom versions is eliminated.
On applications launch, SNAP “Platform Detect” automatically detects the mobile environment, and loads the appropriate components to run on that platform. This allows the same software application to run on all supported platforms while allowing the StepOne development team to focus on application details rather than specific device APIs.
Internationalization
In today's business world internationalization is increasingly important. Modern applications are now expected, and sometimes legally required, to support multiple languages for both the employees and customers.
Internationalization is a standard component of the SNAP controls that allows our development team to rapidly develop fully internationalized applications. Once the application is built, a set of XML files provide the language mappings, allowing the customer to tailor the language translation to his local requirements.
Wireless Communications
Another important success factor when developing mobile applications is how they integrate with the corporate systems. StepOne has experience providing integration soluions to virtually every type of back-end systems. From corporate ERP systems, mainframes and server farms, to mid-range Unix, Windows, and AS/400 Servers, and in-store POS systems, StepOne has provided an interface between the mobile application and the corporate infrastructure.
To streamline this integration process, we have also developed the SNAP Communication Server to provide a consistent mobile gateway including store-and-forward capabilities, transaction process, and well defined integration points. It has been successfully deployed at some of our largest customers, and provides a solid, reliable, integration point.
Industry Standard Functionality
Whenever possible, SNAP application implementations use industry standard components. By using standards, we can take advantage of the latest industry innovations as well as improve our ability to integrate with customers and third-party tools.

