Building the Cooperative Software Revolution
Building the Cooperative Software Revolution
if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i
From #106, May-June 2003
Building the Cooperative Software Revolution
Conducting trustworthy transactions is mission critical.
Tak Tang, the information services manager at the Wedge Co-op in Minneapolis, calls it mission critical. Point of Sale (POS) software addresses the last, most crucial step in a grocery store's function-to conduct trustworthy retail transactions at the register. If your POS system is unreliable, customers get agitated with cashiers, cashiers hate their jobs, and clerks can't reconcile their tills-all because mission critical has failed.
Moreover, it's doubly likely to fail for cooperatives, since name-brand POS systems aren't written for them. These software packages don't easily adapt to tasks like tracking member purchases or calculating input from human resources. Consequently, grocery co-ops are set up to fail by simply purchasing a POS system "off the rack."
But Tak has developed a POS system designed to fulfill mission critical for co-op groceries. It has been dubbed IS4C, short for Integrated System for Co-ops. This software not only addresses co-ops' unique needs-its development has been entirely cooperative.
The proprietary core
Let's consider a simple data problem. Don't worry: the math is immaterial.
Say your co-op wants to give members a 10% discount each month only on a specific basket of items, up to a maximum discount of $5.00, in addition to an annual patronage refund.
For the human brain, this equation would be no problem. But for the name-brand POS system, this transaction is literally mission impossible. Without an information technologist breaking into the software and tweaking it, it can't be done.
This is the scenario facing co-ops using a commercial POS. In order to conduct transactions routinely facing the co-op world, software "patches" and "work arounds" must be written just to extract data essential to a co-op's operation. Emily Percy, a Wedge cashier and scanner for the last nine years, says, "We were always trying to adapt [our old system]. Like tare weights. The old system wanted us to use uniform tare weights, which won't work with a co-op clientele. People bring in all kinds of bottles."
Adds Christina Nicholson, Front End Manager, "We started referring to our POS upgrades as 'downgrades.'"
But there's a limit to how much an IT person can adapt a commercial POS, no matter how accomplished he or she might be. Because POS software is private property, it's a closed system. That means there is a copyrighted and walled off "proprietary core" of code that can't be viewed, let alone rewritten.
As a result, no commercial software currently on the market will allow itself to be thoroughly integrated with your co-op's membership, accounting, scanning, human resources, and front end departments-the core of your operation.
We don't need no stinking tech support
In 2000, Tak Tang's job as Wedge IT manager became a wrestling match with this catch 22. Company-provided tech support for the Wedge's POS system was bad, giving him no choice but to learn code in order to get simple item movement reports. As department managers asked for increasingly specific data, Tak needed more sophisticated extraction techniques. To get the data he wanted, Tak had to pull back the POS system's skin to view its inner workings for himself. In doing this, he discovered the Transaction Log, a table of all the information spewed from the system, from which all pertinent POS data was extracted. On top of this "T log" was a piece of canned software that crunched the data but, infuriatingly, this software came up with figures that were inconsistent and outright erroneous. Tak decided to write his own database program and extract his own numbers.
"If we can access the T log ourselves," he realized, "what do we need tech support for?"
Building the perfect beast
Then, in June 2001, Tak attended the Retail Systems Conference in Chicago. Walden Swanson of Cooperative Development Services organized the trip for CoCoITT, a cadre of co-op IT specialists dedicated to the idea of improving or even creating a better POS system. "I planted the seeds," says Walden, "but who knew that this would take off the way it did?"
At this gathering of cooperative IT workers, Tak delineated the rudiments of what would eventually become a system geared specifically for customizing and controlling the entire Point of Sale software, not merely the un-copyrighted code.
When he returned home, Tak started to build a database system using the web browser as the graphic user interface (GUI) on top of the diverse SQL database engines in use at the Wedge. Development and system integration proved rapid, since both SQL and the web browsers are familiar and well-documented products. Furthermore, the web browser was platform independent-it wasn't "Mac" or "PC" based-and support in the technology was freely available on the web.
A new POS system gradually arose from this architecture. The scheme was to create an intranet within each cash register, so that each lane would be, in effect, a web server that serves exactly one client-itself. On top of that, a database server would synchronize all the registers as well as computers from administrative departments so that every one of them could access any database in the store.
"If the whole world disappeared except for one check-out lane," claims Tak apocalyptically, "that one cashier could keep working."
Best of all, the system used standard hardware (scales, scanners, printers, cash drawers), allowing Tak to create a "test lab" at his desk. This test lab, a prototype check-out lane, worked out the bugs and provided a model for future tests, so that by May of 2002, a working version of the new POS was running on several lanes. At this stage, cashiers and floor managers could make detailed suggestions and test the new system. "When it was finally ready, we'd all come upstairs to Tak's desk and take turns trying to break it," Emily Percy recalls.
"I've never seen a cashier who actually liked a POS system," a co-op manager told Walden Swanson, "so it impresses me how much cashiers like this one."
IS4C is up and running at the Wedge and has survived the ultimate test: Thanksgiving and Christmas. Concerning the new POS system, Christina Nicholson says, "Now we have god-like tech support. Anytime something goes wrong, we can call Tak or Kate (Kipling, Wedge IT specialist) and they'll fix it-the first time."
Captains of industry
Obviously, this was a real break-through, and Walden Swanson immediately saw an opportunity for grocery co-ops at large with this "enabling technology," as he calls it. To begin the process of disseminating this software to other co-ops, a company called "IS4C" was formed.
John Eichholz of Green Fields Market in Massachusetts, who attended the seminal conference in Chicago, offered to set up his own test lab in the basement of his co-op with two generic PCs, a cash drawer, receipt printer, development editions of Microsoft operating systems, and a SQL database. "This provided everything we needed to install the base transaction component successfully," says John.
John's test lab accomplished mission critical, repeating the Wedge's success with the basic sales transaction. But further work was required to replicate the database used to integrate the POS with other computerized systems. In other words, more people with test labs needed to get involved developing, distributing, and tech-supporting the software, to see if IS4C would function outside its birthplace.
Unfortunately, acquiring more people and hardware meant acquiring more money, which wasn't available. The company was put into mothballs and development of the POS stalled.
The sixth principle
Faced with the prospect of this exciting project falling apart, what was left of the IS4C "brain trust"-Tak, Walden, John, and Dan Foley of the Wedge-started asking themselves a soul-searching question (call this mission existential): Why do we work?
The answer: Job satisfaction was in solving problems and helping their co-ops, not in starting software companies, burning CDs, and making money.
That's when they decided to give the software away to grocery co-ops for free, by making the code open to anyone who wanted to use it.
"There are two kinds of programmers in the world," Tak says, explaining the philosophy behind this decision. "Microsoft and Linux programmers." The "Microsoft programmer" writes his own code, makes it proprietary to prevent anyone from stealing it, and then sells it for as much money as possible. The "Linux programmer," however, prefers a more open approach. Code is deliberately left exposed to anyone who wants to download and customize it free of charge, thereby allowing software to evolve and improve because countless programmers have free access to its code.
What IS4C needed was two things: A Linux philosophy and cooperation among interested cooperatives. It would require a network of highly motivated IT workers who understood co-ops, who weren't afraid of "24/7 and heavy lifting," and who could create a network of test labs to help develop it into something that co-ops could use. Once their POS systems were up and running, these IT specialists would then act as a tech support team for other co-ops interested in employing the software. They registered IS4C as "open source" with a GNU License, a safeguard which prevents proprietary interests from using a given piece of software to make money.
Chris von Rabenau, the IT manager at Whole Foods Co-op in Duluth, is one of the first IT managers outside the Wedge and Green Fields Market to test the new software. He was attracted to the project because of its philosophy. "I'm a big advocate of open source data."
Chris first heard about IS4C last year when Tak presented the project at the CCMA conference in California. Chris walked out of the workshop very excited. "The biggest issue for me was that we could control our own data."
Chris contacted Tak, visited the Wedge late in 2002, and built a test lab at his desk in the basement of his co-op this January. He says his main task now is to remind the IS4C software that it's no longer in Minneapolis. "It wants the Wedge server and the Wedge's banks," says Chris, who has been designing databases for ten years.
Testing the software will make improvements to Whole Foods Co-op's POS system. For example, Chris customized the test scale to beep a different tone if an item is not found in the register. "That's the beauty of writing your own system," says Chris. "One of my other goals is to have the end of the quarter sales report exported directly into CoCoFist." His improvements will eventually be shared with other co-ops in mission compatible.
Chris hopes to have the co-op's front end beta test his customized version of IS4C in May and then install the software some time in August 2003. Considering that Whole Foods Co-op has just two check-out lanes, Chris doesn't see a need for an interim application of the software before then. "We'll go whole hog," he boasts. "Both lanes!"
"I've never seen a cashier who actually liked a POS system," a co-op manager said, "so it impresses me how much cashiers like IS4C."
By co-ops for co-ops
Currently, IS4C is being tested at Green Fields, Whole Foods Co-op, and Seward Co-op in Minneapolis. Walden Swanson sees this progression of co-ops joining the test lab network as integral to creating a core of tech support that will help future co-ops use the software. "Tak and Kate Kipling act as support now, but eventually Chris and others will act as support too," says Walden. It also means that co-ops will be the seat of innovation for this software and its future improvements. "By having a POS whose data is well understood and designed to be used cooperatively," says John Eichholz, "we can accelerate our collaboration."
Autonomy. Increased partnership. Democratic participation in a joint venture. A hands-on, do-it-ourselves mentality. For the cooperative movement, these are missions perpetual.
The IS4C software will be presented at CCMA in Lexington, Kentucky this year, giving grocery co-ops interested in customizing their own POS system a view of this cooperative project. For more information about building a test lab at your co-op, contact Dan Foley at Wedge Co-op, 612/874-7275.
Barth Anderson is Organic Certification Coordinator at Wedge Co-op in Minneapolis, MN ([email protected]).