UX: Enhanced Scrolling Behavior in Subforms

User forms are all about making things easy for users. But what happens when scrolling becomes a battle between subforms and their contents? You’ve probably experienced this before: you try to scroll through a list box in a subform, but the entire subform moves instead. Or, worse, you try to scroll the subform itself, but the list box stubbornly stays put!

This has been improved with 4D 20 R6, making the action more natural.

What should scroll? The subform or its contents?

Initially (let’s say “a long time ago”), using a scroll wheel or trackpad, only scrolled the sub-form itself, not the objects contained within the sub-form itself. Then it was the other way around! The included objects would scroll, but not necessarily the subform itself. Unless, of course, you use the scrollbars, but these are often hidden. In short, it wasn’t always easy for the user!

A GIF may help you understand the goal.

Here is what we can do now using the mouse wheel (or a trackpad)!

 

The best of both worlds

From now on, if a sub-form contains scrollable objects, the latter will scroll first, provided that these objects are hovered over when the scroll wheel or trackpad is activated. Some objects may or may not be scrollable, depending on their content. An empty list, a small image, or a list box whose contents are fully displayed will never scroll.

The result is natural in all cases: if an object inside a subformat can scroll, it will! Otherwise (if it’s empty or has already been fully scrolled), the “parent” subform will scroll… until a new scrollable object is encountered in the subform. Etc. to the bottom of the sub-form.

Of course, this works in all directions, from top to bottom, bottom to top, left to right, or right to left.

Conclusion

This seemingly small change makes a big difference in user experience. Users can confidently navigate forms, knowing precisely what will scroll based on where they hover. This allows you, the developer, to design more user-friendly and intuitive interfaces.

 

Roland Lannuzel
• Product Owner & 4D Expert •After studying electronics, Roland went into industrial IT as a developer and consultant, building solutions for customers with a variety of databases and technologies. In the late 80’s he fell in love with 4D and has used it in writing business applications that include accounting, billing and email systems.Eventually joining the company in 1997, Roland’s valuable contributions include designing specifications, testing tools, demos as well as training and speaking to the 4D community at many conferences. He continues to actively shape the future of 4D by defining new features and database development tools.