This is the first of a number of posts, Don’t ask me how many or how often I will post. They will all be in the categories
compose. I will also enable a way for people to comment on this.
The desktop is not dead
This is a converation I often have with other developers. Their arguments, correctly, is that the main development of user interaction is the web and mobile. The desktop does not count any more. They say that while using several desktop applications to create those web and mobile applications.
The role of the desktop application has waned in the last decade(s). First the web took over and after that mobile. And I get that. Developing for the web means one rollout to an environment that is completely under your control, Infra and application server are well knowns. Fixing a bug or deploying new features is easy, controlling versions is easy. You don’t have to worry about strange devices in the mobile world, or strange desktop setups like people running Linux instead of Mac’s or Windows systems.
I still believe in the desktop. I still think that creating applications that run native and not in a kind of electron/chromium sandbox. This is why I was involved in TornadoFX some years ago. This project was reborn last year as TornadoFX2, based on more modern java and javaFX.
So what is all of this leading too?
Most of my home automation is running zigbee2mqtt. Which means that all the statusses and actions are published using mqtt. Programs listen to these messages and can respond to it. My main controller is node-red. Node-red with the node-red UI work quite well. Furthermore the integration with Google Home is quite good. Allthough when my esteemed colleagues found out that I have a google mini on my desk in this time of working from home, means they switch on and off the lights :)
Most examples you find about compose are either Android examples or very simple examples like imageviewer, todo app and such.
Handling multiple hot flows coming in from the mqtt broker is a different thing all together. For me, it feels it should be an event driven application where several components will act or not act based on events sent out. But the architecture that Compose seems to have, does not give me a clear path yet.
So these blog posts are going to journal my attempts of making something work.