Requirements of WhatsApp’s Design

Lesson 156 of 25610 min readPremium lesson preview
In this lesson3 sections

Requirements of WhatsApp’s Design

Requirements

Let’s scope the WhatsApp design by identifying the following requirements.

Functional requirements

  • Conversation: Support one-on-one and group conversations.

  • Acknowledgment: Distinguish durable server acceptance, receipt by a recipient device, and a client-reported read event. Define how these states aggregate across devices and group members.

  • Sharing: Enable sharing of media files, including images, videos, and audio.

  • Chat storage: Persist undelivered encrypted messages until the delivery policy is satisfied or the retention deadline expires.

  • Push notifications: Use platform notifications to alert a reachable device when the app lacks an active connection. The client retrieves pending messages through the messaging service.

Here, “offline” means no active application session on a device. The device may still have network access and receive a platform notification. A device with no connectivity cannot receive live traffic until connectivity returns. A push notification is not a substitute for durable message storage or recipient acknowledgment.

Non-functional requirements

The rest of this lesson is for Premium members

Premium opens every lesson in this course, along with all questions and solutions on PracHub.