Best practice for customizing the UI version?

What is the best way to implement the following scenario:

There is a standard user interface for the application in version 1.0, for example. order form. This application is customizable for the needs of different clients. This could be an additional "desired delivery time" field for customer A, the absence of a "phone number" field for customer B, an additional map plugin that shows the storages next to customer C and their combination for customer D.

The developer is now releasing a new version of the standardized order form version 2.0. What's the best way to design this to have minimal (if any) effort to make sure that all customizations made for clients can be saved?

I could imagine the following solutions:

  • Configuration: all parameters are customizable. This actually cannot be a solution, as it is impossible to satisfy all possible customer needs.
  • Inheritance: Customizations are done by inheriting from the standardized version. However, how can you be sure that a new release doesn't create a "crappy" looking custom version?
0


source to share


1 answer


The immediate option that comes to mind is a UI specification that exists outside of the application. When the application is launched, the user interface is created at runtime. While this is more than a static, compiled user interface, it is also much more flexible in the long run, given your specific software lifecycle.

There are frameworks that exist exclusively for this purpose: XUL is one notable example.



You could, however, make your own. Ultimately, this gives you the ability to separate your customers' user interfaces.

+1


source







All Articles