The customer's picture does not show on the card

The card has no heading and no title bar, so there is nowhere obvious for a customer's picture to live. It is anchored beside one field's value instead, and that means two separate settings have to line up before anything appears.

When they do not, or when the address will not fetch, the card falls back to coloured initials without complaining. There is never a spinner and never a broken-image icon, so an absent picture looks exactly like a record that has none.

#Two settings, both required

Setting

Where

What it does

The Image button on a row

Fields, in the Image column beside each attribute

Nominates which attribute holds the picture address for that object. Only one attribute per object can hold it.

"Show it beside"

Fields, in the Picture panel

Names which row on the card the picture sits next to. "Do not show a picture" is also an option.

Until an attribute has been nominated, the placement dropdown is unavailable and says so: "Choose the attribute holding the image URL in the Image column first." Until at least one attribute is ticked for the card, it says "Tick at least one attribute. A picture sits beside a row that is on the card."

#The anchor is a position, and a position that is not on the card is nowhere

If the field the picture is anchored to is not one of the fields chosen for display, no picture appears anywhere on the card. Unticking the anchored row, or clearing the nominated attribute, also clears the placement, so no stale setting is left pointing at a row that has gone.

The nominated attribute itself does not have to be on the card. That is the point of separating the two settings: the picture shows without a row full of a machine-generated web address.

#Why initials appear instead

  • The nominated attribute holds something that is not a plain http or https web address.

  • The record has nothing in that attribute at all. It still gets an initials circle so the rows keep their indent.

  • The address is dead, is too large, or turns out not to be an image at all.

  • Jira could not identify the viewer, so no picture is fetched for them.

Pictures are not loaded straight from whatever host the image happens to sit on. They come through Capable's own image service, which applies a size limit and checks the file type, and anything it will not serve becomes initials. There is no error reported on the card for any of this, because a record with no usable picture is the ordinary case.

#What the initials are

Up to two letters, taken from the first letter of each of the first two words, so "Jane Roe" gives JR and "Acme" gives a single A rather than an invented second letter. Leading brackets and quotation marks are skipped. The colour is derived from the letters themselves, so the same initials always get the same colour and two records with the same initials share one. A circle is omitted entirely only when the object nominates no picture attribute at all.


#A few things worth knowing

  • Only text attributes are offered as the picture, because Attio has no image or file attribute type. Its own picture fields are text attributes holding a web address.

  • Nominating a picture attribute silently clears whichever row held it before, even when that row is scrolled out of view. One attribute per object is the whole allowance.

  • A picture that fails to load once is not tried again for as long as the request stays open, so fixing the address in Attio will not bring it back on a request an agent already has in front of them.



Initials are the fallback, not the failure.