|
|
|
|
|
by k7d
3033 days ago
|
|
Indeed, most of the application logic is in client side. In fact it's built in a way that it could function as a standalone application without backend. Currently it doesn't persist the data locally but that could be easily added. The backend serves as a fairly generic datastore with an API that allows data to be easily synced back and forth. It implements a logic (again non-specific to Whimsical) for how to handle concurrent updates (basically it implements CRDTs). I believe it's pretty similar to Google's Cloud Firestore - we might have chosen that if it was out of beta and we didn't mind the lock-in. Two main reasons we did this:
1) to be able to easily add offline mode - we don't have it yet but it's fairly easy to add now
2) to minimize effect of network latency on user experience As for less load on server & cheaper infrastructure costs - you are right, that is another benefit. |
|