SmartThings needs your help with our new developer site!


#1

Hi everyone. My name is Alex, and I’m the new Product Manager for Developer Experiences.

I’ve heard a lot of great stuff about this community, and so I thought I’d ask you for your opinion. One of the projects I’m tackling for SmartThings and for you, is to create a Developer site to replace this one: http://smartthings.com/developers/

To make this a successful project, I need your help in understanding the following:

  1. What gets you excited about SmartThings?
  2. What gets you excited about working with the SmartThings platform?
  3. What’s the value that SmartThings brings to the table for developers (or consumers)?
  4. What are our strengths?
  5. Why do you develop on the SmartThings platform
  6. What sort of things do you create (examples and pics please)?

Answer as many questions as you want. To be clear, we’re not talking about the Web UI & IDE. (That’s another project.)

Looking forward to hearing from you and thank you in advance for your input!


(Ben Edwards) #2

(Keith Croshaw) #3
  1. What gets you excited about SmartThings?
    How anybody can just jump in and start programming. Zero entry barrier.

  2. What gets you excited about working with the SmartThings platform?
    New devices, new ways to help make life easier and for me to help other developers.

  3. What’s the value that SmartThings brings to the table for developers (or consumers)?
    For developers it’s the promise of a market one day, plus knowing you’ve helped someone. (Consumers receiving this great library of SmartApps and DeviceTypes that developers and SmartThings cranks out.

  4. What are our strengths?
    Specific device commands and status messages being mapped to common capabilities making devices work with any SmartApp.

  5. Why do you develop on the SmartThings platform.
    Only platform that is as open as it is with a nice enough user interface. Really the UI could be better but it’s not as bad as some of the other open platforms.

  6. What sort of things do you create (examples and pics please)?
    I’ve been working on SmartApps and I created an ThingShield project that talks to 433 mhz switches that I’ll one day get around to documenting.


    (Old picture it’s all soldered up now. Just needs a case.)


#4

Lets’t start with this 1 first:

-Ease of access. You need a “Log In” option on the main view of this site which will drill you down to the Web IDE and not this link
This is not intuitive.


(Andrew Mager) #5

Post that on Hackster!

http://www.hackster.io/smartthings


(Keith Croshaw) #6

Yeaaaa I’m getting to it. :wink: I’d like to have a 3D printed case first but maybe I’ll just do it without


(Micheal ) #7
  1. What gets you excited about SmartThings?
    I have to agree with Keith…no barrier to start from day 1 on developing the apps you want/need. However, being able to work with the internal and community developers. Everyone is so open to collaboration.

  2. What gets you excited about working with the SmartThings platform?
    Simply the innovations that both ST and the community comes up with. And I always like it when a new device is added to the approved list :smile:

  3. What’s the value that SmartThings brings to the table for developers (or consumers)?
    A strong community and fairly good documentation (Some would say, however, that it could be a bit better with more examples and fringe case examples of code).

  4. What are our strengths?
    The community and its willingness to share. The company itself in encouraging that behavior and its openness to work with the developers.

  5. Why do you develop on the SmartThings platform
    I found the core functions didn’t give me what I needed, so I created my own unique solutions. As such, I found others had the same needs so I had them submitted for publication.

  6. What sort of things do you create (examples and pics please)?
    Currently working on a few random applications around voice feedback. Also looking at Vox Commando as a voice interface system to get ST things to activate items and get real time feedback over the Sonos speakers.


#8

Yes, thank you!
That one’s already been noted.


(Andrew Mager) #9

Great feedback please keep it coming!


(Jody) #10

That with a little time and effort the platform can accommodate almost any scenario. New additions like video and local processing should open up whole new frontiers.

The community including ST employees. I seem many of them regularly contributing to discussions, above and beyond what you normally expect from company reps.

Again, I think the biggest asset SmartThings has is its vibrant and active developer user community.

  • The Community
  • Open Platform
  • Support is very responsive

Ease of use. I can quickly build solutions using an endpoint SmartApp. Very often several people jump in to contribute within minutes of posting an idea or suggestion.

As far as http://smartthings.com/developers

I think the community should be highlighted more. We need something like Hackster.io, but right on that page. Something that says these 20 things were created just this week using the SmartThings platform. You need to tell the stories of your active developers. Like the starter area in a video game, you should give the user some tasks to accomplish that will guide them through the basics of SmartApp development. Also, create some guides to help developers transition into ST centric groovy. If you are familiar with rails, check this out. If you are familiar with python, look over here.

Remove as much friction as possible and SmartThings will be better for it.


(JJG) #11

Although I would not rate myself as a SmartThings developer, more like a SmartThings advanced user who had by force to make its own Device Handlers and SmartApps for lack of ready-to-use ones, I would like to add my two cents worth of feedback to this thread.

One thing I find VERY irritating as an “occasional” developer is that SmartThings does not correct MOST of the problem reported through support : either support has an immediate workaround which is OK, or they have to escalate to the development team.
Once pushed to the development team, any bug report disappears into this “black hole”, and in my (limited) experience, 90% of the reported bugs are NEVER corrected and completely ignored.
Considering the time needed to report with enough details any annoying bug, this is disheartening and does not contribute at all to build confidence in the capability of SmartThings to improve the quality AND RELIABILITY of its platform; if you browse the forums, you will find multiple early adapters who basically dropped SmartThings because of that.

So to improve cooperation with (occasional or not) developers, I would strongly suggest you provide in the IDE an interface for tracking reported bugs corrections, so that at the minimum one can see if somebody is working on the issue… or not at all.
As a computer engineer I know only too well the cost of a really good professional support, but lets not delude ourselves : the present quality +++AND RELIABILITY+++ of the SmartThings platform makes it completely unsuitable to any application with security or health implications.
And I am not even considering the added risk of hacking through your full Internet architecture…

The present lead you have currently over, for instance, Apple HomeKit, would disappear almost overnight once/if they can achieve a RELIABLE coverage of enough home automation functions.
And your best hope to keep (some of) your lead seems to me to get the best cooperation out of your current base of advanced users and developers. But that cannot be a one way road, and to keep that relationship alive you need to do better than correct 1 bug out of 12 reported (my own approximate stats :frowning:).


(Mark B) #12

I have made and taken down a few things, but here are some that are operating with the cases off.

First is boring, it is just a bridge between my existing ADT alarm system door and motion sensors into SmartThings

Second, we have a Marvel themed workout room and I wired this so that each ‘Gem’ lights with a different motion sensor in the house. My wife or I can tell what activity is going on in the house when lost in 80s workout music or on the elliptical.

My next project is a little more practical, I have 5 Hunter ceiling fans and am making one device that can control the lights/fans from one interface, using a torn down remote. Basically, an Arduino will set the DIP switches (replacing with digital switches) then shunt the correct switch for whatever command. (Even the new Harbor Breeze modules without the DIP switches, still respond once you find its ‘code’). It isn’t very hard, only thing that put this on hold, was I was no Thingshields available for a while (ordered a new one this week!), and a few trips for work taking me out of action.

With the lack of shields, I was playing around with connecting an Arduino YUN base weather sation directly using their REST endpoints… it worked, but I am easily distracted and it is just sitting there. I have a couple of Raspberry Pi’s connected I am not doing anything with also.

For the development side, like most other engineers I know, we love to make things but hate to document it. Especially someone like myself where no project is ever considered ‘done’. I am 99% more apt to document everything in the code itself, than to write a whitepaper, so anything that can make it easier to share silly projects without making it feel like I am working overtime at my day job would help.


(Patrick Stuart [@pstuart]) #13

The openness of the platform and the community of developers and users.

Ability to do almost anything inside an open platform.

Very low cost of entry, easy access to development tools

low cost, open platform

To continue to integrate home automation into my house and help others.

Control4 zigbee device integration. Control4 system integration, generic camera device. Improved Nest driver, Simple sonos control, Better thermostat devicetypes, thermostat scheduling system, games in HA, improved HUE access, local hub to device integration, UDP socket connections to projectors, av equipment, etc.

Since you didn’t ask:

What are SmartThings biggest Weaknesses?
Limited access to core API
Incomplete documentation
Limited UI for device and user interaction
Poor virtual device simulation
No unit testing in IDE
No ability to re-use code blocks in IDE
No ability to publish for my local users for smartapps not submitted for publication, only publish for me.

What does SmartThings need to deliver ASAP?
Hub v2
Better local hubaction support
Websockets on local network
Video camera support
Better UI/UX
Desktop Windows UI
Tablet Interface
Better security (See other threads here)
Local hub querying so no need to go to cloud for local device information

What has SmartThings done that impresses you?
Recent IDE changes, small but significant.
Open communication about issues and changes (not always, but still impresses me)
This forum

What has SmartThings done that upsets you?
Breaks my apps without warning.
Tells me to bring my security issues to the community instead of providing internal process to escalate security issues.
Unannounced platform changes (especially when they break my smartapps)
SmartThings employees that show up on the forum, post one message and then never follow up. Stay and engage the community

In one word, describe your experience with SmartThings?
Frustrating

In one word, describe your feelings about the future of SmartThings?
Patience

As a community developer for SmartThings what do you want to see?
Certified developer program
Paid app marketplace
Way to protect and secure my code
Private GIT repos
Separate Developer forums that are private from normal users
More community events
Videos on how to do things.

Hopefully that helps.


(Ben Edwards) #14

This is “boring”?! OMG - How can we duplicate this for others :slight_smile:


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

The ThingShield / Smart Shield (?) makes integrating anything through Arduino ridiculously easy!

The Shield apparently apparently cinnects to Arduino via a simple UART and C library… So it should be easy to adapt it to any UART compatible hardware, BTW.

$35 is a bit expensive for more than a few, so it would be great to prepare specs, libraries, and device types for simple Ethernet shields, Particle (Photon), XBee 2,… And BLE.


(Mark B) #16

Its only for the hardwired devices, so don’t get too excited. It’s a 12 volt system, so I just use a voltage divider to bring it down to something a little more Arduino friendly then have a sketch that sends a signal-on-change of going high or low (it is inverted in my case). I think I have the groovy and wired sketch up on GitHub already, but can share it if it isn’t. I could look at reading the data lines for the wireless stuff, but I don’t want to go as far as adding another panel to the system like the AD2 stuff, so it would need to be completely passive (which could also mean flakey) I really want to finish the Harbor Breeze ceiling fan control first. I have all the components in and switch mapping now and it is a good labor day project since my wife is out of town.


(April Wong) #17