Mycelium

II · Relationship

Where Does a Customer Live?

A thought experiment, with no answers in it

Take the most ordinary business software there is: a CRM. A list of customers, and behind each one a record. Name, the people there, what they bought, what they owe, every call, note and complaint. Somebody clicks a name.

What happens?

A modal, a side panel and a page each promise something different about the place the person was standing. This piece doesn't pick between them. It asks who is clicking, and why, and lets the questions pile up until the decision has somewhere to stand.


Who opens a customer?

Start with the people, because the same record means something different to each of them.

The rep working down today's calls. Twenty names, one after another. Open one, glance at the last note, call, write two lines, next. Does this person ever want to leave the list? How much does "next" cost them, one click or three? If the record opens over the list, can they still see who's next while they talk? What happens to the two lines if they move on before saving?

The support agent on a live call. The phone rang and someone is already talking. They need the right customer, fast, and the last thing that went wrong. Is the list even the start of this journey, or is search? Does the record need to be complete, or only the three things that matter in the next thirty seconds? Will they be typing into it while the customer talks, and what would make them stop typing to find the field?

The account manager the day before a meeting. Tomorrow at ten, the biggest customer. They want all of it: the history, the open deals, the documents, the people, what was promised last quarter. They'll be here for twenty minutes. Is that a glance? Does twenty minutes of reading belong in something a stray click can close? Will they want the record open while they write the agenda somewhere else?

The manager handing a customer over. A rep left, and their accounts go to someone new. The new owner has to land on the customer cold, from a message. What do they click in that message? Where does it take them? Does the place they land need to exist for someone who never saw the list?

Someone who found a duplicate. Acme Ltd and ACME Limited, the same company twice. Merging means reading both at once, field by field, deciding which phone number is the real one. Where do two records live at the same time?

Someone closing an account. The customer left for good, and their record goes, or goes quiet. How heavy is that? Does it deserve a moment that stops everything else? A place of its own that lists what goes with it, the invoices, the history, the open deals? Or is it light, done in passing, with a way back?

The rep in the car park. Five minutes before the meeting, a phone, one hand. There's no room for a list and a record side by side. What does beside even mean here?

Seven people, one customer. Count how many different answers they just asked for.

Hold on to three questions while we go back in time. Is opening this customer part of what they're doing, or a stop on the way? Do they need the list while they're in the record? Will they, or someone else, need to come back to exactly here?


How did we do this before the web?

None of this is new. Business software was opening customers long before there were browsers, and each medium answered with what it could do. It's worth looking at them slowly, because some of their answers are still in our screens and we've forgotten where they came from.

<figure style="margin:1.6rem 0;text-align:center"><svg width="400" height="108" viewBox="0 0 400 108" role="img" aria-label="four small drawings: a drawer of index cards with one pulled out; a dark terminal screen with function keys along the bottom; a form showing one customer with a record navigator reading record 3 of 120; a mail client with folders, a list and the open message beside it"><rect x="6" y="34" width="86" height="38" rx="3" fill="#eeeae3" stroke="#d8d2c8" stroke-width="1"/><rect x="14" y="26" width="70" height="30" rx="2" fill="#fff" stroke="#d8d2c8" stroke-width="1"/><rect x="16" y="29" width="70" height="30" rx="2" fill="#fff" stroke="#d8d2c8" stroke-width="1"/><rect x="18" y="32" width="70" height="30" rx="2" fill="#fff" stroke="#d8d2c8" stroke-width="1"/><rect x="20" y="35" width="70" height="30" rx="2" fill="#fff" stroke="#d8d2c8" stroke-width="1"/><rect x="22" y="38" width="70" height="30" rx="2" fill="#fff" stroke="#d8d2c8" stroke-width="1"/><rect x="26" y="8" width="56" height="30" rx="2" fill="#fff" stroke="#7a1f1f" stroke-width="1.1"/><rect x="32" y="15" width="30" height="4" rx="2.0" fill="#c9c2b6"/><rect x="32" y="23" width="40" height="3" rx="1.5" fill="#e0dad0"/><rect x="104" y="8" width="86" height="64" rx="3" fill="#3a3631"/><rect x="111" y="16" width="50" height="3" rx="1.5" fill="#cfc6b8"/><rect x="111" y="23" width="38" height="3" rx="1.5" fill="#cfc6b8"/><rect x="111" y="30" width="60" height="3" rx="1.5" fill="#cfc6b8"/><rect x="111" y="37" width="44" height="3" rx="1.5" fill="#cfc6b8"/><rect x="111" y="44" width="30" height="3" rx="1.5" fill="#cfc6b8"/><rect x="110" y="58" width="17" height="8" rx="1" fill="#5a5550"/><rect x="129" y="58" width="17" height="8" rx="1" fill="#5a5550"/><rect x="148" y="58" width="17" height="8" rx="1" fill="#5a5550"/><rect x="167" y="58" width="17" height="8" rx="1" fill="#5a5550"/><rect x="111" y="51" width="4" height="4" rx="0.5" fill="#7a1f1f"/><rect x="202" y="8" width="86" height="64" rx="3" fill="#fff" stroke="#d8d2c8" stroke-width="1"/><rect x="208" y="16" width="18" height="3" rx="1.5" fill="#e0dad0"/><rect x="230" y="14" width="50" height="7" rx="1" fill="#fff" stroke="#d8d2c8" stroke-width="1"/><rect x="208" y="25" width="18" height="3" rx="1.5" fill="#e0dad0"/><rect x="230" y="23" width="50" height="7" rx="1" fill="#fff" stroke="#d8d2c8" stroke-width="1"/><rect x="208" y="34" width="18" height="3" rx="1.5" fill="#e0dad0"/><rect x="230" y="32" width="50" height="7" rx="1" fill="#fff" stroke="#d8d2c8" stroke-width="1"/><rect x="208" y="43" width="18" height="3" rx="1.5" fill="#e0dad0"/><rect x="230" y="41" width="50" height="7" rx="1" fill="#fff" stroke="#d8d2c8" stroke-width="1"/><rect x="206" y="57" width="78" height="10" rx="2" fill="#eeeae3"/><text x="245.0" y="64.5" font-family="'JetBrains Mono', ui-monospace, monospace" font-size="6.5" font-weight="400" fill="#7a1f1f" text-anchor="middle">◀ Record 3 of 120 ▶</text><rect x="300" y="8" width="86" height="64" rx="3" fill="#fff" stroke="#d8d2c8" stroke-width="1"/><rect x="300" y="8" width="18" height="64" rx="3" fill="#eeeae3"/><rect x="320" y="12" width="28" height="9" rx="1" fill="#fff" stroke="#d8d2c8" stroke-width="1"/><rect x="320" y="23" width="28" height="9" rx="1" fill="#f2e4e1" stroke="#7a1f1f" stroke-width="1"/><rect x="320" y="34" width="28" height="9" rx="1" fill="#fff" stroke="#d8d2c8" stroke-width="1"/><rect x="320" y="45" width="28" height="9" rx="1" fill="#fff" stroke="#d8d2c8" stroke-width="1"/><rect x="320" y="56" width="28" height="9" rx="1" fill="#fff" stroke="#d8d2c8" stroke-width="1"/><line x1="350" y1="11" x2="350" y2="69" stroke="#d8d2c8" stroke-width="1"/><rect x="354" y="16" width="26" height="3" rx="1.5" fill="#e0dad0"/><rect x="354" y="23" width="20" height="3" rx="1.5" fill="#e0dad0"/><rect x="354" y="30" width="28" height="3" rx="1.5" fill="#e0dad0"/><rect x="354" y="37" width="18" height="3" rx="1.5" fill="#e0dad0"/><rect x="354" y="44" width="24" height="3" rx="1.5" fill="#e0dad0"/><text x="49.0" y="88" font-family="Inter, system-ui, sans-serif" font-size="8.5" font-weight="500" fill="#3a3631" text-anchor="middle">the card file</text><text x="49.0" y="99" font-family="Inter, system-ui, sans-serif" font-size="7.5" font-weight="400" fill="#8f887d" text-anchor="middle" font-style="italic">pull one out</text><text x="147.0" y="88" font-family="Inter, system-ui, sans-serif" font-size="8.5" font-weight="500" fill="#3a3631" text-anchor="middle">the terminal</text><text x="147.0" y="99" font-family="Inter, system-ui, sans-serif" font-size="7.5" font-weight="400" fill="#8f887d" text-anchor="middle" font-style="italic">replace the list</text><text x="245.0" y="88" font-family="Inter, system-ui, sans-serif" font-size="8.5" font-weight="500" fill="#3a3631" text-anchor="middle">the Access form</text><text x="245.0" y="99" font-family="Inter, system-ui, sans-serif" font-size="7.5" font-weight="400" fill="#8f887d" text-anchor="middle" font-style="italic">next, next, next</text><text x="343.0" y="88" font-family="Inter, system-ui, sans-serif" font-size="8.5" font-weight="500" fill="#3a3631" text-anchor="middle">mail</text><text x="343.0" y="99" font-family="Inter, system-ui, sans-serif" font-size="7.5" font-weight="400" fill="#8f887d" text-anchor="middle" font-style="italic">beside the list</text></svg><figcaption style="font-size:.8rem;color:#a8a298;font-style:italic;margin-top:.4rem">Four old answers to opening a customer, each made of what its medium could do.</figcaption></figure>

The card file. A drawer, or a wheel, of index cards. The drawer is the list; the record is the card you pull out. You flip through them with a thumb, one at a time, and pulling one leaves a gap that shows where it goes back. What did that gap do that a list on a screen doesn't? And what did the card make hard? Two customers side by side meant pulling two cards and holding one in each hand.

The terminal screen. Green text on black, one screen at a time, function keys listed along the bottom: one to exit, one to go back, two to page. Opening a customer replaced the list completely. The record was a place, and the way back was a key. Nobody complained about losing their place in the list, because the list was a place too, and the key took you back to it. Were the people who worked like that lost, or were they faster than us? What did the replace-everything model give them that a page full of panels doesn't?

Microsoft Access. For a lot of small businesses, the CRM was an Access file somebody built one winter. Access had several answers at once, and they're the most interesting part of this whole experiment.

There was the datasheet view: customers as a spreadsheet, every record a row. There was the form view: one customer filling the window, with a small navigator along the bottom edge: first, previous, Record 3 of 120, next, last, new. Same data, two views, and you switched between them. There were subforms: the customer's form with their orders inside it as a small grid, the master and its details on one screen. Later came the split form, the datasheet and the form of the same customer on one screen together, the list below and the selected record above. And any form could be made pop-up and modal, which people used for quick entry and for questions that needed an answer before anything else.

So the form view with its record navigator was the rep's next, next, next, with no panel at all. The split form was a list and a record side by side, long before anyone called it a drawer. The subform was a record that contained its own lists. Which of these do we still build without knowing where they came from? Which did we drop, and was that a decision or an accident?

Mail. The mail client settled into three panes a long time ago: folders, a list, and the open message beside the list. Opening a message doesn't take you anywhere; it fills the space next to the list. Double-click it, and it becomes its own window. The same message, at two depths, chosen by how you click. Is a customer more like a message, or more like a document?


What changes on a phone?

On a phone, the record pushes in from the side and the list slides away; back slides it home. That's a route change in everything but name, and nobody calls it an interruption. Turn a tablet sideways and the list and the record sit next to each other again.

The same record, in the same product, ends up a page on one device and a panel on another. So was the answer ever about the record? Or about the room?


What were we really asking?

Go back through the people and the media, and the same handful of questions keeps surfacing under the obvious one. They almost never ask modal, panel or page directly. They ask whether the person needs the list while they're here. How long they'll stay. Whether they'll type. Whether anyone will ever arrive here from outside, without the path. How heavy the thing they're about to do is. What should be waiting for them when they come back. And whether one record can have more than one door: a quick one from the list, and a deep one from a link.

None of those picks a layer by itself. Asked about one product, with its real people, they start to.

I don't know where a customer lives in your CRM. I'd know where to start looking.