IMAP IDLE Session Typing Indicator via Custom Command

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The Internet Message Access Protocol (IMAP) IDLE feature does not support status notifications indicating actions being performed on a device, such as a typing indicator, limiting the ability to provide real-time feedback to users about message status between client devices.

Innovation Solution

A customized IMAP command is integrated into a server to facilitate the transmission of status notifications between client devices, allowing the message server to alert one client device when another is performing an action, like typing, and relay this information to the intended recipient through an IMAP IDLE session.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the IMAP IDLE feature is used to allow real-time notifications, then the ability to receive message notifications is improved, but the support for status notifications indicating actions being performed (such as typing indicators) is lacking

Engineering Contradiction:
Improvereal-time notification capabilityVSAvoidstatus notification support
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The notification system is segmented into different types: message notifications and status notifications. The IMAP IDLE feature handles message notifications while the customized XTYPE command handles status notifications (typing indicators, read status, etc.), allowing each segment to specialize in its specific function without compromising the other

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The server acts as an intermediary between client devices, receiving status change notifications from one client and relaying them to another client through the IMAP IDLE connection. This intermediary role enables the transmission of action-specific notifications without requiring direct peer-to-peer communication between clients

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of operation

If a customized IMAP command is integrated to transmit status notifications, then real-time feedback capability is improved, but the protocol complexity increases

Engineering Contradiction:
Improvereal-time feedback capabilityVSAvoidprotocol complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The IMAP protocol is extended with a customized XTYPE command that multiplies its functionality. This single command structure can convey multiple types of status information (typing, reading, composing, etc.) through a unified syntax, reducing the need for multiple separate commands while enhancing protocol capability

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The status notification system is designed to be dynamic, allowing clients to subscribe to different types of status updates and receive only relevant notifications. The server dynamically determines which status changes to relay based on current client states and preferences, optimizing information flow while maintaining protocol simplicity

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS9391940B2Typing indicator for IMAP messaging
Publication Date: 2016.07.12 CELLCO PARTNERSHIP INC
  • US9391940B2 patent drawing
  • US9391940B2 patent drawing
  • US9391940B2 patent drawing

AI summary

A message server may establish an internet message access protocol (“IMAP”) IDLE session with a first client device. The IMAP IDLE session may be used to transmit one or more notifications to the first client device. The message server may determine a status notification associated with a second client device. The status notification may include information associated with an action being performed using the second client device. The message server may determine that the first client device is an intended recipient of the status notification. The message server may transmit the status notification, toward the first client device, via the IMAP IDLE session, based on determining that the first client device is the intended recipient of the status notification.