Yes
I want Gladys to be a consistent, turnkey product that works from the start without having to tinker like it is today.
(Note, there will be no redundant services, there will be only one Bluetooth service, only one Philips Hue service, etc.)
With the currently separate modules, it creates tons of problems. When you install a Gladys 3 module, Gladys does a git clone + NPM install + reboot of Gladys. And weâre not even talking about integrating the module into the UI, which has never worked correctly in Gladys 3 and we had to make awful hacks for it to work more or less⊠When I see the number of forum messages where some people have a UI that has crashed because of the installation of a module, itâs not normal that it should be possible!
Everything that is currently done on the user side when installing a module should only be done on the developer side.
After that, I think you overestimate the size of a service⊠A service is generally a few JS files, weâre talking about a few kilobytes of code⊠I donât see how it makes Gladys heavier 
In fact, I think we should see Gladys 4 differently from Gladys 3, itâs not the same product.
In Gladys 3, I naively thought that my role in creating Gladys was to create the platform, but to leave the « module experience » separate from the core.
But what I underestimated is that what a user will remember about Gladys is the overall experience they had. If they install Gladys, install the speak module, and Gladys crashes. (and we canât do anything about it, « npm install » often fails for external reasons like lack of RAM, NPM downtime), their feedback will be: Gladys doesnât work and itâs unstable.
My paradigm for Gladys 4 is that services are an integral part of the product, theyâre not details: theyâre the heart of the Gladys experience.
I want the user to use Bluetooth to simply check the « Bluetooth » box in the interface, nothing more.
And for that, it requires having the services at the heart of the product, with the same rigor of development as the Gladys core:
- Unit testing with a code coverage > 90% minimum.
- Linting
- Integrated into the build process, both backend and frontend.
This is the only way to have an overall experience that we can control from end to end 
Donât hesitate if you have any questions or concerns about all this, this is a part that I have thought about at length and I have only put the main points here. We can also talk about it live at the community call on Sunday!