First, a few definitions to make everything clear.
User: living person using software
Client: a company that pays for a user version of our software for its users.
We currently have several applications that will require significant changes to the user interface based on which client the user belongs to. We currently have a separate build for each client, but as the number of customers increases, it becomes more painful to manage all of these individual releases.
My goal is to switch to one common client that can be configured dynamically based on who is logging in. Since our software requires an Internet connection in any case (it makes extensive use of web services), I only considered using the WebBrowser control in .NET and allowing it to interact (via ObjectForScripting) with the necessary equipment on the computer.
Then the entire user interface is written in HTML / JavaScript and stored on the server, which makes the distribution and maintenance of new user interfaces trivial. A shared client is a little more than a custom web browser that knows how to talk to our hardware devices and can be told to do this through javascript.
I see many advantages for this approach and not too many disadvantages. What am I missing? Why shouldn't I go in that direction?
Timothy Strimple
source share