I was looking for a point of sale software solution the other day, and it occurred to me that, in theory, I could probably write something up using a Canvas App. Of course I would need to solve a few problems, such as:
- Which device do I run it on
- How do I stop users from using other system functions
- How would licensing work
And there might be a few more, but those are the main ones.
Here is what I ended up with:
How does it work?
Basically, there is a windows application that’s hosing my canvas app. It’s using Chromium engine, so it seems to be fully capable of running Canvas Apps. Although, if it sounds as if I had to create a new “Edge” browser for this purpose, that’s a bit of an overstatement. Sure, I had to write a few lines of code in C#, but here is what I used:
https://github.com/cefsharp/CefSharp
That’s a nice open-source library that allows us to embed Chromium in .NET apps.
The rest is all about running that .NET app in a full-screen mode, so that the task bar is hidden and the app stays on top of all other windows. Besides, that app can’t be closed using “Alt+F4”, for instance. Whoever is trying to close it will need to provide a key phrase.
Of course this all means that, should I start using this app, I’d need to run it on a Windows 10 laptop/tablet.
And what about the licensing? This application still requires a login, so, in the scenario where an agent would login in the morning, that agent would have to be licensed of course. Then the client might come in, sign a document, submit it through the app. And another client might come in to do the same. And then another one… this scenario would not be so different from when the agent would just hand over this tablet/laptop to each client manually for signatures, and that would be absolutely fine licensing-wise.
Either way, if this is something you’d like to explore a little more, here is a github repo you might use as a starting point:
https://github.com/ashlega/ItAintBoring.KioskApp
By the way, you’ll also find that PI Catcher canvas app there:
https://github.com/ashlega/ItAintBoring.KioskApp/tree/master/CanvasAppSolution
Have fun, and have a great upcoming Pi day!