This is a collection of Observations, Optimizations
and Recommendations with WebDirect
Improving WebDirect performance falls into two categories:
- Improved initial download time
- Improved UX while interacting with the page.
WebDirect is Chatty.
WD constantly sends data packages back and forth to the server. Some of this chatter is heartbeats and long polling refreshes while other chapter is UIDL (User Interface Description Language) packages. Long polling means the browser sends a request to the server and the server does not reply to it until it has something to say at which time it passes back instructions. This is what allows the browser to stay current with the sever.
Hidden Menus Still Render Causing Chatter
Even when you hide the tool / menu / status bar at the top of the browser the contents of that whole area is still downloaded in UIDL. What makes this really bad is when another user creates a new record in the same base table, the total record count in the record indicator gets updated.
FMS flags the browser by closing the long pole and telling the browser there is a new UIDL that needs to be downloaded, then the browser requests and downloads the new UIDL data and applies the changes. This means that in an environment where there are many records being created from other users, there is potential for a lot of pushed chatter. If a 'chatter' package gets delayed, the user could get a spinning wheel of frustration.
One solution is to have a single record UI file and have either global or related fields for data entry.
Conditional Formatting Applied After Page Render
If you must use conditional formatting on objects in your page remember that the cognitional equation is not evaluated and applied until after the page has been rendered. (applies to hide object when ... also) This causes flash.
To mitigate visual effects have the default state of the object to be as innocuous as possible. Eg, have them blend into the back ground colors. For hiding objects, conditional formatting will 'temporarily' key the object hidden until the Hide object kicks in and actually disables the object.
Scrolling Causes Chatter Sometimes
Mouse Wheel Scrolling Can Cause Chatter Events
You can occasionally trigger scroll events when you scroll your WebDirect Page. The package data size is small but if the network is slow to respond ... Spinning Wheel of annoy-ment.
Modify your layout to prevent scrolling by keeping keeping objects within the page and anchoring one to the bottom and right sides. This is not perfect but incremental changes add up.