Search and notifications
The two ways the application brings something to the user rather than waiting to be navigated to: finding what already exists, and surfacing what has just happened or is about to. One is asked for and the other arrives on its own, and both have to work without the user giving up what they were in the middle of.
Search
Summary One search field in the middle of the top bar, labeled for the app the user is in — Search email, Search appointments — and searching that app with the filters that app has to offer. Terms can be typed straight into the field as from:anna subject:report or picked from a More search options dropdown, and whatever is active appears as removable chips underneath.
Why it matters A mailbox that has been in use for ten years is not something anyone browses. The folder tree stops being a way of finding things long before it stops being a way of organizing them, and from there on search is the only route back to an old message. One field in one fixed place means a user never has to work out whether this app has a search of its own and where it is hidden. The chips matter separately: the commonest reason a search comes back empty is a filter left behind by the previous one, quietly excluding the answer.
Description
- The field sits in the middle of the top bar and is labeled for the current app; on phones it opens from a magnifier button
- Filters can be typed straight into the field as
from:anna subject:report, in the user's own language, with quoted phrases kept together - A More search options dropdown offers the current app's filters — addresses, date ranges, categories, folders, checkboxes
- Mail, Drive and Tasks offer a Search in scope: all folders, the current folder, one account, or all unseen messages
- Active filters appear as removable chips under the field
- Suggestions while typing cover contacts, filter prefixes and a Contains entry naming the fields that free text will search
/focuses the field; arrow keys, Enter, Tab and Escape drive the suggestion list- After opening an item found by search, a Search: <term> breadcrumb returns to the results
Availability Since 7.10.6 or earlier. The single search bar with its options in a dropdown dates from 8.0, and the / key that focuses it from 8.18, through the feature toggle shortcuts, on by default — the field itself is always present. Which fields free text searches in mail is set by io.ox/mail//search/default/fields, and the Address Book's minimum query length by io.ox/contacts//search/minimumQueryLength. Mail's own filters and search scopes are described under Reading and organizing.
Sort mail search results
Summary Mail search results keep the list's own Sort by and Sort order controls, so a set of results can be put in whatever order the user needs instead of always arriving newest first.
Why it matters A search that returns four hundred messages is where the work starts, not where it ends, and the message being looked for is often the oldest one rather than the newest. The switch exists because not every mail server can sort search results at all: where one cannot, the deployment turns this off and the forced default stands, which is better than offering an order the backend will quietly ignore.
Description
- While a search is active, the view options keep their Sort by and Sort order groups
- Switched off, results stay at the forced default of newest first, for mail servers that cannot sort search results
Availability Since 8.52. Feature toggle sortInMailSearch, on by default. It applies to Mail only; the mail list and its search are described under Reading and organizing.
Notification area
Summary A bell in the top bar opens one list of everything waiting for the user — reminders, invitations, resource booking requests, overdue tasks, birthdays — grouped into collapsible sections with a count each. The bell carries a dot while there is something in the list that has not been looked at yet.
Why it matters Without one place for them, the things that need an answer sit in the app they belong to, which is not the app the user is in. Someone who spends the day in Mail does not see that a task went overdue in Tasks or that a meeting starts in ten minutes in Calendar, and the first they hear of either is when somebody asks. Gathering them behind a single bell means the check is one glance rather than four, and it is the same glance wherever in the product they happen to be.
Description
- A bell button shows a dot while there are notifications the user has not looked at yet
- The list is grouped into collapsible sections — Reminders, Resource booking requests, Invitations, Overdue Tasks, Birthdays, General — each with a count
- On desktop the list opens as a side panel; on smartphones as a full-screen overlay with a backdrop
- Arrow keys move between entries, Enter opens the item, Backspace or Delete dismisses it
- Birthday notifications stay marked as seen across a reload on the same day
- A single on-screen banner reports errors, warnings, progress and confirmations
- A sound plays when new mail arrives and when an appointment raises an audio alarm
- The Mail app icon carries a dot and a count of unread messages, and the installed app icon carries the same number
- A bar appears when the browser goes offline or the server stops answering, and disappears on recovery
- Selected server errors and warnings are shown as on-screen notices instead of being swallowed
- The app looks for new data on a timer, and a top bar button fetches it immediately
Availability Since 7.10.6 or earlier. The sound and the choice of sound come from io.ox/mail//playSound and io.ox/mail//notificationSoundName, the refresh timer from io.ox/core//refreshInterval, and the server reachability check from io.ox/core//ping/enabled and io.ox/core//ping/interval.
Reminders and invitations in the notification area
Summary The entries in the notification list are not just announcements. An appointment reminder can be snoozed from it, an invitation can be accepted, declined or answered with a comment, and an overdue task can be marked done — each without opening the app the entry came from.
Why it matters An invitation that takes four clicks and a context switch to answer is an invitation that gets answered later, and later often means after the organizer has given up and asked in person. The same is true of a reminder: if the only way to put one off is to open Calendar, find the appointment and work out where snoozing lives, the user dismisses it instead and forgets the meeting. Answering in place is what keeps other people's calendars accurate, which is the part of this that other people feel.
Description
- Appointment reminders show the time, the relative time and the location, offer Show in calendar, and can be snoozed from a Remind me again menu
- Appointment and task invitations offer Accept, Maybe, Decline and Add comment inline
- Resource booking requests form their own section with the same answers
- Overdue tasks form their own section; dismissing one marks the task done
- Birthday reminders show the contact picture and the age
- At most 100 appointment reminders are drawn, with a note naming the full number
Availability Since 8.13. Each kind of entry needs the capability of the app it comes from — calendar, tasks or contacts. Resource booking requests additionally need feature toggle managedResources, on by default. Birthday reminders can be switched off with io.ox/core//showBirthdayNotifications, and whether a new reminder opens the list by itself is set by io.ox/core//autoOpenNewReminders.
Desktop notifications
Summary While the browser tab is in the background, new mail, reminders and invitations raise an operating-system notification. A new email notification shows the sender, the subject, a short preview and the sender's picture, and clicking it opens that message.
Why it matters A web client only competes with a native one if it can tell the user something while they are not looking at it. Without this, staying reachable means keeping the tab in front, which is exactly what people do not do while they are working in something else — so a message that needed an answer within the hour waits until the tab happens to come back up. Because the browser asks for permission first, this stays the user's decision rather than the deployment's.
Description
- New email notifications show the sender, the subject, a short preview and the sender's picture; clicking one opens the mail
- Reminders, invitations and resource booking requests also raise a desktop notification
- Only shown while the page is hidden, and only once the browser permission has been granted
- Settings > Notifications offers a switch and a Manage browser permissions now link
Availability Since 7.10.6 or earlier. Not on smartphones. New mail notifications require webmail. The user's own switch is io.ox/core//showDesktopNotifications; the browser permission sits on top of it and the browser grants it, not the product.
Update available banner
Summary When a newer version of the client has been deployed, a banner says so and offers a Reload now button. Its appearance can be spread over a random delay so that a whole user base does not reload within the same second.
Why it matters A browser application updates when the page is reloaded, and a long-running session may not be reloaded for days. That means a fix that shipped on Tuesday is still not in front of the people who reported the bug on Friday, and the support answer becomes "clear your cache and sign in again" — which costs the user their open compose windows. Telling them a version is waiting turns the update into one button. The random delay is for the deployment's benefit: a simultaneous reload by everyone is a load spike the servers would rather not have.
Description
- Appears when the service worker reports a new version, with a Reload now button
- The appearance can be spread over a configurable random delay so that not everyone reloads at once
Availability Since 8.50. The delay is set by io.ox/core//updateBannerDelay.
What's new
Summary A dialog and a side panel listing the features added in recent releases, each entry with its own short description and, where it applies, an illustration, a tag and a link into the setting it is talking about. It opens by itself after an update when there is something the user has not seen, and can be opened at any time from the help menu.
Why it matters Features that nobody knows about were not worth building. Release notes are read by administrators, not by the people who use the product, so without something in-product the only way a new capability reaches a user is by accident or by a colleague mentioning it. Filtering the entries by what the user actually has is what keeps this from backfiring: being shown a feature your deployment has switched off or your license does not include reads as a sales pitch, and the dialog stops getting opened.
Description
- Opens by itself after an update when there are entries the user has not seen yet
- Can be opened at any time from the help menu (Updates) on desktop, from the side menu on phones, or from the side panel toolbar
- Entries are filtered by what the user actually has — capabilities, feature toggles and device
- Each entry can carry an illustration, a tag, and a link into the setting it talks about
- The operator can override versions, release dates, the entry list and the help links
Availability Since 7.10.6 or earlier. Provider Edition only, and not available to guest users. Whether it opens by itself is set by io.ox/core//whatsNew/autoStart. The release metadata, the custom versions and the help links are described under What's New dialog.