Right now, the communication from WAM launcher to WAM shared browser process is done with a very basic socket communication, and some scheduled 1 second waits. There are many scenarios that will be breaking with that:
- We are right now waiting to deliver the events for launching apps, suspend/resume, 1 second. We should be able to deliver them immediately as they are received. That will improve application launch time.
- The scenario where we launch an app immediately after sending another one to background can be problematic. Or any other where the events sent from two applications to the socket can happen almost at the same time.
- Ideally we could even want to use the syncdraw/flushdraw signals. Current implementation would not be fast enough.
- It is not bidirectional. We would need to be able to know if the application is closed (i.e. using window.close()) for finishing the launcher.
A new IPC needs to be adopted, ideally bidirectional. We could consider being able to pass the json messages we obtain from AGL APIs too.