On separation of platform-independent particles in user interfaces
The complexity of user interface (UI) design grows quickly with the number of application concerns. Such complexity compounds with additional requirement of contextual-awareness (i.e., adapt to user location, skill level, etc.) and support of heterogeneous devices and platforms (e.g., web, mobile app). Implementation support of such a wide-range of orthogonal concerns often results in restatement of a significant portion of the UI description using platform-specific components. Replication requires repeated implementation decision, greatly increasing development costs since each version/context variant may need separate development. Naturally, such replication also produces error prone maintenance because code updates must correlate among all replicas. Using separation of concerns, the application can be decomposed into fine-grain fragments, which we call particles, some of which are platform independent and others are not. Using this decomposition, this paper addresses the above inefficiency by dynamically composing particles at runtime that match user demands, context, and target platform.
platform-independence user interface separation of concerns aspect-oriented programming networking