Hello, I’m developed an on-line educational platform intended to teach and learn Machine Learning fundamentals (https://learningml.org). Recently, I have ported the web app to a desktop app thanks to electron.js. I have build a snap package and uploaded to snapd repository (https://snapcraft.io/learningml-desktop).
The application is able to build Machine Learning models for image recognition and can get the training images from camera. On the other hand, it’s an application focused for children and newbie people which haven’t enough knowledge to enable the camera interface with snap command. So, I request an auto-connection of this application learningml-desktop with the camera plug.
Given you mention this is aimed at children I am a bit wary to grant auto-connect of the camera interface, given possible privacy concerns. Also the description of the snap doesn’t mention anything about the use of say a webcam or similar and so I suspect users may be surprised to find the snap auto-connected to the camera interface if this was granted as things currently stand.
As such I think if the description was updated to explicitly mention this use-case then perhaps it would more expected - ie. something like LearningML Desktop uses your computer's webcam to train and classify images or similar.
However I still think given the use-case of children I would be wary to vote for auto-connection - instead I think it may be better to try and have the application detect whether it is connected at startup (snapctl is-connected camera) and if not then prompt the user to connect the camera interface if they wish to use the webcam - or even better, do this prompting in a more context sensitive way by only doing this check and then asking when the webcam is about to be used.
Thanks for you analysis @alexmurray, I understand your point of view. I will try to implement your solution. Anyway, if you know some documentation explaining how to do these snap checks from the application code, I would be very grateful.
Hello @alexmurray, I’m currently working on it. This is a project I develop in my spare time so I don’t have enough resources to fix problems quickly. Must I close this thread? I don’t know when I could deal with this work again.