Choosing a Mobile Enterprise Application Architecture

I recently spent the day with one of our largest customers to discuss the options for their next generation mobile architecture. We have worked with them over the last ten years and they are now in their third generation architecture and looking to the future.

1st Generation:Thin-Client (DOS, VAX)

Initially they developed thin client applications (DOS terminals running STEP) using COBOL on VAX servers. Although this was fifteenth it was a pretty good architecture. With this architecture the mobile applications were really an extension of their other store applications, and updating the applications was juust updating the server code. The big down side was writing the applications were difficult since they had to manage all of the client state in a multi-client server.

2nd Generation:Thin-Client (DOS, NT)

In the next generation they migrated from VAX to Windows NT and began developing with Symbol WaveWorks.This was a big step forward in ease of development since WaveWorks eliminated the need for developers to manage all of the terminals themselves. The business objects became stateless COM objects and the WaveWorks DisplayServer and Script Engine managed the terminal state.This continued to work very well and with StepOne’s STEP-CE client it was able to run on modern terminals.

3rd Generation: Thick-Client (CE, NT)

Next came the migration to the StepOne snapRETAIL .NET architecture which brought a modern UI and Web Services to access the business objects.Overall this has been a big improvement in the presentation layer as well as allowing WS integration. In addition this has added improvements such as Intelligent Alerts, Popup Messages and Improved UI controls that are now easier to implement in a thick client.

Overall this is a big improvement in functionality and performance, but now has the challenge of deploying the apps to thousands of terminals for any change. There are plenty of tools for managing this including AirBEAM, Avalanche, Afaria, SMS etc. but still not as easy as the big thin client switch which has its own set of challenges.

The Future: Are Mobile Web Apps Next?

Now the question is what should we be looking at next? Is it time to start moving towards web applications or is it too bleeding edge to commit their enterprise apps.

StepOne at NRF09

NRF 2009

NRF 2009

For the NRF show our focus was on our suite of snapRETAIL products, SNAP Store Performance and Shopping Experience Apps.  Most of the application we have shown before, but this year we added Stock Room Management and an MK500 Item Checker.  Both of which we think have great potential and were both well received by those customers we talked with.

Despite the financial collapse and the reduced traffic at NRF09, it was still one of our better shows.  Each year we get better at setting up our trade show booth and in continue to improve our entire company.  However, despite having a good show, the show was somewhat disappointing since everything we are doing is so much better than ever before.  It’s just all that more difficult due to the economy.

The StepOne Booth

For the second year, we decided to have our own booth.  In June when we made the decision, it was a no-brainer, but with the economic collapse leading up to the show, it was looking like a less good idea and we scaled back some of our plans.  Although we decided to cut back on some expenses, we did continue to improve our presence at the show and despite a generally poor attendance and floor traffic, we still had a good show.

While having our own booth is a huge amount of effort and expense for a small software company, we continue to see it as an important part of our overall marketing strategy.

This year, we had Sharp Creative design the graphics and layout of the booth.  It really makes a big difference having a real marketing company develop our booth and have some real graphics.  We had originally planned on replacing our booth this year, but ending up “re-skinning” the old one with a bunch of vinyl graphics.

In general that new graphics worked out great, but due to some scheduling challenges we weren’t able to set up the booth ahead of time to test everything out.  When Todd and I started setting it up everything was going great until we went to set up the corner pieces, the mobility boulevard street signs.  Originally the two mobility boulevard signs were to be attached on the rounded corners of the booth, but the vinyl that they were printed on were too stiff to attach to the curved partitions.  After an hour of panic and reusing some of the graphics from last year, we ended up with something that looked pretty good.  With a couple of more tweaks we should be in good shape for the rest of the year.

The Motorola Booth

Since we are one of Motorola’s top ISV’s we also had a pod in Motorola’s area, one of the busiest parts of the entire show.  This has proven to be a great source of leads for us at the show since nearly every retailer visits this area.

This year we had a great location, right in the front corner of the booth, which gave us great visibility at the show.  We definitely had better traffic in the Moto booth than our own.  They had a steady stream of customer tours through the booth and it also gave us a great opportunity to network with the other vendors and Motorola team.

In addition, Motorola had their traditional networking event at the Rainbow Room on Monday night which for us is a huge networking event since we have such a long history with Motorola (Symbol).  This year was no different.   After a slow first day of traffic on the floor, we were able to more than make up for it with this event.  It will be strange when NRF moves to Washington DC in 2011 and all the traditions will change.

Spreading the News

This year we limited the handouts to the StepOne News and a snapRETAIL handout.  This ended up working out very well, though we do need to find a more cost effective way to print our collateral.

StepOne News – NRF 2009 Edition

The StepOne News gives us the ability to highlight many of the great things that are happening at StepOne.  This year we featured the new Stock Room Management application, our MK500 Item Checker and the Mobility Boulevard concept.

snapRETAIL Handout

In contrast, the snapRETAIL is a much more traditional product handout that gives a nice overview of our snapRETAIL set of products.  It provides a standard feature summary of snapRETAIL and the features that is available.   It gives a nice summary of the products and provides a good complement to the newspaper.

Wrapping It Up

So despite one of the worst economy in recorded history and a somber NRF, it was still a good tradeshow for us at StepOne.  Now that we are back home we’ll follow up on the opportunities and see if it was truly a worthwhile event.

Mobile Signature Capture Applications

Customer Signature

Customer Signature Form

If you’ve ever signed for a package from FedEx or UPS, then you’ve used a mobile signature capture application. While signing for deliveries is one of the more popular uses of mobile signature capture, it is just one of many mobile applications that utilize signature capture.

Mobile Signature Capture Applications

In mobile field service applications, one of the most important drivers for the mobile application is a signature capture. Whether this is to authorize payment, verify the delivery or service, or just identifying the person performing the task. All of these uses of mobile signature capture are used to provide a further level of confirmation that the person signing is authorized, similar to signing a credit card receipt.

Here is a sample of some common mobile signature capture applications:

  • Proof of Delivery (POD)/Route Accounting (RTA)
    The application is built to track the delivery of packages to a customer, or multiple customers on a route.  In this application, the recipient of the delivery signs on the terminal to indicate that they have received a delivery.
  • Mobile Point of Sale (MPOS)
    In MPOS the application provides a mobile version of the store’s checkout register.  The clerk uses a handheld to scan the customer’s items to be purchased and the signature is used to authorize the credit card payment.
  • Service Authorization
    A Field Service technician uses the mobile application to track the services provided for their customers, and the customer signs the terminal to authorize the performance of the service.
  • Inspection Verification
    In Inspection applications the inspector uses the terminal to provide a thorough and structured inspection of the site.  Upon completion, the inspector signs the terminal to verify that they have performed the specified inspection.

Saving the Signature

In principle signature capture is very straightforward, just sign on the line and the application saves the signature.  But as they say, the devil is in the details.  All signature capture solutions start the same way, they capture mouse events as the user draws their signature.  It’s once the signature has been captured the question becomes how to store the signature.  The typical choices are to save the signature as an image file or as a meta representation of the signature.  As usual there are advantages to each.

In the case where the signature is stored as an image file (.gif, .jpeg, or .png), the advantage is the ease of drawing the signature.  Just display the image file.  However what you gain in ease of use, you lose in efficiency and flexibility.  The size of a typical image signature is a minimum of 1KB and increases as the size of the image increases.  Individually this is not a large file, but as the number of signatures grows, the data space can become significant.  Also, scaling of the image can be a challenge.

The other method to store the signature is to save a condensed representation of the data that can be easily reconstructed.  In this case, the signature is saved as a series of strokes that is then stored in a compressed format.  This advantage of this method is that the file can easily be generated when signing and typically creates a signature in the 100-200 byte range.   However, in order to display the signature a program must be run to convert the data back to an image format.  In addition, there is not a standard format for storing the signature information so a different format and display program is required by each vendor.

StepOne Mobile Applications

StepOne Systems provides a wide selection of mobile signature capture applications.  If you are interested in mobile signature solution contact us.

Intermec Scan Configuration

I received a CN3 today to try out with our snapRetail applications and at first it seemed like things weren’t working correctly with scanning, but it soon became apparent that it was just a matter of scanner configuration.

Virtual Wedge

Virtual Wedge ConfigurationThe first problem I had was ironically the problem of scanning ocurring when I it should be disabled. By default Intermec has enabled a keyboard wedge, “Virtual Wedge”, that accepts barcode data from the scanner and generates key events to simulate that the data has come from the keybooard. This is easy enough to disable, just go in to Intermec Settings (Settings->System->Intermec Settings) and disabled the Virtual Wedge and after copying the Intermec Data Collection dll over to my program the terminal scanned only when I wanted.

While I guess it’s ok to enable this by default, though it has always been a pet peeve of mine to call applications barcode enabled, when all they are doing is using a keyboard wedge. While this “works”, it creates an incredibly clumsy interface for barcode scanning that keeps the scanner always enabled, and puts barcode data anywhere the keyboard focus is set. This may be “ok” for consumer devices, so I can put barcode data in my Word document, but for “real” applications it is really a bad idea.

What bothers me even more is when people claim that they have a barcode-enabled handheld program, when all they’ve done is turn the keyboard wedge on. Perhaps the worst case of this “mis-advertising” I’ve seen was during the keynote of the 2006 Microsoft Embedded Developers Convention where they demonstrated creating a “barcode enabled application” to a roomful of developers when all they had done was use a keyboard wedge. Perhaps if they would have attended my session they would have been able to do it the real way ;-).

Automatic Symbology Conversion

Once I got back to being able to control the scanner, and configure the Symbologies, I went in to the Item Lookup application to try scanning some barcodes. Everything seemed to be scanning fine, except that whenever I scanned a UPC code I was receiving thirteen digits (with a leading zero) instead of twelve as I was expecting from a UPC barcode.

UPC A xmit as EAN 13This gets in to the whole world of automatic barcode conversions. In order to support the requirements of different industries and governments there are a broad variety of similar, but slightly different symbologies. This means that for a US-based retail , the developer must take in to consideration EAN8, EAN13, UPCA, UPCE0, and UPCE1 barcode symbologies. In addition, there are also UPC Supplemental barcodes (extra information often used on books for ISBN numbers), check digits, and expansion of EAN8 barcodes to EAN13.

In this case, the default configuration that Intermec has selected is to convert everything to an EAN13 symbology which in my case caused the problem. This is also configurable through the Intermec Settings application, and disabling the conversion “UPC A xmit as EAN 13” solved my problem. Alternately, this can be configured programmatically through the Intermec Data Collection API but I like keeping these types of paramaters configurable by the end user.

However, the lesson is that even if the hardware vendors decide to make it easy for the application developer to use barcodes, its still important for them to understand what “magic” is happening under the covers.