A birthday for every plant

Fern keeps two dates for each plant, the day it was born and the day it came home, and marks them once a year. What the birthday moment shows, how it stays quiet, what happens when several plants share a day, and what we haven't got right yet.

Somewhere in a camera roll there's a photo of Monty on the day he came home. A monstera with a handful of leaves, still in his plastic nursery pot, standing on a kitchen chair because nobody had decided where he'd live yet. Two years later he has a moss pole and most of a corner. Nobody wrote the date down, and Monty doesn't know it either.

A plant app mostly points forward, to the next watering and the next feed, and that's where Fern spends most of its effort. But in a list of tasks, a plant you've kept for two years looks exactly like one you brought home on Tuesday. The two years only show when someone puts the old photo next to a new one.

The one-sentence description we wrote for Fern says it helps people understand their plants and "remember what matters". Our experience spec says every plant "should feel like a real member of the garden". Plant birthdays sit where those two lines meet. This post is about how they work and the decisions behind them, including a few we haven't got right yet.

Two days in a plant's life

The first question was which day to mark. A plant has at least two, and they mean different things.

One is the day it came home. It's the date you're likeliest to know, from a receipt or a photo, and it belongs to you and the plant together. The other is the plant's own birthday, when it sprouted or was started. For a plant bought in a shop, that one is nearly always a guess.

Fern keeps both. A plant's menu has "Key dates · birthday", which opens a small sheet with two switches. One is "When you got it", with "The day it came home" underneath. The other is "Plant's birthday", described as "When it sprouted", with a note that an estimate is fine. Either can stay off. The calendar stops at today, so there's no setting a birthday in the future.

Two dates need two words. In Fern a birthday is a birthday, and the day a plant came home is its plantiversary. The messages say "Happy birthday, Monty!" for one and "Monty's plantiversary" for the other. It's a slightly silly word. The alternative, one date for everything, would mean telling you that a plant from the garden centre was born on the day you paid for it.

Dates that fill themselves in

Asking for two dates for every plant would turn a nice idea into homework. So wherever Fern already knows when a plant arrived, it records the day it came home on its own:

  • A cutting you pot up counts from the day you took it, not the day it went into soil.
  • Each new piece of a divided plant counts from the day you divided it.
  • A plant given to you by another Fern grower counts from the day you accepted it, and brings its birthday along if the giver had set one.
  • When plants sharing a pot become a single plant, it takes the earliest of their dates.
  • A plant brought in from an import keeps the date you got it, if the file has one.

The cutting rule says the most. A cutting's life starts in a jar on the windowsill, weeks before it has a pot, which is the part our post on plant families covers. Counting from the day it was cut means the four pieces of vine taken from one pothos on one evening share a date for as long as they live, even if they were potted up a month apart.

What the moment shows

A birthday needs a full year. On Today, the month and day have to match and at least a year has to have passed, so a plant whose birthday you set this morning waits until this date next year.

When the day comes, and Today has loaded and settled, the plant gets a full-screen moment. The small line at the top says "Plant birthday", the title says "Monty turns 2 today", and under it: "Two years since Monty was born."

The picture is the heart of it: two photos laid out like prints. The older one, tilted one way, is the oldest photo in the plant's journal, with the day it was added on a little tag. The newer one, tilted the other way, is the plant's photo now, tagged "Today".

Further down is a short row headed "A birthday treat, if you like". There's always "New photo", which closes the moment and opens the plant's page. Sometimes there's a second button, for a feed. It appears only if the plant's next care is fertilizing and it's due now or within three days, and it reads like "Feed · due Thursday". Tap it and the feed is logged, with a small note: "Fed · a birthday treat".

If the next feed is weeks away, there's no button. Watering never shows up here, even on a day the plant needs it; that stays in the usual list on Today. The birthday doesn't invent care for the occasion. The only care it offers is a feed that was due in the next few days anyway.

With VoiceOver on, the whole moment is read out as one short line: "Happy plant birthday. Monty turns 2 today."

Celebrate, or just close

The main button says "Celebrate". It writes one line into the plant's journal, "Celebrated Monty's birthday: 2 years.", so the day is there the next time you scroll back through Monty's history. Closing the moment writes nothing.

So the journal only holds the birthdays you chose to mark. If the moment wrote to it on its own, a plant's history would slowly fill with entries nobody made.

There's a Share button as well. It opens a preview of a card with the plant's photo, "Monty turns 2", a sticker saying "Together 2 years", and the date. Above the options it says "Only you until you choose", and nothing is shared until you pick "Add to your story", "Post to Growers" or "Send as an image". Even then, a post to Growers starts private. The small print underneath reads "No name, city or other plants on the card unless you add them."

Quiet about it

Every celebration in Fern goes through one queue with fixed limits, which our post on calm design describes. A full-screen moment only appears on Today, after a second of stillness, at most once each time you open the app and twice in a day, and anything over the limit becomes a small card. Birthdays go to the front of that queue, ahead of a new generation in a plant family, new badges and calm-day milestones. If a badge and a birthday are both waiting when you open the app, you see the birthday, and the badge waits its turn.

Fern also remembers that it has offered today's birthdays on your phone, so opening the app again in the afternoon doesn't replay the moment. For the rest of the day, Today keeps a quieter card: "Monty turns 2 today", with the plant's story in numbers in a line like "Two years, 104 waterings, 9 notes logged", and a button to share it to your story. The waterings are every one Fern has on record for the plant, whoever did them.

If you don't open Fern that day at all, nothing chases you the next morning about a birthday you missed. The day passes, and next year it comes round again.

The message

Birthdays also send one message, and it follows Fern's rules for things it starts on its own. It never arrives at night. It goes out in the late morning, in your own time zone. A birthday message reads "Happy birthday, Monty!", with "Monty turns 2 today" underneath. A plantiversary says "Monty has been with you 2 years today!" Tapping either one opens Today.

The switch is in notification settings: "Plant anniversaries", described as "Birthdays and milestones", and it's on to begin with. You can also pause notifications for a single plant from its menu, or mute a home you share.

That has a cost. These messages don't count toward the daily budget of three care messages, because they aren't care. So on a plant's birthday, your phone may buzz once more than it otherwise would. They get their own switch instead, so you can turn them off without touching your reminders.

When plants share a day

Plenty of plants arrive together. A trip to the garden centre brings home three at once, and an evening with the scissors starts four cuttings that will share a date for good.

Fern treats a shared day as one occasion. On Today, several birthdays become a single moment titled "Three birthdays today", with up to three of the plants' photos fanned out at the top and a short list underneath, each plant with its name and age. "Celebrate" writes the line into every one of their journals.

The message works the same way. You get one for all of the day's birthdays, titled "Birthdays today!", which names up to three: "Monty, Goldie and Spike have birthdays today". With five plants it becomes "Monty, Goldie, Spike and 2 more". Plantiversaries falling on the same day get one message of their own, "Plantiversaries today".

One moment for several plants gives each of them a little less: a row instead of a screen, and no then-and-now photos, which only appear for a single birthday. The alternative runs into the limit of two a day. Separate moments for three plants would show two in full and turn the third into a card, and which plant got the card would come down to queue order.

Shared homes

A plant in a shared home has one birthday for everyone in it. Each person sees the moment on their own Today, and the message goes to every member of the home who hasn't turned it off. That holds even when the plant has a named caretaker. Care reminders go to the caretaker, but birthdays count as household news, so everyone hears.

What a birthday doesn't do

There's no countdown. Fern doesn't send a message the week before. The only look ahead is a short list on Your stats, "Coming up in 30 days", with lines like "Monty turns 2" and "2 years with Monty".

A plant that has died doesn't have birthdays. Its memorial keeps both of its dates, but as our post on losing a plant says, a memorial never sends anything, and there are no anniversaries of a death.

What we haven't settled

The two days aren't equal yet. The full moment on Today follows birthdays. A plantiversary gets its message and its line on Your stats, but no moment. Because a potted-up cutting's date is filed as the day it came home, a cutting from a grandmother's pothos, exactly the kind of plant our post on families is about, currently gets the quieter treatment. We also haven't decided which day a cutting's really is. The day it was cut is when it started a life of its own, which sounds like a birthday. It's also the day it joined you.

How much a plant grew isn't working either. The birthday moment has room for one more number, a line like "+12 cm taller", meant to show growth since the first photo. It only appears when there are measurements behind it, and adding measurements is part of Pro. The number Fern keeps is the change between a plant's two most recent measurements, which isn't the same as a year's growth, and at the moment the birthday screen doesn't receive it at all, so the line never shows. Before it does, we need an answer to a plainer question: what should "grew" mean for a plant that was measured twice in two years?

Then and now also needs a then. If a plant's journal has no photos, both prints show the same picture. If it has no photo of its own at all, the "Today" print falls back to a reference picture of its species. A moment built around change is weakest for the plants nobody photographed, and we don't yet know what it should show instead.

In a shared home, anyone can tap "Celebrate", and each tap writes its own line, so Monty's journal can mark the same birthday twice. That might be a nice record of who was glad, or it might just be clutter.

And then there's 29 February. Fern matches the month and the day exactly, so a plant that came home on a leap day only gets its day every four years. Some people born on that date celebrate on 28 February, others on 1 March. Fern hasn't chosen yet, and the next 29 February is in 2028.