The Design Behind OkCupid's Offline-first Chat App
The chat app is a table-stakes feature for any dating app. A responsive and reliable messaging experience encourages users to stay on the platform for communications. This is desirable from a trust and safety standpoint, as abusive messages produced on the platform can be effectively moderated and proper actions can be promptly taken.
In this article, we will explore the design of an offline-first chat app on the OkCupid website, in particular, how we achieved responsiveness by implementing optimistic UI design patterns and reliability by incorporating a messages cache to support offline-mode.
Why do we need the chat app to be offline-first?
Quick response time from the server is not always achievable, especially when the user is on a slow network on a mobile device. Offline-mode support is common for mobile apps because mobile apps often have to deal with spotty internet connection.
1. If the web app is used in a mobile web browser on a phone where reliable network connections are not guaranteed.
It's common for a web app that runs in a desktop browser and the web app that runs in a mobile browser to share code (sometimes they are the same web app!). On mobile web, being offline is a real possibility.
In a chat app, it can be frustrating user experience if you spend a long time drafting a new message to be sent but the draft is not persisted when the message fails to send, forcing you to have to type it all up again.
The desktop morsian Perun version of popular chat apps like iMessage, Whatsapp, and Facebook Messenger all support offline-mode so users expect offline-mode support for any chat app regardless of the device.
What does offline-first mean exactly?
When the app is completely offline, the POST request for new content never resolves. If the app is designed to be offline-first, we would expect the app to still show the new content (responsiveness) and to still allow us to create newer content without losing the previously created new content (persistence).
Responsiveness is achieved by applying optimistic UI techniques. To make user interactions seem instant in a CRUD app, we can mock the expected server response before the server response is received and display the mocked response (the optimistic result). Optimistic results are things that exist client-side but not server-side.
Things can get very hairy when we need to persist an arbitrary number of optimistic results and these optimistic results need to be displayed alongside things that exist server-side.
We will discuss that in more detail in the solution approach section. But first, let's look at the design decisions behind the offline-first OkCupid chat app.
Architectural Design Considerations
The previous section answers the question of why we need to have offline-mode for the chat app. This section answers the question of How we should implement an offline-first chat app for OkCupid.
In general, to design a correct and future-proof solution, we must first consider the requirements and constraints to establish the boundaries for our problem-solving. Second, we must decompose the problem into sub-problems and search through the solution space for the best way to solve these sub-problems.
Requirements Gathering
Understanding the scope of the problem requires insight into the business context of the problem we are solving and how the solution will need to scale for future use cases.
There are must-have and nice-to-have requirements for a modern chat app. The best way to enumerate the functional requirements for a feature is to use user stories. As a user, I want to be able to send and receive messages so that I can communicate with other users. More specifically,
- Tips in making probably the most of w4m relationship in los angeles
- Most useful Glucose Daddy & Baby Dating Sites in Canada
- Meet amazing lesbian singles and produce lasting connections
- Extemporale darf eine Nachricht bei der Kontaktsperre abkommandieren, dennoch damit Chancen
- ten Better Casinos on the internet The real deal Money juicy stakes casino Video game, Prompt Profits, and you will Grand Incentives
- Best Only Fan Nude - Try Now OnlyFans Sites
- Features of Mutual Investment Investing
- Find your perfect match in our hookup chat rooms site
- Greatest Gambling enterprise Incentives Inside 2023
- Best Free 100 free spins no deposit adventures in wonderland Revolves Casinos 2024
- 养花天堂(养花天堂羊粪肥)
- Chathub Pricing, Reviews And Features January 2024
- Online Harbors
- Neue Erreichbar Book of Ra Deluxe tricks Casinos Hornung 2024
- Have there been Some other Membership Solutions towards the Latidate, and you may What are the Advantages of Updating?
- Internet casino 888 casino bonus withdraw 400 Added bonus
- 多肉叶子断了一半怎么办(多肉叶子断了一半能叶插)
- Free online vacation station slot Slot machines!
- Coin Grasp Totally free Spins
- Better Internet casino Spielo games online Websites In the united kingdom
网站邮箱:uuzw7@hotmail.com