Ignitionl Mobile

Carl, I watched your demo in the webinar with great interest.

A few questions…

  1. Is the load on server higher with the mobile clients? With the conventional JNLP client a lot of the visualization work is happening on the client. Data is passed and rendering work is done on the client.

  2. What’s to stop us from using an HTML5 enabled browser from being used instead of JNLP?

  3. Contrast both of the above vs VNC. How does server load go up with that? Memory usage go out the roof?

I still think you folks have the market by the tail. Now, even more so!

Dennis

Yes, the load on the server is higher with mobile clients. When you launch a mobile client a virtual client is opened on the server sending all dirty pixels back to the client. The network throughput for the mobile client is also higher since it is constantly receiving these messages. Launching clients through JNLP does not launch a virtual client on the server allowing more work to be done on the client machine. The only traffic between the server and client is just new data so network throughput is smaller. VNC will have the same affect as launching a mobile client. If you have better hardware you can launch more mobile apps from HTML5 enabled browsers instead of JNLP. It is good to understand the difference before you do. Hope this helps.

Most remote control software such as VNC try to minimize the traffic between the server and the client by only sending changes to the graphics. Does the new mobile module work this way?

In other words, if you have a mobile HMI screen that is not changing at all, how much traffic is still generated between the server and the mobile device?

This could be important to anyone who may use this feature over 3G/4G rather than WiFi and are paying by the byte transferred. One could actually develop an special Ignition screen that only changes every 30 secs or a minute for these situations.

Travis’ response is right, I just thought I’d chime in since I think there is going to be a lot of chatter about this difference if we don’t explain it clearly.

[quote=“DennisWomack”]1. Is the load on server higher with the mobile clients? With the conventional JNLP client a lot of the visualization work is happening on the client. Data is passed and rendering work is done on the client.[/quote]Yes, a mobile client puts more load on the server since the client itself is actually running on the server. The number of mobile clients you can expect to run depends on the power (CPU&RAM) of your server and the complexity of your projects. The network traffic for each mobile client also depends greatly on the screen area (visual size) of your project and the rate of change for the screens. There is a setting to limit the number of mobile clients (you can set it to whatever you want) just so that you don’t allow users to starve the server of resources.

[quote=“DennisWomack”]2. What’s to stop us from using an HTML5 enabled browser from being used instead of JNLP?[/quote]Absolutely nothing. There are two reasons that we don’t talk about this a lot: 1) If you have a full computer’s resources at your disposal, you’re going to get better performance out of a standard client, so theres very little reason to want to do this. 2) Having 2 methods of launching on a desktop computer would be confusing to a new user. Don’t forget that the Mobile Module doesn’t work by itself - you have to have the Vision Module too.

[quote=“DennisWomack”]3. Contrast both of the above vs VNC. How does server load go up with that? Memory usage go out the roof?[/quote]Actually from a technical standpoint the VNC connection is nearly identical to the HTML5/Canvas system. We actually designed the HTML5/Canvas system using VNC as inspiration. The only reason we’re not pushing the VNC ability hard in the marketing is that 1) The HTML route is way more fun. and 2) its reliability depends wholly on the VNC client you’ve chosen, and we don’t really want to have to test with every VNC client in existence.

[quote=“Automate”]Most remote control software such as VNC try to minimize the traffic between the server and the client by only sending changes to the graphics. Does the new mobile module work this way?

In other words, if you have a mobile HMI screen that is not changing at all, how much traffic is still generated between the server and the mobile device?[/quote]Yes! Thats exactly how the mobile module works. The virtual client running on the server keeps track of all of the regions of the screen that are “dirty” and need to be re-sent to the mobile client. So if the screen is static then only little “pings” go back and forth. Or for example if only a few little regions of the screen like numeric readouts are changing, then only the bitmap data of those sections are sent back to the client. You can also change the encoding (default is PNG) to use something lossy like JPEG @ 25% quality. It looks pretty crappy but it saves on bandwidth, so if bandwidth is at a premium that might help.

Hope this clears some things up,

As always, answers prompt more questions…

So we now have a Vision Module. and we are going to have a Mobile Module.

Are they independent or is Mobile dependent on Vision?

Are their services modular enough, to allow seperate or multiple Mobile servers?

If you need to offload some of the Mobile work, how would you do that? Automatic load balancing?

Thanks

Dennis

[quote=“DennisWomack”]So we now have a Vision Module. and we are going to have a Mobile Module.[/quote]Yes you will have a Vision module and a Mobile module.

[quote=“DennisWomack”]Are they independent or is Mobile dependent on Vision?[/quote]The Mobile module is dependent on the Vision module. Once you create a project using the Vision module, the Mobile module allows you to view it on a mobile device.

[quote=“DennisWomack”]Are their services modular enough, to allow seperate or multiple Mobile servers?[/quote]No, the Mobile module must be on the same machine as the Vision module. You cannot separate the two. You can have multiple gateways with both the Vision and the Mobile modules installed.

[quote=“DennisWomack”]If you need to offload some of the Mobile work, how would you do that? Automatic load balancing?[/quote]If you are using clustering and have two redundant gateways then yes they will do load balancing when launching the virtual clients.

We have plans to upgrade the mobile module in the future to work with other machines to help spread the client VM load around. It would probably work by installing the Ignition gateway on another machine with just the mobile module installed, and configured in a special “slave” mode so that it communicated back to the main gateway and said “hey - I’m available to launch client VMs on”.

But first things first - we’re waiting to gain some real-world experience with the Mobile module to see if such an idea will even be necessary.

At some point, I can see really simple touch devices being used instead of smarter devices to handle the JNLP.

You could create a cradle for an iPad that bolts to a panel, locking it in place and use it as an HMI. Just provide the power. If the plant already has WiFi, power is all you need.

Headless machines with the Gateway Module and the Mobile Module, real or virtual, could make things really scalable.

I really apprecate your vision for the future.

Dennis

What about this? How many concurrent mobile clients running was the maximum in a real scenario? What feedback was on that sceneario? Still considering the load-balance feature necesary? If yes, when will be available?

I’m potentially considering using it on a 14 mobile clients scenario (in principle, with low communication load, but the truth will be know it if, they give us the project and when we implement it)

Regards,

There have actually been zero requests for this, so no, there aren’t any plans. Are you running into issues running 14 clients?

Nop. It’s a potential project. And if we gain it, I evaluating doing the mobile part with the mobile module.

The scope is 14 mobile computers. And we specified a server with a lot of RAM.

If we win the project, my plan is to develop a rapid prototype of the mobile client and test it with the real hardware in a early stage. If it’s work OK, then buy the mobile module. If not, develop the functionality in native way.

The reason for the question is if not work ok, I want to know if we have another option than develop in native way and mantain all in Ignition.

If this come to real, I will share information with you.

Regards

Ok, well I think with a decent amount of RAM 14 clients should be pretty realistic.

Yes. Agreed. Greg give me a lead here. If we get the project, we require a server with 16 Gb of RAM.

I’ll keep you informed.

Regards,