We are currently facing a small problem on the clients part. Displaying tabs or windows can take a long time because requesting the network is not simple. We generally have to do one request, compute, do another request to complete the informations, compute again… Which can take quite a long time.
This is a problem since UI freezes is a really bad bclients behavour.
To fix it, two posibilities exists :
- High-level API on ucoin nodes, which do all the searches and calculations for clients
- Unsynchronized clients, which refresh data in the background continuously
The first choice is probable the easiest for client developers. A bit harder for cgeek, but not that much I guess. The only problem is that it imply that nodes can be overloaded. Also, It means everytime we think of a new feature for clients, we have to ask an API for that.
The second one is the hardest for clients developers, especially about the separation on models/ui. But it is the most powerful and flexible. The bigger problem I see, is that joining a project using massively unsyncronized API is way harder than joining a project only working with synchronized calls.
What is your opinion about it ?