Should your application be a web based solution or a desktop application?

So you have a data interface up and going to your embedded and system and now it is time to build a front-end, what do we use? That all depends on what you are going to do with your system and how you would like to monitor it.

What do you consider real-time data? If you need to see the data on the screen to update as soon as it changes in the system, a web based UI might not be the best way to go. If you don’t care about instantaneous data and are looking to do a bunch of historical data analytics and parsing through a user friendly interface, there may already be some tools out there to do the job for you. If you need something else, it can get a little blurrly on what is best.

If you really need to plot things very quickly and ‘live’ then I would suggest using Qt. There are plenty of libraries out there that can give you a very responive interface and plotting with minimal amount of hassle. There are even quite a few Python plotting libraries that are more than capable as well.

If you are going to be doing a lot of live calibration work, it may be best to go with a desktop PC application as well depnding on how fast you can get feedback from a hosted solution.

Deployment to the customer… This ones gets interesting. The PC application is much more traditional and easier to package, but more and more companies have been going to the cloud with a hosted solution and this can certainly work with the right system in place. But if you just need to get an application to your customer and don’t want to worry about the overhead of managing users and servers, maybe just a PC app is the way to go. There are also ways of distributing hosted solutions that could be feasible, but you don’t see to many out there. Example would be running the server on the customer’s PC essentially decoupling the front end form the back end, this could be useful for other reasons as well [redis and decoupling]