WOVN Service Error Impact (Native iOS, Xamarine, Native Android, SwiftUI, React Native, Flutter)
This document outlines the impact on WOVN's clients when WOVN's service is down. We will first examine how the WOVN SDK communicates with the WOVN server and then analyze the effects on clients under different scenarios.
In short, the only cases where WOVN SDK stops working, which the app will display in the original language, are only when all 3 following conditions are met:
- The WOVN service is down for more than 1 day.
- The application has not been opened before.
- The application does not have kickstart data.
How the WOVN SDK Communicates with the WOVN Server
When an application starts, the WOVN SDK initializes through the following sequence:
-
Initialization with Local Data
- If the application has been opened before:
- The SDK uses the latest local cached data from the WOVN server for initialization.
- If the application has not been opened before:
- The SDK searches for kickstart data.
- If kickstart data is found, it initializes with that data.
- If no kickstart data is available, the SDK concludes there is "no local data."
- If the application has been opened before:
-
First-Time Data Load from CDN
- The SDK sends a request to WOVN's CDN for the latest data (the CDN updates automatically when changes occur and caches data for ≤1 day).
- Successful request: Updates the local cache and current data.
- Unsuccessful request (network issues): No action is taken.
-
Periodic Update Checks
- After the first API call, the SDK periodically checks for updates via the CDN.
- Successful request (new data available): Updates the local cache and current data.
- Unsuccessful request (network issues/no updates): No action is taken.
Impact of WOVN Service Downtime (≤1 Day)
- Clients:
- Cannot modify settings or translation data during downtime.
- End Users:
- The SDK can still request translation data from the CDN server, using cached data from the last successful API call (valid for 1 day).
- No noticeable difference in translation functionality.
Impact of WOVN Service Downtime (>1 Day)
- Clients:
- Cannot modify settings or translation data during downtime.
- CDN Impact:
- The CDN cannot provide new translation data after the first day.
- End User Impact:
- If the application has been opened before:
- The SDK uses locally cached data from the last successful API call (persists until the app is uninstalled).
- No noticeable difference in translation functionality.
- If the application has not been opened before but kickstart data is available:
- The SDK initializes with kickstart data.
- No noticeable difference in translation functionality.
- If the application has not been opened before and kickstart data is unavailable:
- The SDK cannot initialize (no API, local cache, or kickstart data available).
- End users see the application in its original language.
- If the application has been opened before:
Summary of Impact on End Users
Short Outages (1 Day or Less)
- No impact for users: Translations continue working normally using recently cached data.
Longer Outages (More Than 1 Day)
- For most users, translations still work:
- If the application includes WOVN kickstart (pre-loaded during setup), users will still see translations, regardless of whether it’s their first time opening the app.
- If users have opened the app before, translations continue working using locally cached API data.
- Only one risky scenario:
- If the app does NOT have kickstart data and a user opens it for the first time, they will see the app in its original language since all 3 data sources (API, local cache, and kickstart) are unavailable.