by Charlton Rose
Several years ago, I started a new job and discovered that the break room fridge was overrun with moldy, abandoned food. Since nobody was owning it, I decided to take on the challenge myself. (That’s how I roll.) I analyzed the situation and devised a system that represented the best compromise I could find between the needs of fridge cleaners and fridge users.
The first step in building a successful fridge maintenance algorithm is to identify the most common use cases. After spending some time observing and pondering, I identified the following common use cases:
It is easy to imagine how several of the use cases described above, played out by forgetful users, can quickly result in an overcrowded, smelly fridge. This is why most offices have fridge management algorithms. There are several kinds of algorithms in common use in office break rooms. Most of these fall into two classes, described below.
Some offices “solve” the problem by implementing draconian policies, such as forbidding overnight storage. In these situations, the janitorial staff simply empties out the fridge every night. The upside of this policy is that it is quite simple and very easy to execute. It is also very effective at keeping the fridges clean. The downside, of course, is that it makes things easy for the wrong people. Users dramatically outnumber cleaners, so shouldn’t a good algorithm optimize the experience for the users? Additionally, this type of system dramatically reduces the utility of the fridge and prevents many legitimate, justifiable uses. It also harshly penalizes users who simply forget about their food for one night — perhaps because they are working so hard.
Similar, less overbearing reset methods propose emptying the fridge with some arbitrary frequency, such as weekly or monthly. While these allowances provide greater fridge utility, they fail to work well because they require adherence to a schedule. Think about it: Fridges get overrun because users can be forgetful or lazy or in a hurry. If users are this way, won’t also the cleaners be? If a cleaner promises to empty the fridge every Friday night, and then misses work on a Friday, or is simply in a hurry to get home, an egg sandwich placed in the fridge last Monday might stay there until next Friday. On the other hand, if a user brings something in at just the wrong time and he is not careful, he can lose his wife’s Tupperware in less than a day.
Essentially, any fridge management procedure that takes a “dump everything and start over” approach — be it daily, weekly, or monthly — will fail to serve all users seeking to make legitimate uses of the fridge at all times. There will most certainly be regrettable casualties.
Some offices seek to allow all legitimate fridge uses by “simply” requiring the users to label their items in some way. In these “registration methods,” users are required to annotate everything they store in the fridge. (Anything not annotated is usually subject to immediate eviction.) Typically, users are required to write a date on each item they wish to store. Later, the cleaner references these annotations while making judicious discard decisions.
These systems are kinder systems because they allow all legitimate uses of the fridge. However, they also suffer from some serious problems. The inherent flaw in registration-based systems is that both users and cleaners must exert quite a bit of extra effort to maintain the fridge. Having to time stamp every item placed in the fridge is obviously a lot more work for the user — wasting time that accumulates into a significant, measurable expense. This might not be such a big deal if it makes life easier for the cleaner. However, it does not. In fact, it makes the cleaner’s job more difficult, because the cleaner is now obligated to read each annotation. This means that on cleaning day, each item must be handled. It is inevitable that some users will have terrible handwriting. Additionally, the cleaner must work a math problem for each item being evaluated. Date math can be tricky. And decisions take time.
It was my goal to invent a system that provides the following benefits:
Inspired by the Java programming langauge’s automatic garbage collection system, and perhaps parking police also, I devised the following very simple system. This system is best explained by describing both the user experience and the cleaner experience.
At the core of this system is a simple sticker, which serves as a marker in time. The sticker should be designed to make recongition easy. A bright color is recommended.
The sticker serves as a communication conduit between the cleaner and the user. This simple device allows the fridge management algorithm to provide the best parts of both reset-type systems and registration-type systems.
The cleaner’s job is very simple.
In this procedure, cleaners enjoy the fact that no inspection of items is ever necessary. This is in stark contrast to registration-based systems, where each item must be examined, and a decision must be made. (Decisions really slow things down.) Instead, cleaners simply remove items that have stickers on them and throw them away. If there is no visible sticker, the cleaner doesn’t even need to touch it!
Cleaners also have no obligation to strictly follow a schedule. For example, if a cleaner doesn’t make it back after 7 days, he can simply return to do his job on the 8th or 9th day. No user can object that his item got 8 or 9 days instead of 7, right?
The user’s experience is similarly enhanced.
Casual, “happy-
It probably isn’t reasonable to expect the happy path experience to be easier than this. A user who wishes to store items for longer than 7 days must simply visit his items every 7 days to remove any stickers his items might have received. If he does this regularly, his items will be safe. And if he is regularly inspecting his items like this, why not allow his particular use?
Simple, mental experimentation makes it easy to determine that this algorithm allows all of the use cases described in the previous section, while ultimately discarding all forgotten items. This system provides “reset” benefits because it summarily discards all items not explicitly saved (i.e., through sticker removal). It also provides “registration” benefits because the sticker automatically documents (in a rough way) the item’s age. However, while the tagging system has the strengths of the other systems, it avoids their pitfalls.
If you choose to implement this system, it’s not a bad idea to post placards on the fridges. I’ve implemented this system multiple times, in multiple locations, and I’ve had a chance to experiment with various placarding strategies. The best placards make the implications of the system easy to understand, while at the same time developing enthusiasm and support for the system. To date, my most effective placard has been the one shown below.
In this placard, the system is identified as “The Fridge Nazi System.” This odd name is a humorous allusion to Seinfield’s infamous “Soup Nazi.”
Relax! There is no cause for alarm!
Every so often, in an effort to keep our fridges and freezers fresh, the Fridge Nazi puts stickers on everything in them. Only the outer containers are tagged.
No sooner than 7 days later, the Fridge Nazi returns and discards every item to which a sticker is still attached. Then all remaining items are tagged, and the process repeats.
We cannot afford to have 20 personal bottles of catsup, etc. in the fridge.
Therefore, all condiments and dressings are considered community property, even if you write your name on it.
If you really don’t want to share (scrooge), please conceal your condiment/
A bit of light-
In particular, experience has demonstrated that, sometimes, less logical users have a difficult time comprehending that the sticker is only a time marker, and not a personal condemnation. (The user must learn to not be offended by the sticker.) The most important point for a user to understand is that if he never leaves anything in the fridge for longer than 7 days, he can ignore the system entirely! A system that does its job while being entirely ignorable is the goal we seek. This is nirvana for casual users exercising the most common use case.
Please share your thoughts!