I am quite happy with the mobile apps for iOS and Apple Watch but there’s one thing that bothers me which is the lack of responsiveness of the apps. I am connecting to my server through a 4Mbps/800Kbps DSL connection which isn’t very suitable for request–response based interaction . The problem is especially apparent in the app for the Apple Watch which is just too slow to be fun to use. There is no point in using the Watch if you have to wait ten seconds everytime you navigate to another category.
I think the user experience of the apps would be much better if the whole state of the objects in the Webfront (or the state of objects that are closely related to the current object you are viewing) are prefetched all at once. This could work like this:
-
When you connect to a Webfront the state of all objects in the Webfront (or objects closely related to the root object in case of a Webfront with many objects) are requested and loaded into memory.
-
When you navigate to a parent or sub category the objects in that category can be immediately shown since they are already loaded into memory. Asynchronously the updated state of the objects related to the category (childs, parents, siblings) is requested so the user will have the actual state within a moment. This solution would provide the best of both worlds: immediate response and accurate information. I assume you can pack quite a few objects in a response size of let’s say max 50KB. HTTP compression would also do wonders to decrease the response size.