Android Question B4X: cross-platform and socket managing features


New Member
Dear B4Xers,
we need to create cross-platform UI; we need to work with sockets in the background also.

A typical example of our hypothetical application is an app where a disabled person "explores" an ever-changing UI that is dynamically generated to learn how to use different types of controls and control gestures.
All actions performed by the disabled person on a device are tracked and sent via socket to another device where an educator can see in real time the "same" screen used by the disabled person.
The educator can also help the disabled person by sending messages to his device, highlighting contents, etc.
The educator can also memorize the history of the interactions of the disabled person with the UI so that this history can be analyzed later, sent to other educators, etc.
The educator can also design UI "forms" in order to personalize them according to the results and/or needs of the disabled person.

To concretely describe a typical interaction, you can imagine a screen in which two circles are placed, one red and one yellow.
The device asks the disabled person to drag the red circle on the yellow circle (the request is made either on video, or through an audio file that the educator has recorded).
When the disabled person manages to drag the red circle on the yellow circle, the two circles are replaced by a green circle for a few seconds and then two images appear, one with a house and the other with the Sun, and two radio buttons to select one of them.
The disabled person is asked to select the radio button associated with the house image.

The need to have a cross-platform UI stems from the fact that disabled people can have a wide range of different devices as well as the fact that disabled people may need to learn about new devices (for example, to learn how to use the tablet after learning to use the mouse on a PC).
The need to have a socket background managing stems from the fact that educator may have to interrupt his interactions with his device to directly follow the disabled person, but educator must find his device updated in real time when he resumes the interactions with his device (the app stand-by affects this essential background activity).

Our interest in the B4X platform is also strengthened by the support of Raspberry Pi and Arduino because we believe it is possible to create and/or customize and/or interface tools that meet the needs (for example, we are evaluating the creation of a waterproof keypad with large colored and bright buttons thanks to which a disabled person can learn to control specific apps without having to use touch interfaces, mouse, etc. of the devices, one of these apps could guarantee the use of a chat with which exchange voice messages, emojis, requests for help, standardized texts).

As you can see, our needs are such that we have to "build" the UI and user interactions with the UI directly to the educators in order to avoid the unsustainable leavening of costs, time and customization of the project. As computer scientists we must therefore work to create a single "virtual environment" in which disabled people and educators interact with each other without having to request our intervention to create and / or customize new "exercises", etc.

We apologize for entering such detailed details, but we believe that this choice has allowed us to show the impossibility of using ordinary solutions such as, for example, individually developing the UIs specifications for different OSs and different devices: XUI appears the best practice, but we prefer to hear the opinions and proposals of all B4Xers.

Thank you for your attention and we look forward to possible response and/or suggestions and/or info.

Have a nice day!