Hello,
While working on a few test applications, watch faces, and widgets I found that several options were not always available. For example, Background.registerForTemporalEvent can only be run every 5 minutes at most, and Attention.vibrate is not available to widgets and watch faces, and things like that.
I do understand why Garmin chose to make these limitations, as they (and other 'bad practices') can drain the battery a lot faster than expected, giving end-users a poor experience. However, limiting development and options can also make a lot of good ideas fail to come out, and so I feel developers should be allowed to do what they want to make the best applications they can, and users choose if they want to accept them or not - the basic laws of supply and demand.
What I would like to suggest is that rather than saying "no, we won't let you do that", you instead you implement a 'high power' permission for applications that would enable these options everywhere or not. In the Connect IQ Store you could then call out these applications specifically stating "this application uses high power features that can drain your battery faster than my ex drains my bank account" - or something like that.
This would allow developers to use all the available options, and give the end users the ability to be aware of the risk, and choose if they want to do it or not.
But, I appreciate that some other fruit based ecosystems do follow the 'my way or the highway' approach with developers, and has worked out very well for them in levels of stability and experience, so there is an argument to be said for the current approach.