Squirrel POS
By the time Squirrel started developing the new generation of its well-known POS, the then current version was quite successful. It is still selling very well today due to continuous upgrades and support. But it was a 16-bit program with a DOS-like, pseudo-graphics GUI, so the time came to move to modern 32-bit features and truly graphical environments.
Since the hospitality industry is customer-driven to a high degree, we had to address our customers' criteria for the new system. The criteria included a Windows NT-based SQL backend, fault tolerance, high performance (6,000+ transactions per launch), ability for the server to be located from terminals remotely, scalability, flexibility, open-system architecture (server PC could be used for other tasks), attractive GUI that is easy to learn and use, low-cost and long-lasting maintenance.

Figure 1. Squirrel POS Touchscreen
As you can see from the above list, the server's OS was quite defined. Picking a high-performance Microsoft SQL Server as the back end's database was also an easy choice, unlike the terminal's environment.
Traditionally, Squirrel POS ran on bare terminals; no OS of any sort was used. Although that worked well at the time, it didn't seem flexible enough to satisfy the new requirements. On the other hand, we realized that full-blown OSes like MS Windows, Solaris, etc., with their inflexibility and enormous thirst for resources, are not really suitable for the specialized hardware of the POS terminal. So our logical choice was to look at real-time operating systems (RTOSes), not because of their real-time capabilities but because of their modest resource requirements and high degree of customization. After a number of commercial OSes and available JVMs were evaluated, it became apparent that none of them satisfied all of our requirements. That's when Linux got its chance. Much to our surprise, the free OS proved to be our best choice. It is stable and reliable, with broad hardware support and moderate resource requirements. It also has excellent development tools, a knowledgeable community that is ready to answer questions, and most of all, it has flexibility.
Our choice of Java as the development language for the embedded targets seems pretty odd, considering its widely known shortcomings (specifically, thirst for resources, low performance and lack of supported platforms). But it is also a very attractive language for development. Due to its ``write once, run anywhere'' feature, development can start well before the actual terminal OS is chosen. Its rich, simple and well-thought-out API set allows us to write complicated GUIs fast and easily. Also, as you might know, long-lasting efforts in JVM development finally started to bear fruit; a number of companies recently released virtual machines with performance close to those written in C/C++. All this made us believe that Java's advantages outweigh its disadvantages.
Although Squirrel's terminal isn't exactly an embedded computer as we know it, it is pretty close. Its x86 motherboard is combined with a touchscreen LCD panel in one case. The terminal has no keyboard, hard drive, floppy drive or mouse. Some POS-specific peripherals include a badge reader, magnetic card reader, serial printer, customer display and cash drawer. For networking it uses an onboard Ethernet interface.
Squirrel POS architecture is a typical three-tier system (see Figure 2). The Squirrel client (the front end with which the user interacts--see Figure 2) runs on a terminal. It's written in Java and communicates with the Squirrel server via TCP/IP messages. The terminal is connected to the Server PC via Ethernet cable. Squirrel uses Microsoft's SQL Server as a database and Microsoft Windows NT as the server PC's OS.

Figure 2. Squirrel Software Diagram
Due to the significant costs of nonvolatile memory (Compact Flash, hard drives, Disk-On-Chip) at the time this project was conceived, the terminal had no storage devices, so almost all of the terminal's software, including Linux, X and POS, had to be loaded remotely from the server. The only piece left on the terminal was the boot PROM--network boot loader.
Unlike traditional diskless (or X) terminals that use UNIX servers and NFS to boot, the Squirrel terminal boots off the NT machine. It uses SMB to access its files located on NT's share. None of the off-the-shelf Linux distributions at the time allowed easy implementation of this booting scheme, so we developed our own embedded Linux distribution, Squirrel Linux. Although it was designed to run a Java application, it can run any X client.
I also found this distribution more convenient for Ethernet setup of floppyless POSes, the hard disk of which, for some reason, cannot be physically accessed (sealed case under warranty, etc.).
Trending Topics
| You Need A Budget | Feb 10, 2012 |
| The Linux powered LAN Gaming House | Feb 08, 2012 |
| Creating a vDSO: the Colonel's Other Chicken | Feb 06, 2012 |
| Your CMS Is Not Your Web Site | Feb 01, 2012 |
| Casper, the Friendly (and Persistent) Ghost | Jan 31, 2012 |
| Razor-qt 0.4 - Qt based Desktop Environment | Jan 30, 2012 |
- Fun with ethtool
- Parallel Programming with NVIDIA CUDA
- 100% disappointed with the decision to go all digital.
- Readers' Choice Awards 2011
- Linux-Based X Terminals with XDMCP
- Validate an E-Mail Address with PHP, the Right Way
- You Need A Budget
- Build Your Own Arcade Game Player and Relive the '80s!
- The Linux powered LAN Gaming House
- Why Python?
- I use Wireshark on a daily
3 hours 27 min ago - buena información
8 hours 34 min ago - One important "bucket" that I didn't note (désolé si qqun deja d
9 hours 34 min ago - Gnome3 is such a POS. No one
19 hours 2 min ago - Gnome 3 is the biggest POS
19 hours 12 min ago - I didn't knew this thing by
1 day 1 hour ago - Author's reply
1 day 4 hours ago - Link to modlys
1 day 5 hours ago - I use YNAB because of the
1 day 5 hours ago - Search
1 day 11 hours ago





Comments
Squirrel Terminals
Dear Sir
We recently bought a small hotel. We have a Squrrel POS for our restaurant. Since this is dos based OS, it givs us enough trouble every time and our service is very much disturbed. We can't afford to buy anything new now.
Is there a way I can get a window base operating system and I try with my Squirrel POS terminal. Otherwise we have no solution but to throw this hardware. The previous owner did not pass over any record who installed and from where he got that.
If you can help us, I will really appreciate.
Thank you
Jaysukh Rudani