Metlivi Blog

Why a Robot’s Wrong-Time Greeting Breaks the Illusion of Realness

A time-specific greeting sounds like a small courtesy, but it also makes a factual claim: the system knows what time it is where the conversation is happening. If it says “Good morning” at night, the mismatch can make the whole interaction feel canned or unreliable. The practical fix is to base any time reference on a current timestamp and an explicit time zone, keep the greeting consistent with the time shown elsewhere, and test the boundary cases. When that context is missing, a simple “Hello” is more dependable than guessing someone’s morning.

September 30, 20266 min readTime Management & Personal GrowthBy Metlivi Editorial Team
Section 1

Why an incorrect time feels like more than a wording mistake

A greeting such as “Good morning” is a social cue, but it carries information too. A user can compare it with the clock on the same screen or with the time they know locally. When the two conflict, the mismatch is immediately visible and may make the greeting feel automatic. That is a design inference from the observable inconsistency; it does not prove that every user will react in the same way.

Research on conversational agents shows that errors can affect how people perceive an agent, though effects differ by error type. In a study of an embodied conversational agent, turn-taking errors reduced likability, while some coherence errors had a different effect. The useful lesson is not that a wrong-time greeting will always cause a particular response, but that interaction errors can shape impressions beyond the immediate content. Adobe Research, “Conversational Error Analysis in Human-Agent Interaction”

A time greeting can also imply awareness the system may not have. Knowing the current clock time is not the same as knowing when a person woke up, what they are doing, or which part of their day they consider “morning.” Reliable timekeeping supports accurate wording; it does not establish personal understanding.

Section 2

Start with a timestamp and a known time zone

Treat the current time and the user’s local time zone as separate inputs. A timestamp identifies a point on the timeline; a time zone supplies the rules needed to express that instant as local wall time. The W3C’s guidance distinguishes these time representations and explains that time zones include rules for offsets and daylight-saving changes. It recommends using a time-zone identifier when it is needed to compute local time. W3C, “Working with Time and Timezones”

For a greeting generated in software, a robust sequence is:

Obtain the current instant from a system clock or another trusted time source.

Obtain a time-zone setting that is known to represent the intended user or conversation context.

Convert the instant into that zone using a time-zone-aware formatter.

Choose the greeting from the converted local time, or omit the time reference if the context is unavailable or stale.

In JavaScript, Intl.DateTimeFormat accepts a timeZone option for formatting a date. If an application leaves that option out, the host environment’s current time zone is used, which may be the server’s or device’s zone rather than the user’s. The formatter can also produce the time and date shown in the interface from the same instant. MDN, “Intl.DateTimeFormat”

A numeric offset alone may not be enough for future or recurring time behavior. A named zone such as Europe/London represents a set of regional rules; the offset can vary with the date. IANA explains that its time-zone database is updated to reflect changes to boundaries, UTC offsets, and daylight-saving rules. Software therefore depends on both a suitable zone and reasonably current time-zone data. IANA, “Time Zones”

Section 3

Make the greeting and visible clock share one source

The greeting and the on-screen clock should be derived from the same timestamp and the same time-zone context. If one component uses the browser’s local zone and another uses a server default, they can disagree around midnight or when a person travels. If the interface displays a date, check it along with the greeting: a local date can differ from the date at the server’s location.

A useful implementation rule is to calculate the local time once for the conversation event and pass that result to both the greeting logic and the display. Avoid separately asking a language model to infer the time from conversation text, device context, or a remembered schedule. The model can choose wording from a verified value, but the clock calculation should come from time data.

If a user has not supplied a time zone and the product has no reliable local setting, avoid claiming a specific part of day. “Hello” remains accurate across zones and times. If an explicit zone is necessary for a task, ask for it in a clear, low-friction way instead of silently treating the server’s zone as the user’s.

Section 4

Choose greeting boundaries deliberately

There is no universal, factual boundary between morning, afternoon, and evening. Teams should define local-time ranges as a product wording choice, then verify that the chosen phrasing fits the intended tone. Keep these ranges explicit in configuration or code so reviewers can see what happens at each boundary. Avoid wording that suggests knowledge of a routine, such as “You’re up early,” unless the user has actually provided that information and it is relevant.

The safe fallback should be part of the design. If the timestamp is invalid, the time-zone identifier is missing or unrecognized, or the conversion fails, use a neutral greeting. Do not substitute the server clock without making that choice explicit. If the clock reading may be delayed, a broad “Hello” can also age better than a greeting that becomes wrong while a message waits to appear.

Section 5

Test the transitions and the context, not just a typical afternoon

A happy-path test at an ordinary local time will not reveal many time defects. Use fixed timestamps and explicit zones so results are repeatable, and check cases such as:

A time just before and after each greeting boundary.

Local midnight, including a date change between the local display and the server.

Two zones that have different local dates at the same instant.

A daylight-saving transition in a zone that observes one.

A zone with a half-hour or quarter-hour offset.

A missing or invalid zone, where the expected result is a neutral greeting.

A delayed message, checking whether its wording is based on generation time or display time—and whether that choice is consistent with the product’s behavior.

These cases follow from how time zones map instants to local wall time and from the fact that regional clock rules can change. A test suite should make the chosen behavior visible instead of relying on an implicit machine default. The IANA release history documents actual rule changes, which is a reminder that test environments and deployed time-zone data can become out of date. IANA, “Time Zone Database Releases”

Section 6

A practical decision rule for product teams

Use a time-specific greeting only when three things are available: a trustworthy current instant, a time zone tied to the conversation context, and consistent formatting across the greeting and any visible clock. If any element is uncertain, choose neutral wording. If the system knows only the time, it can accurately refer to the time of day; it should not imply that it knows the person’s schedule, mood, or activity.

A greeting cannot make an assistant feel attentive by itself. Its value depends on whether the small claim it makes agrees with the rest of the interface. Accurate, restrained wording gives the interaction a coherent starting point while leaving personal context to the person who can actually provide it.

Related reading

Keep exploring this topic