Create a External Installation service

Hi, it is possible to create a site to install all the unofficial smartapps and devices type no officially supported by smartthings?

There are developments like http://www.smarttiles.click/ or https://getperch.com/ who can install apps automatically, once a user authenticates and this for free.

It´s is necessary to pay a license to smartthings to allow remote installation?

@obycode has created a wiki page, but is possible to create a installation page?, a way where developers upload theirs projects, and new users can install from there once they select the project and authenticates.

SmartThigs take a lot of time to accept a new develop (more than a half year waiting) and this would be a good way to distribute the projects.

I think is possible to achieve this, what do you think ?

2 Likes

Yes, its definitely possible and no there is no payment to ST required. There has been some talk about doing a full community run store:

…but I don’t think anyone has taken action yet. We could probably set something up on the wiki to do this until someone has time to setup a proper store. I’ll think about what it would require to do this via the wiki over the weekend.

2 Likes

Hi @obycode, I has read the store, but I think that make a businesses is more complex, it´s possible a free site first a good start, your wiki page is great, it has a Unofficially supported devices and smartapps with a github link, would be possible to send that github data to automatic installation ?

Probably not very easy to directly pull from GitHub, but with a couple extra steps from the developer, I think it could be done. I’ll think through the steps over the weekend and post back here later.

1 Like

Ok, so I couldn’t wait until later to think about this :blush:

It will actually be really easy to install SmartApps via a simple website link. I’m not sure if the wiki is a good place to do it though, since anyone can change the links, it may expose a vulnerability (someone changes the link to install some other SmartApp). Also, it should be on a secure site with https. I can try to set up a proof of concept for some of my apps over the weekend.

Ultimately, we would need some way for developers to submit their apps to this site. Once all that is set up, it might as well have ratings and reviews too.

3 Likes

This sounds like a great idea!

It could also work well for virtual devices, and LAN devices like your Media Renderer @ule, but I’m not sure how to make it work for z-wave and zigbee devices.

1 Like

Hi @obycode, where can I find that information, maybe I can help

It would just use the OAuth method discussed here - http://docs.smartthings.com/en/latest/smartapp-web-services-developers-guide/index.html

On second thought, I’m not so sure that this is as easy as I thought… I’ll need to play around with it some when I have time.

I can’t put words in SmartThings’s mouth, but I’m fairly certain that they do not want to encourage automated sharing / installation mechanisms outside their official one where the code gets reviewed & certified prior to mass publication.

Putting too much focus into this workaround is tempting a clampdown.

Do you think so? It could make sense that they need to review and certify an app before they publish it themselves and make it available through their app, since this is like an official blessing of the app, but they could be fine with people taking the risk to install uncertified SmartApps themselves. Compare it to Android, where Google has their official App Store, but they don’t do anything to prevent people from side loading apps at their own risk. Even Apple allows ad-hoc deployment.

From the customer standpoint, it just requires trusting the developer instead of trusting SmartThings.

Yes – I strongly think so.

Apple doesn’t allow it on non-jailbroken devices, right? (?)
Android doesn’t encourage side-loading either. It requires an explicit option to be set by the user.

SmartThings has an extra incentive to avoid mass distributions of unreviewed SmartApps – they can cause cloud performance degradation. That’s not an issue with phone Apps.

Yes, they do, it’s called ad-hoc distribution. For example, it’s what company’s use to distribute an internal app without publishing it in the App Store.

Good … though it supports my point that this is called a “Best kept secret”. As well as my point that mobile devices are isolated and there is no cloud impacted.

SmartThings is too busy to really care about this at the moment, but I have a good intuition. The SmartApp submission process is theoretically threatened by workarounds like this, and if the upper management responsible for that portion of the product strategy is so inclined, they could issue the word to pull it without warning. Corporations are unpredictable and crazy creatures.

I wouldn’t wake this sleeping dog.

I think is just using the tools that smartthings provides, other developers are using it right now, why do no do a better share, many of problem to share a code is that new users have problem with IDE, If the remote installation becomes a problem to smartthings, they can request a validation ( if they are not requesting right now )

You’re definitely right that its possible they might not like it, plus as I mentioned earlier its not as easy as I first thought and I don’t exactly have time to spend on figuring that out right now. So yes, I will leave the sleeping dog be for now. :smile:

:sleeping: :dog:

@ule, the problem is that it is not exactly using the tools that they provide. It is kind of using a loophole that we discovered in the tools they provide. Your Media Renderer could still potentially use this technique too, but it would have to work differently than the current installation process.

1 Like

Again, only in my own speculative opinion, but SmartThings doesn’t really want the average Consumer / Customer to use the IDE either.

There are internal strategy and political issues that are far beyond our visibility. SmartThings’s customer base is a tiny fraction of where it needs to grow to in the next couple of years or it will fail. In the meantime, certain management is responsible for certain features (e.g., SmartApp publication, vs. IDE, vs. risk management, vs., help desk, vs. User Experience, …), and we don’t know which ones have priority at any point in time.

I’d personally like to keep this off their radar as much as possible because I have a “feeling” we are playing with a fire that, if it caught the wrong person’s attention, could get the hose.

I am pretty far along with a proof of concept. It will allow developers to set up there own single click install apps without the need to own or mess with their own servers.

2 Likes

Don’t wake the Dragon!

1 Like