Does this mean that once certified, every update @bravenel pushes will have to go back through the certification process?
Depends. If itās a couple line bug fix the process would be really short.
New feature though would need more testing.
To be frank, there isnāt any criteria, yet. Since code on the hub canāt be compiled on demand. There is a parity issue. If an app is submitted a new firmware would have to be spun off just for that app.
We are however, looking for ways to make apps and such mirror each other on the hub and in the cloud. Thatās when this conversation can change.
Ah⦠right. Thanks for the frank answer, and, indeed, that makes the process cumbersome.
I can imagine, though, that a āsmall few, but high value SmartAppsā, could, once they reach a certain definable level of stability (ahem⦠at least as stable as similar profile SmartThings features?), then, I would like to think, that including them in the Hub V2 firmware image shouldnāt be off the table of possibilities ⦠no?
Or just too tough to juggle?
Off the table completely, no. My priority at the moment though is getting through the submission queue. We can tackle that next.
awww drat. I must have missed this in previous discussions. I didnāt realize the apps had to be included in firmware.
This absurd world of where apps and core firmware have to be packaged together is still beyond me. Even if apps canāt be compiled on the hub, it doesnāt seem unreasonable that they could be compiled in the cloud, then the binary downloaded to the hub into a separate container (address space in the EEPROM) from the core firmware.
While things may have gotten off track, I do appreciate this conversation being public. Iām definitely not a developer, more of a spectator who can barely code āHello World,ā but I enjoy seeing that aspect of it. Itās part of what makes this forum so great!
Thanks for all you guys do (ST and devs)! I learn all kinds of stuff just seeing discussions like this.
Do you guys do informal reviews of code invite developers to put apps and devices through the submission process? The reason I ask is that I am not a developer and havenāt been formerly trained as such.
There would be no point where I would be happy enough with my code where I would feel it was of sufficient quality to submit it.
I just wanted to add my 2 cents. Iāve been on this forum for a few months, read a LOT both old and new and have a very (I think) robust system already setup with all the wonderful help around here, both ST and the developers in the forums have contributed significantly to my understanding of what a smart home can and should be.
I work for a large corporation, I feel pretty positive I understand the pressures Tim and all the other ST folks are under, from all sides, corporate and consumer.
The fact that Bruce, Tim, Jody, Terry, etc, etc are having these open conversations, even with some of the, ahemā¦angstā¦pointed at the āotherā side, is a tribute to the potential of this platform.
In my organization, we have so many siloās and each is only allowed to do one single thing and never step out of line, the difficulties in getting a perfect (heck, near perfect? slightly good?) product to the end user is basically impossible. We arenāt allowed an open forum like this to communicate ideas, problems, thoughts, and disagreements.
Iāve gone from Insteon to Wink to ST, and I feel like staying right where I am, simply because of the interactions I see daily on these forums.
I donāt intend to sound defensive or maybe a bit selfish, but I donāt want anyone to loose perspective on what all of you are achieving. We all have our issues with this platform, but Iāve never seen this level of cooperation and general comradery between both sides of the fence with any of the HA stuff Iāve played with. I really want to see it succeed!
To be honest, coming from my background, going into a platform owned by Samsung, did not give me the warm and fuzzyās. All of you have turned my view around.
And yes I would love RM to be local over anything else, just to stay on topic. 
Iām somewhat āformallyā trained, but it gives me the heebie-jeebies to have someone āreviewā my code. I think back in my school days it mostly mattered that it worked; with just a quick glance that just a few decent conventions were followed (comments and such).
SmartThings has published (and is expanding?) the SmartApp and Device Type Handler guidelines for publication, and they are not too onerous.
But, most importantly, you have an entire Community of fellow Developers here that are more than welcome to collaborate to help make sure your ideas and/or actual work can advance through the publication process. Itās usually a mutual learning experience, as I far as I have noticed.
I get the point of code that just works, mine usually does
but itās just that I am very conscious of using expensive queries etc that could be better optimised. This point I know Iām a bit ignorant to at times
Extra eyes are usually the trick. Iām presuming that SmartThings will appreciate (and be able to review more quicklyā¦) code that has already passed a āpeer reviewā or other collaborative iterations.
PM or post a new Topic for any SmartApp / Device Type that you think could use some tightening up or whatever, especially if itās something that youād like to share more widely and/or submit for publication.
Well that would pretty much be everything Iāve written and posted, but in fairness the most important for me would be the device types I have released, as they are the blocker for locally executed rules if Rule Machine is approved for local execution
PM me your code. Iāll look at it for you :).
I have concerns about this. Today @bravenel updates his code several times a week with bug fixes and itās extremely easy to do via github integration for me. Will these updates be pushed down automatically once it is published? What happens to all of our rules that were programmed and installed when we side loaded the app ourselves via the IDE? Do we have to uninstall our version and install the published version? Currently there is no way to back up the rules and restore them, which @bravenel has stated is a current challenge as I donāt believe there is a technical method to do so. Is this being thought out as part of the publication process? Certifying and publishing sounds reallly promising, but what problem are we trying to solve here?
Perhaps we need a migration tool ;).
I understand that ST is ālooking for waysā to mirror code locally. Iām just gob smacked that this wasnāt a baseline requirement in the design of the v2 hub.
Since my primary focus has been primarily based on getting things to run reliably I was chasing my tail for awhile. I overlooked local vs cloud execution as I assumed most things were running locally. Over time I started to figure out things were bouncing to the cloud and back but now I need to figure out what is cloud and what is local.
Where in the IDE can we see what devices and smart apps run local and which are cloud?
For example I know RM is cloud (for now) but what about my genius wall dimmer? Then expand that to @bravenel dimmer with reset which I use extensively. The reason I ask is that once RM goes local will I still be cloud constrained due to any given device?
Devices running local:
https://graph.api.smartthings.com/localDevice/list
SmartApps running local:
https://graph.api.smartthings.com/localInstalledSmartApp/list