[From the previous episode: It takes a lot of participants to get a report from your desk to a colleague’s desk in another city.]
In the last blog, we saw how physically delivering an interoffice memo can involve a large number of tasks. And those tasks can be handled independently of each other.
Emails – and other forms of electronic communication, like web surfing – take place using what’s often referred to as a “stackRelated to communications: A way of organizing parts of a complicated process (like communications) so that any task relies on tasks below it and feeds the tasks above it. Related to computing: A place in memory where you store “where was I?” information when you go from, say, one function into another. Before starting a new function, you store where you were in the old one so that, when the new function ends and you’re back in the old one, you can figure out where you were and continue on..” Just like each person in the physical mail chain is responsible for a different part of getting your memo to someplace else in the world, so each layer of the stack is responsible for some limited thing.
The Communications Stack
We can design a made-up stack for our interoffice envelope as an example.
- Your office is at the top, as is your recipient’s office. Everything below that is a service that someone provides to deliver your envelope.
- First are the outbox and the inbox, where department mail is collected.
- The mailroom then provides the service of addressing outgoing mail for external carriers (that is, not the internal office envelope) and sorting incoming mail.
- Someone else then provides the service of figuring out which transport modes to use and whether or not delivery requires an acknowledgment once received.
- Once we know who the carrier is, someone else can figure out the best routing, setting up a tracking number that the receiving side can check.
- They’re all served by the folks in the loading dock that ship out and receive the bundles.
- Finally, nothing would happen without people physically moving the envelopes along the planned route – the truck drivers and pilots (and everyone that helps them).
In fact, since your package will probably make multiple stops in various sorting rooms and airports and such, you’ll have in-between versions of the stack where you may go up a few layers: rebundle items going to the same place, updating the tracking information, and putting the items on a new truck or plane. So we could even show that by including some in-between stops at the UPS sorting centers, for example.
Divide and Conquer
The idea is that, by separating the job into different tasks, each one can be designed and optimized by itself, without having to involve the whole dang stack. The admin in your office doesn’t have to know which truck your envelope is on, for instance.
By the way, I’ve been very deliberate about naming each layer in the stack. As you’ll see in the next post or two, there’s a very specific reason for that.
Leave a Reply