Why the cloud?


(Ryan) #1

Excuse my ignorance, but I am just curious as to why so much of this system is cloud based? Since there is no subscription fee it doesn’t seem to be monetary. Many of these basic tasks seem like they could run locally without a hitch like many raspberry pi type setups. I’d think Samsung would have more to gain selling a solid locally controlled product so what exactly are they gaining by keeping this in the cloud?


UPDATE: Recent SmartThings User Experience & Platform Performance
A Message from Alex on Platform Improvements and Our Plan Forward
UPDATE: Recent SmartThings User Experience & Platform Performance
#2

{getting the popcorn… :wink:}


(Glenn Morrison) #3

That’s the million dollar question!


(ActionTiles.com co-founder Terry @ActionTiles; GitHub: @cosmicpuppy) #4

There are valid technical and cost management reasons for being cloud centric, but there are good rebuttals for those too. Still… Hardware (Hub, etc.) sales may eventually be a trivial revenue source. Samsung TVs may have minimal SmartThings hardware and be more like Hub V1 (no local processing).

###So the ultimate reasons for Cloud centric?

  • Customer lock-in (there will be fee based services; subscription and otherwise), so there is a lot of value to making it hard (friction) to switch.

  • Data mining. If cloud independent, then it is harder to convince Customers to willingly give up personal behavior and demographic data… And the ability for direct and indirect sponsorships, advertising, etc.

  • Combine both = partnerships. Home Insurance would love to data mine and update risk profiles and offer competitive tailored policies (and automobile … BMW partnership already here). Property management… Etc.

And dozens of existing posts discussing this exact same Question with mostly the same Answers and valid arguments for & against.


(Eric) #5

There are a lot of threads on this for example:

My view:

  • smartthings chose the cloud for “scalability”.
    – I expect they saw the problems vera and other systems had with provisioning enough local resources, and this drove their decision to do more in the cloud. (the vera problem was not enough memory, etc to run many automations)

… However using the cloud comes with its own set of scalability challenges, which we are all living with now. These are resulting many times in a non-functioning system.

As other threads describe, more local processing needs to be (open question is there enough resources to do much more local processing…) done.

ST is in a very interesting rock and hard place.


(Mike) #6

It is also easier maintaining 1x cloud platform than cusomer service 100k single users.


#7

Meanwhile, just wanted to mention that there are two separate questions here.

One) why a cloud architecture?

  1. why this cloud architecture?

To take the second one first, I think the answer’s pretty obviously just inheritance. The start up that Samsung acquired was using it when they acquired it.

Samsung actually has a great answer to the first one, an architecture they were working on before they acquired SmartThings, called SAMI. They have since renamed it “the SmartThings open cloud.” But it is not the same one as the cloud that your account currently runs in.

Some community members believe that Sami will be unsuccessful in the long run and that the existing SmartThings cloud will become dominant.

As a former network engineer, I have the opposite opinion. I think the SAMI stuff is both solid and interesting, and that eventually it will form the foundation for Samsung’s home automation efforts. But who knows, we’ll just have to wait and see.

Back to the first question of why use the cloud architecture at all. There are two good reasons. The first is when you have activities that require massive computing power, much more then could be justified for a single installation. Amazon’s echo is a really good example of this, because voice recognition is one of the most complicated transactions there is. Most voice runs in the cloud, including Siri, hey Google, Cortana, etc. It’s just not cost justified to build that much processing into a single unit for a simple Home application.

The second is some of the stuff talked about at the open cloud link above: that it becomes very easy for third parties to build their own connections to the common cloud. So if a new smart device manufacturer wants their device to run with SmartThings, and they were using the Sami cloud, it would be very easy for that manufacturer to bring their product to market already SmartThings capable.

That is not, however, the way the current SmartThings cloud works.

There are some other business model theories as to why Samsung might prefer a cloud, but I’m willing to go with the technical ones. I think Amazon Echo, Netflix, Siri, etc. all clearly demonstrate the viability of cloud-based architecture for many uses.

But there are many different clouds out there. A theoretical good is not always matched by a particular implementation.

For home automation in particular, the two value adds that you get immediately from having at least some cloud operation are voice control and control from another location. Being able to check whether the house door is locked after you’re at the office and then locking it, or using a camera to determine just what set off the motion sensor in the living room are both high-value features that require the cloud. Also getting a notification if your smoke alarm goes off or a wellness check notification if an elderly relative hasn’t had lunch by 3 PM also require the cloud.

I do like having local operations as practical, but I’m not opposed to using the cloud for A number of features, as long as it’s a reliable, scalable, speedy cloud. Like Netflix or Amazon

JMO.


(Geko) #8

I’d also add that,
3. The cloud solves the problem of traversing the firewall, i.e. allowing remote clients to control devices on the local network behind the firewall.
4. The cloud allows to integrate devices that are distributed across wide geographical area and/or are mobile.
5. The cloud is supposed to make software update and maintenance simpler.


(Doug) #9

This.

Maybe a 100% local device would work great if you never use SmartThings outside of the confines of your home (which, okay, I get that, and that would be nice for it to switch between local and cloud processing automatically), but your mobile device cannot talk across the internet, through your home internet (which likely has a dynamic IP for most users), through the firewall, and to your hub, at least not without some significant configuration that most people don’t know how to do.

Going to the cloud side-steps the process. Your hub is talking to the cloud server, and doesn’t need to worry with firewall configuration (both on your computer(s) and your router(s)) because a handshake is already established. The app can say “do a thing,” it puts a short message on the cloud (web server), and once the hub picks it up, it executes it. Because of the speed of modern server farms (“the cloud”), this happens nearly instantaneously.

However, this is also why things like LiFX bulbs (which are hubless WiFi devices) and IFTTT rules can be just a little bit slow. Sending a message from SmartThings to do something with IFTTT (say, via a momentary tile, for instance) means sending a message to the SmartThings cloud, then that generates a response, that sends a message back to the hub with its status. IFTTT then polls waiting on that info, which then needs to reply and do its thing. Doing this locally would be of no benefit, because certain devices only communicate via their cloud provider.


(ActionTiles.com co-founder Terry @ActionTiles; GitHub: @cosmicpuppy) #10

Respectfully, I disagree with the overall sentiment in this statement, Doug.

The Philips Hue system has no general dependency on the Cloud and only uses it for Firmware upgrades, optional upload and download of scenes, and for Dynamic IP resolution to allow you to access your Hue Bridge (and, I presume, perhaps some tunneling over an open HTTPS connection so that no Firewall or Port Forwarding configuration is required). This method is used by many vendors, including modern webcams. The Hue App automatically detects when you are on your LAN without using the Cloud for this detection.

In other words, SmartThings could technically:

  1. Provide the Cloud as a fully optional method of tunneling through to your Hub in the mobile App (when you are not on LAN or VLAN). This would also facilitate any other authorized cloud based web services like IFTTT and Alexa.

  2. #1 is optional because for those with just a bit of technical skills, setting up a dynamic DNS account and configuring a single Port Forward on their router is not rocket-science (if such households wished to eliminate any risks or concerns they have with method #1). This is a common way that mass market products like Foscam provides for mobile access to camera feeds (though they now provide option #1, as well, for newer models).

In other words, saying the SmartThings Cloud is necessary for mobile Access is an excuse, not a reason. Sure, the Cloud is a convenience for this function, but if so, then the Cloud dependence could still be minimized to provide this functionality and nothing else (or just other non-critical functions like hub firmware upgrades, etc.).


(Doug) #11

That’s incorrect. The Hue Hub may, at times, work locally, but the Hue Hub connects to the cloud. It basically works as a pass-through, bypassing your firewall by means of reaching out to the Hue services. Otherwise, you’d have to configure your firewall and such in order to connect to your Hue bulbs from outside of your network.

Agreed, but working in the cloud allows one to skip those steps. To you or I, a port forward is normal terminology and easy to approach. To others, this can be terrifying, afraid you’ll “mess up the internet.”

Again, I agree that it should work more locally and handle more things locally, but I certainly don’t think the cloud is an “excuse,” which is asinine. There’s a reason cloud services are more popular, and it’s because it makes everyone’s lives easier. I don’t know about you, but I don’t want to dig into my router unless I have to, and I don’t want to dig into my ST configuration if I don’t have to. I want it to work the first time, and work easily. But for those that can afford the time to configure everything step by step, it should certainly be an option.


(ActionTiles.com co-founder Terry @ActionTiles; GitHub: @cosmicpuppy) #12

If you don’t want to connect to your Hue Bridge / Bulbs from outside your LAN, it doesn’t need the Cloud. That is what I said and meant. I also believe that the some limitated automations available (scheduled lighting) will run without an Internet connection.

Fact is that you cannot even use the SmartThings App to control your basic SmartThings connected devices without the Internet. This is vastly different than the Hue App which is completely LAN capable (cloud independent when on the same LAN as the Hue Bridge).

A disagreement on semantics (“excuse”) is no reason for an insult, sir.


(Geko) #13

That’s of course, is a theory. In practice however, your milage may vary, and SmartThings is a poster child of the cloud gone wild. :smiley:


(Convinced ST will never be unbroken…) #14

Sorry, but you’re mistaken. The Hue bridge connects to the Internet solely for scene sharing, remote operation, and updates. Otherwise, it is local. Even scenes and schedules are stored on the bridge.

Even the API that all third party apps use to control Hue is completely local, including authentication. I control my Hue setup almost exclusively through this API and have no failures, with or without internet.


#15

Item #3 may require “a cloud” but does not require “cloud processing”. Vera has a cloud component for remote access and notification services but it does no processing. A Vera cloud outage just results in communication failures. There are lots, well, some vera users who have their system detached from the vera cloud and use their own vpns and apps installed on the vera for notifications.

The vera style of cloud still enables all the other scenarios, up to and including voice commands. Vera doesn’t directly support voice commands but relies on 3rd party mobile apps like Imperihome to use Google’s voice features in Android and then pass the parsed commands to Vera’s cloud and ultimately to the hub.

You do have the fact then that the total complexity of the vera user’s system is limited by the processing power of the local hardware. A smartthings user should expect their hub to have a longer functional life as features are added to the cloud. That means smartthings plans on releasing fewer devices over a given timeline as long as existing devices have the routing capacity. That will drive device costs down dramatically over the long haul but means an eventual service charge is a necessity as cloud usage will increase both with number of users and the ever increasing average complexity each user expects.

Vera, in contrast, will need more device models as their users expect increasing complexity, however their cloud expenses scale only with number of users. This makes it more reliable, easier to maintain, and any eventual cost significantly lower.

I think both vera and smartthings will start charging for their cloud. Vera’s cloud should be significantly cheaper lowering the lifetime cost of features. If vera is not cheaper than smartthings cloud, either vera is skimming or, more likely, smartthings is subsidizing their cloud by selling user data. Time will tell.


(ActionTiles.com co-founder Terry @ActionTiles; GitHub: @cosmicpuppy) #16

Of course they are / will. If not selling externally, at least sharing with Samsung


#17

I didn’t write items three through five. @geko did. Please fix your post. :sunglasses:


(ocpd+adhd+alz+md+hfa+fms+lol=me :)) #18

I know this thread is a duplicate, and so is the following question, but I have just missed the response somehow. Please be gentle lol …

I get all of the very valid reasons for having ‘Cloud’ in the mix, and I don’t necesdsarily have a problem with it (assumign it’s ‘done right’; whatever that is in this context), but what I don’t understand is, why not have the primary, default, actually active processing happen locally, and then upload history/logs to the Cloud (so they can do whatever data mining or anything else they want to do) and maintain the connectivity for the convenience factor of enabling non-techies to connect with their hub when away from the network it is on?

  1. Local Processing
  2. Cloud Upload of any/all/whatever data ST needs/wants
  3. Cloud connection for remote access

I also realize that my view of this is fairly simplistic and a little bit naive lol


(Geko) #19

The original SmartThings hub was intended primarily for remote monitoring with very limited control functionality. Therefore it was designed as a very simple and cheap to manufacture “thin client” with all business logic residing in the Cloud. This made perfect sense within the scope of its intended purpose.

Over time, SmartThings turned into a general purpose home automation platform and as such its monitoring function became secondary to automation and control. However, it’s cloud-based architecture remained unchanged, which is the root cause of most of the problems we’re having today, imho.


(Mike T) #20

The original SmartThings hub was intended primarily for remote monitoring
with very limited control functionality. Therefore it was designed as a
very simple and cheap to manufacture “thin client” with all business
logic residing in the Cloud. This made perfect sense within the scope of
its intended purpose.

On the kickstarter page at https://www.kickstarter.com/projects/smartthings/smartthings-make-your-world-smarter/description they said the following

We want to free physical devices from the iron grip of the few who
understand the ins and outs of firmware. That’s why SmartThings will be a
completely open platform. Our core mission for SmartApps is to enable
developers to unleash their creativity in the real world just as easily
as they have been able to on the web and mobile devices.

SmartThings makes it easy to connect the things in your physical world
to the Internet. You can monitor, control, automate, and have fun with
them from anywhere - at home, office, or on the go.

My reading of this is that automation and control was there from the start.

I have to admit I didn’t read thru all the previous threads about “why cloud” so maybe this has been said before. My explanation of “why cloud” is that its the herd mentality in action. The founders of SmartThing did a lot of admirable things, bringing home automation to those without the skills or time to set up a product such as Mi Casa Verde. But in 2012 (heck, even today) the push was to put it “on the cloud”. All the cool kids were doing it. And if you’re trying to build a startup, especially in Minnesota, then the bright engineers and programmers you want are all going to be much more drawn to a company that says “we’re going on the cloud!!” than one that says “firmware engineers wanted”. Founding a company is a lot of hard work. A belief that you’re riding the wave of the future, both as a founder or employee, help to ride out the bumps along the way.

A lot of what seems like prescience and skilled management turns out, in my cynical opinion, to be due just to luck. Look how many companies grew like gangbusters for a few years then become ho-hum or even crash and burn, the CEO still making the same kind of decisions he did when he was acclaimed as a genius. Did he lose his touch? My answer is no. The CEO happened on the right strategy at the right time. No matter what reasons he professed for choosing it, there were CEOs of other companies that argued just as passionately for what turned out to be the wrong strategy at the time. It was all just blind belief and luck. So regardless of what rationales are offered for carefully considered decisions, my belief is that SmartThings chose a cloud-based approach just because they wanted to. A decision no less valid at the time than the decisions most companies make, even though experience has proven it was not a great choice.