Prefetching / asynchronous loading

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.

Hi FemmeT,

we are glad that you are happy with our software so far!

Our short answer to your question is unfortunately negative. Our mobile Apps behave differently to the WebFront exactly because mobile data connections tend to be slow. The requests to load a category use only a few kilobytes.

Regarding your Apple Watch we have good news. In the upcoming Watch OS 2 our App will be far more responsive and should match our iPhone App. Until then we have a Tipp how to make the best with your watch:

Create a new WebFront containing only one category. Add multiple „Dummy Instances“ to organize important features you need handy on your wrist. You will be able to swipe over those without loading anything again. Also the app will look much more neatly.

With regards,