Tirade for Hubitat devs... TL/DNR: Either provide more support in both process and feature-set to app makers, or make the system actually user friendly, but having an arcane undocumented development environment with zero customizability AND having a system UI from the 1960's for cumbersome Rule Machine routines is pushing me away, and never has appealed to my spouse.
I've been working on building some apps, and have had my fair share of difficulties. Examples: No support for rooms (as far as I can tell - seems to just tag used for the devices page?). state/atomicState variables don't support dictionaries properly (eg state.varName.remove(key)) (not to mention, state/atomicState being weird to begin with). Input buttons (input buttonName, 'button') don't work consistently. There are weird tichy rules about where and how in an app UI for parent->child calls, accessing settings variables, etc. (ie before an app.label is entered, prior to between "preferences" and "page", etc). HTML sometimes sorta works, and sometimes doesn't (ie in section titles), and isn't "supported" (read: Hubitat developers don't care if there's a system bug related to HTML). There's zero customization for UIs, and the existing options are... shall we say "limited". The documentation is just pathetic. There's no support for JavaScript [in app UIs], but maybe kinda sort of use it, if you can figure out how. The #include feature is janky at best - calling it "library support" would be generous. There's no debugging. Often runtime errors don't log correctly, and when they do, sometimes don't provide line numbers. The list marches on.
Sometimes I spend hours trying to debug some issue, only to realize.... I made a dumb mistake. But other times, I realize it's an undocumented system issue. And when there's a fair chance of it being either, it makes it so much harder. With sketchy documentation and zero debugging tools, how the hell is anyone supposed to know? Should I be looking for an error, or trying to find a work-around? To be blunt, to do anything remotely complex, there's a LOT of workarounds needed.
When I ask questions or mention a problem (which TBO is rare) the problems are just ignored. Don't get me wrong, I usually get an answer and quick! But the response for anything beyond "wtf is the problem" is always "that's not a priority" and/or "only a few [of the few crazy enough to try to program for Hubitat] are likely to ever have a problem". For instance, when state variables were behaving bizarrely, after hours testing and debugging, I go searching the forums and come up empty. Look at the documentation, nothing. Ask in the forums (taking the time to mock-up and test an example), and (quickly) given the answer. Thing is, I missed a forum post... from 2021. In at least three years after being identified as an issue by a user, not only has it not been fixed but it hasn't even been documented either! To be clear, this is a BUG - no programmer should just magically know that state variables that look and act like variables aren't somehow actually variables! edit: And how often do people ask about state vs atomicState? Getting answers is great, but fixing the problems would be greater. /edit
I'm not going to pretend like none of my issues aren't related to my programming skills.... I won't argue that some by themselves aren't minor issues (including the example of state variable). But, I've seen no interest in actually addressing issues for developers either. Hubitat, you need to figure out which way you want to go. If you're aiming for average end users (like my spouse) the complete lack of user-friendly interface won't allow it. She won't touch it. You have a LONGGGG way to go. If you're aiming for real power users, you don't have the development environment for it. I'm damn frustrated and considering bailing out. Why waste so much time developing an app in groovy that has pretty much zero portability for... maybe some day, having my apps used by a few dozen or maybe hundred users? Since it's not user friendly enough for my wife, and I'm not given the tools to build something user-friendly enough for her, seems to be the target audience is ... who exactly? A few people who are already Hubitat super-fans?
edit: I know people will say "Well, don't make apps. Just use Rule Machine." Well, first off... This isn't for you! Second, I've tried. For anything other than simple If X AND/OR Y, THEN Z sort of stuff, it's too difficult to use, and still has the same issues - finding workarounds and making compromises to suit it's limitations. /edit
Hubitat, either rebuild the platform with a nice system UI, making Rule Machine/Basic Rules [edit: correction, Simple Automation] easy enough for normal people to use, or fix the development environment so that we have the ability to do it for you.