Now that’s funny, you just quoted Alex…
Gonna stay away from this topic because this thread is invoking the feels. Need to stick up for my peers.
I don’t think your assumptions in regards to velocity and resources spent on maintenance are true. I think there is increased velocity overall from engineering though most of it is transparent to users. SmartThings went through a period of fast growth and feature development. When an organization commits to that approach the result will always be the same - technical debt. SEA (Samsung) & Robert Parker recognize this and have put us into a position to repay that technical debt.
One way to repay this technical debt is through refactoring & optimization of the existing code base. I would say this chimes more with the maintenance approach that you mentioned. We look at the data, identify deficiencies & make updates to resolve them. There are limitations to what our current stack can support though in terms of performance, reliability & deterministic behavior. In some cases, regardless of whatever optimizations that we could make the choice of technology will never be able to perform at the standards that SEA and Robert Parker expect. Which are at the levels that a mainstream consumer would expect - it just works. We are looking at solutions that will work for the long term and reliably scale to millions of users otherwise taking this time to pay off the technical debt would be a complete waste.
These types of solutions aren’t being created in a day, a week, or even a month. They require cross functional teams to re-architect services or design new ones. They require us to reproduce load tests presented in white papers before we even feel comfortable to move forward with a technology. Some of these services require close collaboration with teams at SEA. Some of these services have already rolled out to production and account for some of the relief that the platform is seeing. Some of them have not been released to production yet but account for critical parts of the platform. We are fixing and building the foundation upon which new features can be developed reliably.
@Barkis has it right about the company still going through a transitional period. Robert Parker as the new SVP also brings a huge cultural shift. Sure, there are plenty of growing pains as we go through this period and missing platform features but the atmosphere that I feel in the office and when talking to the majority of community developers is one of optimism.
Nicely said, @vlad. As someone who lived with a lot of “technical debt” over the course of my career, your comments resonate clearly. Thanks for the follow-up & good luck to all of you as you move the platform forward…
I think many if us are seeing the fruits of your efforts and that only fuels our impatience to push things forward. It is hard for some veterans to accept change and is even harder for some power users to be in the dark, when for the longest time we were served up dreams that never materialized and we know how well that went. A healthy balance of openness and restraint goes the long way. Wish you guys good luck and know that many of us have your back!
Obviously, I’m not an insider and cannot be the judge, but from my 20+ years of hardcore software development experience this almost never works. I’m sure Robert Parker is very smart and capable dude and has best intentions in his mind. The reality however is once you recognize that you’re up against architectural limits, you’re done. No amount of refactoring and optimization is going to solve it. It’s almost always better to freeze the current design and start fresh, learning from your mistakes. It’s painful and hard, but it’s the only way. Good luck to you all, anyway.
That would be my expectation as well. As I’ve said previously, as an engineer I would give Robert Parker 12 months to fix processes at SmartThings and move from a proof of concept company to an actual consumer product company.
Of course, as we all know, engineers don’t usually get to make those decisions. So I expect Samsung will give him less time than that.
But it certainly wouldn’t surprise me if the big decision facing everyone right now is whether they can release SmartThings features for the December 2016 television sales period. And more specifically, can they release SmartThings features for the December television sales period that will help sell Samsung cameras? Because then they have a CES story and in a sense they leapfrog HomeKit, which is going to have cameras but probably not cameras integrated with televisions.
But they’ll still get asked a lot of questions, at least at CES, about the gear 3 integration (or lack there of).
And the EU legal restrictions on picture overlays (pop-ups are considered a form of censorship if they occur over live TV-- you can do split screen, but not overlays) make it hard to design a feature that would work in both the EU and US. So I’m sure that’s an extra challenge.
But I guess my main point is they can create a splashy story just from features they’ve already been working on, but only if they can provide reliability for a really large market. And that does require a major process shift.
Now that I can argue about all day but that would be off topic… I’ll just leave this here: http://www.joelonsoftware.com/articles/fog0000000069.html
Yes, there’re risks involved and it does take balls to do it, but I’m pretty sure Apple would not be around today if they wouldn’t ditch “classic” Mac OS. And let’s not forget Blackberry who lost its business because they’ve stubbornly clung to the “proven” but limited architecture.
I can totally understand ST’s focus of a team on platform stability. It appears to be paying off as well, as my system has been very stable for quite a few months now.
Thank you ST for improving the platform.
What I can’t understand is why ST doesn’t appear to have a team focused on exploiting any of the features and local processing potential of the v2 hub hardware. Implementing local processing capabilities on the local hub hardware for custom SmartApps and DeviceTypeHandlers would seem to go a long way toward relieving strain on the cloud server infrastructure. Even if this was enabled only for “developers” willing to assume the risk of having to reset their hubs should their code lock the system up, it would be a huge step forward.
A cloud-only based architecture will never “just work” for the general consumer. Local, deterministic, real-time processing is the only way to guarantee reliability. Use the cloud for cloud to cloud integrations, but use local for everything else. I have developed real-time manufacturing control systems for the past 25 years. We always use real-time operating systems to ensure robust, reliable process control.
I agree with the points about the advantages of local architecture, but I would have to respectfully disagree with this particular sentence. Echo, Siri, hey Google, Netflix, and amazon prime video are all cloud-based and certainly reliable enough for the general consumer.
There’s more to design than just where it runs.
Absolutely nothing, my point was, my system has been less stable over the last 3 weeks than the last 3 months and Ady624 has been coding around the ST short comings for months now. I applaud his efforts and am amazed at how well he is able to do it on a system that is not very stable
I hear you JD, however none of the services you mention has promised a home security platform or reliable home automation. All of the cloud-based platforms you mentioned have had plenty of outages as well. Downtime and overloaded servers are inherit in a cloud-based architecture. Why else did ST design the v2 Hub with local processing, other than to improve reliability, up-time, and performance of their platform?
While others may disagree, I find the Nest Thermostat has the correct compromise between local processing, and cloud-based connectivity. At least I know that if the Nest cloud is down, my thermostat will still heat and cool my house. If the cloud is up, I can integrate with other platforms and remotely control my thermostats. It would be even better if Nest opened up a local Network API to allow integration with other local systems (e.g. a ST v2 Hub! ;))
I don’t use SmartThings as a home security solution that I depend on daily, as I know and understand the limitations of the platform. I also don’t entrust it to lock/unlock doors, or automatically open my garage door when I arrive at home. I primarily use SmartLighting (local processing) to automate some lights and SHM notify me if doors/windows are left open for too long or if a Leak detector senses a problem with my AC unit. SHM also notifies me of unusual activity while we’re away from home for extended periods of time (via manual arming/disarming), but I can’t use it daily as it doesn’t support entry delays.
ST provides great value to me, especially as a hobbyist. It is the best all-around platform for dvelopers/hobbyists, and that is not lost on me. I just know how much better it could be if they spent some time exploiting the full potential of the v2 Hub’s local processing and I/O capabilities. They could even make it a beta program to have real users help to work out the wrinkles with allowing developers to run their own code locally. What do they have to lose? It would be so encouraging to developers to finally see some progress on local processing, after 12 months of absolutely zero progress (other than some bug fixes to SL and SHM).
[quote=“ogiewon, post:52, topic:56400, full:true”]
All of the cloud-based platforms you mentioned have had plenty of outages as well. [/quote]
Not at my house. I’ve had the echo for about 18 months, and it’s had one morning when it ran slowly for about two hours. And that’s it. I use it all the time and I’m home almost every day all the time. ( I did have to call support one other time when a command I had been using failed, and that required renaming a group, but that was it.)
Why else did ST design the v2 Hub with local processing, other than to improve reliability, up-time, and performance of their platform?
Market forces, I’d guess. Why else release it with almost no local processing? Being able to say it had some local processing ticked some box for some press release somewhere. But they didn’t actually impact the operation of the platform, or they wouldn’t have had the meltdowns last November.
They knew HomeKit was coming, and that it does run local except for out of building requests. They wanted industry analysts to check the local processing box next to the SmartThings name as well.
If they really cared about local processing, you’d be able to use the mobile app locally. The fact that you still can’t almost a year after V2 was released shows that moving to a local architecture has not been a company priority. (As the Buddha said, “Your life is your philosophy.”)
That may all change now that Robert Parker has joined the company. Or they may go to a reliable cloud-based platform. Speaking just for myself, I don’t care which way they go as long as they end up with a system which has an MFOP (maintenance-free operating period) of at least six months. As a customer, I’m just interested in the outcome, not the road they take to get there.
Based on CEO’s statements prior to launch they did intend to run all or most of the smart apps locally, but apparently ran into architectural constraints that cannot be overcome by “refactoring and optimization”. That’s why there’s no progress almost a year after V2 launch and most likely will never be. That’s the kind of an architectural brick wall situation where you do need a bulldozer and, unfortunately, I don’t think Robert Parker is it.
And both pre and post launch visionary optimism by the now “retired” CTO. SmartThings needed this optimism and vision to get through its first couple of years, but then and now needs better execution skills… Hopefully they are engaged.
And anyone that has ever been in that position, or has even the slightest clue, knows that is complete bs. Sure, they operate independent and they make their own decisions… All with Samsung approval.
More than likely he’s sitting on a pile of cash enjoying that Jack.
When a CEO fails on a promise, the company fails on a promise.
Skipping or not invited? SmartThings Extend is at least 6 month late. That alone would make him very unpopular among Samsung top brass.
I agree, new tech is not going to occur over night. There is a process. And normally that process is only visible to a user via a change in performance.
I see ST a tech that grew from a garage into something that was awesome. Then, before it’s time was due, ST was bought by a huge tech company… And with that came a customer base that the current tech couldn’t handle.
I see you guys working your butts off to bring the tech into the reality of the expectations.
I think you guys are doing great, that’s why I’m still here.
My concerns… Well, those lie with the leadership.
I think the tech is solid and transforming to meet reality.
I think the company is solid and transforming to meet reality.
I think the leadership is… Absent. And that’s a very bad thing.
My prediction… Which is worth nothing… ST will eventually be absorbed completely by Samsung and ST will be a thing of the past. Which is ok, cause the tech WILL be mainstream. Not today, but not all that far in the future.