A note attached to a place, which surfaces itself when you arrive.
cairnˈkɛːn, noun
A stack of stones raised to mark a place — left on a path by one traveller
for whoever passes next. Yours are left for you.
How to read a cairn
One stone for every thing to do
Start a line with - and it becomes a stone you can tick off.
A note with four things to do is a cairn of four stones.
A ticked item is a hollow stone
You took it with you.
An empty cairn stays quiet
When every stone is hollow there is nothing left to say, so the note will
not interrupt you. Untick something to wake it.
Warm means near
Stones brighten as you approach, and glow when you have arrived.
My note did not fire
Cairn tells you why. Nothing is hidden. In order of how often it turns out
to be the cause:
Location access is not set to “Always”. Cairn can only
notice that you have arrived while it is closed if iOS lets it. Settings
→ Cairn → Location → Always.
Every stone is hollow. A spent cairn is silent by
design. Open the note and untick something.
You dismissed it this visit. “Done this visit” and
“Next visit” both stay quiet until you have actually left the place —
a timer cannot know whether you are still in the shop.
It is inside its cooldown. Ninety minutes by default,
adjustable per note, so it does not nag while you wander near the edge.
The radius is too small. Below about 100 metres the
phone’s own position error is larger than the region. 150 m is the
default for a reason.
Quiet hours.
You set it to fire once and it already has, so it
archived itself.
Arrival is not instant. iOS deliberately waits before confirming you have
crossed a boundary, so expect roughly twenty to thirty seconds.
Why does it want background location?
Because that is the whole product. A note that could only reach you when
you already happened to be looking at your phone would not be worth
writing. Cairn uses your location to notice arrivals and for nothing else,
and it never sends it anywhere. See Privacy.
Get in touch
Questions, bugs, or ideas:
ptgh@mac.com. A real person reads every one.
If you would rather raise it in the open, you can
open an issue instead.