TravelLogistics

Case study: Swiss Federal Railways (SBB)

How SBB tracks luggage with a barcode scanning PWA

Swiss Federal Railways (SBB) is the national railway company of Switzerland. It is currently the largest rail and transport company of Switzerland, and serves around one million passengers every day.

SBB’s door-to-door luggage service

As part of SBB’s service offering, customers have the possibility to book door-to-door luggage services. SBB and its partners can pick up luggage at the customer’s home or receive it at the points of sale (POS), where it is scanned.

Why SBB replaced QuaggaJS after the prototype

The first version of the baggage app was built on QuaggaJS, an open-source barcode scanning library. For a prototype, this made a lot of sense: it let SBB validate the idea of a web-based scanning app quickly, without investing in a commercial SDK before knowing whether the approach would work out.

Once the app had been in production for a while, the limitations of QuaggaJS became apparent. Scanning was not reliable enough for daily use at the counter, and the app struggled in common situations such as poorly lit environments. For staff processing baggage at the point of sale, every failed or slow scan means friction, and the issues translated into malfunctioning devices and support requests. SBB decided to replace the scanning component with a solution built for production use. See how STRICH compares to QuaggaJS.

A barcode scanning PWA built with Angular and STRICH

At the point of sale, baggage tracking is done by scanning baggage tags with a Progressive Web App (PWA) that is powered by the STRICH Barcode Scanning SDK.

The app is implemented using the Angular framework and uses the SBB Angular Component library. It scans Code 128 barcodes and synchronises directly with the central information system.

Compared to QuaggaJS, the STRICH Barcode Scanning SDK gives SBB a scanning component that is built for production. STRICH is actively maintained and kept up to date with the latest browsers and devices, and every release is extensively tested before it is published. Its robust decoding works reliably in real-world conditions, including low light, damaged labels and older devices, so staff and partners at the point of sale can count on every scan.

SBB Baggage App Screenshot 1
SBB Baggage App Screenshot 2
SBB Baggage App Screenshot 3

Why a web app instead of a native app

The baggage app is not only used by SBB employees. External partners, such as staff at hotels and at transportation companies that handle the luggage, scan baggage tags as part of the same process.

Getting all of these users to install a native app would be impractical. Many of them work for other companies, on devices that SBB does not manage. With a web app, a link is all it takes: users open the app in the browser and can start scanning right away, with no app store or device management involved.

A web app also allows SBB to roll out changes quickly. New features and fixes are available to all users as soon as they are deployed, without waiting for app store reviews or for users to install updates.

Together with its cost-effectiveness and near-native user experience, this made a web-based solution the natural choice.

Portrait of Conradin Lietha
“Migrating our app from QuaggaJS to STRICH was a painless experience and done in under a day. The performance of our app has improved, and the number of malfunctioning devices and support requests have decreased. Overall I can highly recommend STRICH to anyone looking for a cost-effective and reliable web-based barcode scanning solution.”

Conradin Lietha, Project Manager at Swiss Federal Railways (SBB)

Preview image by Mike is Michi, CC BY-SA 4.0

Start your free 14-day trial today

Integrating STRICH into your web app typically takes less than a day. Or try our free demo app and convince yourself that STRICH meets your needs.

Live demo ↗ Try for free ↗