Designing and developing POS

Screenshot of Grassland POS

As always, every project is a opportunity to test and verifying Grassland Framework, similarly for this POS project. It gives me a look on possible implementation of one of the most mature and widespread software Point-Of-Sales system.

From the beginning, we are aware of the intensiveness user interaction as well as frequency of transaction that could occurred. These 2 are major challenges that we could thought of. Of course, for first implementation, we are not looking at those big network system used in big chained store. We aren’t there yet. But, we will get there.

To start, we looking at current solutions at the market, try to build something better and different, suited for small and medium businesses. There a lot of solution out there offers very comprehensive features but we are not looking at that. We are trying to build something creative, something special.

In the end, we decided to go for something that:

  1. As a beginner you can start using within 30 minutes of learning.
  2. As advanced user you can do your stuff very fast, yeah, we mean very fast whether barcode scanning or keying item code manually
  3. Support from Keyboard only and TouchScreen
  4. Support Mobile Phone / Tablet

Sounds good? To meet 1 and 2, we need some ideas, we thinking of using solely Num Pad. For all operations not just keying number. We are excited about the idea. We googled through, guess what founding nothing similar, at least  we spent sometime still found nothing. It gives us good excuse to start redesigning POS, since nothing as such exist in the market.

Ok, let’s do it! First challenges mapping operation to relevant keys. We analyzed various of POS operation and user interaction, mapping these to logical sequence, eg.

To buy product 101 for quantity 14, it should go like:


It looks interesting now. Then start to map other function like discounts to [/] divide. Taking a while, we done most of the mapping, the good thing is that we still have keys for the future, but we found those keys can be quite confusing.

After few iterations, we settle down the key mapping by removing redundant state and streamline the POS interaction. To implement the design, we develop a simple state machine. We call the design ‘SmartMov II’ why there is a 2? Because, we have SmartMov before. Next time, we might touch on that.

End result?

To buy product 101 for quantity 14:


To buy product 102 for quantity 1:


To discount 10%:


(3 is the option for 10% for product, we have per item or per bill top)

Tender with $100 and submit transaction


That’s all about it. Simple but for advanced user. This design benefits beginner too,

Easy 1: Just learn that 16 keys. Yes, you do not have to look around to find the key. It just there. (Even more surprisingly easy for Food and Bevarage one, coming next)

Easy 2: During coaching, training or on the job. You do not have to say ‘Look for Payment Key’ then he start to look at everywhere for the possible icons or keyword. Just say ‘press 0′ then key in tender and press enter.

Easy 3: Only relevant keys shown any point in the time. User can focus, make lesser mistake. Space screen space, keep only important thing on screen instead of waste space showing a Number Pad for some POS.

Fast 1: Touchscreen required a lot of vision attention, you need to look at it because you can press. No tactile feel. Numpad / Keypad? When looking at how Grassland POS user working, you know it is very fast. They do not even have to look at the screen when keying and submit transaction. We talking about how many key per second.

To be continued…..











One thought on “Designing and developing POS”

Leave a Reply