3 ms·
I'm working on a standard for easy drop-in home IoT drivers: https://github.com/EternityForest/iot_devices https://github.com/EternityForest/iot_devices Maybe
by eternityforest 5y ago
I'm working on a standard for easy drop-in home IoT drivers: https://github.com/EternityForest/iot_devices https://github.com/EternityForest/iot_devices
Maybe you could go one level of meta up and instead of working on reusable components, work on reusable definitions for component interfaces.
Reuse is hard because you need a bunch of glue code. But if you had, like a standard for a toolbar, that knew how to find all the ToolbarAble objects, and the shopping cart icon just showed up, etc, things would get easier.
The shopping cart could know to look for all the payment requesting components declared in your Big Project File or whatever, and everything could stay modular ish?
GitHub is already the standard place to share generic projects.
- minhmeoke 5y ago+1, to make this work you'd need a standardized schema, and well-defined, relatively stable interfaces. Github, some kind of programming ecosystem (eg: Android libraries or Python Flask server modules), or a cloud system (with the associated problems of vendor lock-in which could be mitigated via federation and open-sourcing the system) seem like the best way to distribute these. For example, Salesforce has made this work by giving every customer a standard base schema, and then letting developers build modules on top of that: https://appexchange.salesforce.com/ https://appexchange.salesforce.com/ The hard part is designing a core schema that is sufficiently useful and powerful such that people adopt it, while still allowing sufficient per-user customization so that the system can meet specific customer needs. And then when people start using custom extensions to the core schema, ensuring that all the plug-ins and extensions interoperate seamlessly with the huge number of possible combinations.