Increasing demands on user interface (UI) usability, adaptability, and
dynamic behavior drives ever-growing development and maintenance complexity.
Traditional UI design techniques result in complex descriptions for data
presentations with significant information restatement. In addition, multiple
concerns in UI development leads to descriptions that exhibit concern
tangling, which results in high fragment replication. Concern-separating
approaches address these issues; however, they fail to maintain the
separation of concerns for execution tasks like rendering or UI delivery to
clients. During the rendering process at the server side, the separation
collapses into entangled concerns that are provided to clients. Such
client-side entanglement may seem inconsequential since the clients are
simply displaying what is sent to them; however, such entanglement
compromises client performance as it results in problems such as replication,
fragment granularity ill-suited for effective caching, etc. This paper
considers advantages brought by concern-separation from both perspectives. It
proposes extension to the aspect-oriented UI design with distributed concern
delivery (DCD) for client-server applications. Such an extension lessens the
serverside involvement in UI assembly and reduces the fragment replication in
provided UI descriptions. The server provides clients with individual UI
concerns, and they become partially responsible for the UI assembly. This
change increases client-side concern reuse and extends caching opportunities,
reducing the volume of transmitted information between client and server to
improve UI responsiveness and performance. The underlying aspect-oriented UI
design automates the server-side derivation of concerns related to data
presentations adapted to runtime context, security, conditions, etc.
Evaluation of the approach is considered in a case study applying DCD to an
existing, production web application. Our results demonstrate decreased
volumes of UI descriptions assembled by the server-side and extended
client-side caching abilities, reducing required data/fragment transmission,
which improves UI responsiveness. Furthermore, we evaluate the potential
benefits of DCD integration implications in selected UI frameworks.