Lock and Key was originally published on January 22, 2008.

When a young, entrepreneurial beautician decided to open up a tanning salon, she wanted her new business to be "high-tech." She wasn't exactly sure what that meant, let alone how to go about doing it, so she retained the services of a software consulting firm to help her get there.

The first order of business, so the consultants said, was to develop a "complete management package." This involved tying together and customizing several different software applications-point of sale, accounting, customer relations-into "one congruent solution." Whatever that meant, it sounded good and the business owner went with it.

A couple months later, the system was complete and the salon was ready for business. The owner and her investors loved it. Customers were given a salon-branded key-ring card with a barcode (just like at the supermarkets) and could use it at kiosks next to the tanning beds. When they scanned their card, a touch-screen monitor would allow them to purchase time, buy supplies, maintain their account and so on.

A few years later, the system had become a complete disaster. Bugs were introduced with each "fix," and the owner decided it was time for a change. She contacted Tony F.'s software company for help.

Windows 98 Surprise

Although tanning systems weren't exactly Tony's forte, he agreed to take a look. What he found was surprising. The cash register was a Windows 98 workstation running a free point-of-sale application, a customer-relationship application based off of a Microsoft Access template, and several other applications, including a custom-coded Tanning Bed Server. That final application was the source of most of the business owner's problems.

Each of the tanning beds' "embedded" computers was actually a Windows 98 workstation with Internet Explorer set to run in full-screen mode and the toolbars set to auto-hide. At least once a day, one of the workstations would need to be rebooted because a customer accidentally closed Internet Explorer by pressing too close to the top of the screen. Occasionally, the beds would reconnect to the server without reboots. The reason for this was the original developer's choice of network configuration.

Instead of configuring each tanning bed computer to communicate with a fixed server name or IP address, he used a clever, low-level networking trick to find the server. Each time the clients were rebooted, they sent a UDP broadcast packet that was picked up by the server and responded to with an IP address. At least, in theory, that's how it was supposed to work. The custom-coded server didn't always pick up the request and in these instances the client timed out with a "please see attendant" message. As the attendants rarely knew how to reboot everything, the owner was always called in to fix things.

Old School Solution

The biggest problem, however, was theft. Usage was steadily increasing and revenue was not keeping up. Groups of tanners realized that they could simply share a key-ring card associated with an unlimited membership. More unscrupulous tanners learned that simply unplugging the serial cable connected to the computer caused the beds to spring to life without charging them a dime. To make matters worse, the software provided no way to interactively monitor tanning activity.

Tasked with figuring out how to fix this horribly thrown together system, Tony told the owner that he'd come back with a proposal in the next few days. Both Tony and the owner were worried that the cost to fix the software would be astronomical.

A few days later, Tony returned with a proposal and some "prototype" hardware. It was a simple timer and a doorknob with a lock. Instead of having customers use their key-ring card, Tony advised, have them get a key from the attendant, who would then start the timer. With only four tanning beds, that meant only four locks and four timers to manage.

The owner was astonished and agreed that this was a much better solution. Although that meant Tony's company wasn't going to get a large software project, the owner was so thrilled that she gave him a free year of tanning. Sometimes, there's just no technological replacement for a good, old-fashioned lock and key.

[Advertisement] BuildMaster allows you to create a self-service release management platform that allows different teams to manage their applications. Explore how!