as many of you probably know my primary project I am working on at OpenPrinting is the change of the printing and scanning architecture to an all-IPP model which especially works with sandboxed packaging, including the all-Snap Ubuntu Core desktop.
Printer and scanner drivers are emulated driverless network devices on the local machine, also CUPS is (as it always was) emulating IPP network printers. All these emulated devices advertise themselves in the local network via DNS-SD to get auto-discovered by clients (like CUPS or applications which print and/or scan) and each device has a web interface with which the user can configure the device.
Most general network devices, as routers, access points, security cameras, IoT, smaor home, … devices work the same way, they advertise themselves via DNS-SD and have a web interface to configure them.
Problem for the user is that he does not have a way to get an overview of such devices.
avahi-browse is a command line tool and
avahi-discover is GUI but very technical, made for developers and admins to debug DNS-SD problems, less for a user to find available devices and services.
During my thoughts and discussions on the printer setup of the future, for the new architecture I came to the idea of creating a kind of "user-friendly
avahi-discover". a module for the GNOME Control Center which lists all network services which advertise themselves via DNS-SD (and so are discovered via Avahi), each distinct service only once (and not repeatedly due to the different network interfaces, IPv4/IPv6, and encrypted/unencrypted) and with buttons for common operations, especially one button which opens the device’s web admin interface in a browser, but also with additional, service-type-dependent buttons for common operations (for example in a Printer Application, aka printer driver, to auto-connect all supported printers), on an access point to turn its Wi-Fi on and off, … The buttons do not need to pop up fancy tools, often it is enough to let them short-cut into certain palces of the device’s web interface.
This way it will get much easier for users to lead with network devices. They do not need to find out which default host name or IP address they have and alsosee which devices are actually reachable (connected, turned on, in the same subnet).
I have posted this project as a project idea for the Google Summer of Code 2021 and a student has submitted a proposal to implement this project. He also already presented it to the GNOME developers as a feature request but they are not very convinced about it.
So I want to ask you about what you think about this project and whether you would like to have this functionality in the GNOME Control Center. I am also very grateful if one or another could step up to help convincing the GNOME developers to include this and also to help mentoring the student.
Note that I by myself am not a GUI developer but architect, designer, and developer of the printing infrstructure, what is happening behind the scenes when you click on “Print”. And one problem we have at OpenPrinting is to actually get the GUIs up-to-date with the newest development of the printing stack.
So any help is appreciated