SmartThings Platform Developers Perspective

API

Web

The current system of building one’s own API through SmartApps gives one the ability to create a wide array of solutions, but it does not cover everything. I would like to see access to more of the “Core” API accessible to developers. SmartThings as a platform could grow and innovate much faster if the developer community were enlisted to create solutions to problems like dashboards and control panels. SmartThings the company cannot possibly build the client that is all things to everyone. Allow developers to fill in the gaps. Imagine solutions that are tailored to the elderly with large easily readable buttons, or for the sight impaired with all menus and buttons easily readable by screen reading plugins.

Local

There is not a local API but it has been much requested. A local API would allow many innovations like control panels and local interfaces. I think allowing SmartApps to expose local rest interfaces could meet the needs of most developers. According to the September 2015 release FAQ, some sort of local interaction is under consideration. I would also like to see access to more of the “Core” API here as well.

Documentation

The documentation has improved over the last year, but there are areas that if improved would lead to greater developer happiness.

SmartApp Guidelines and Approval Process

There is a single page devoted to what is very complicated topic.

Does this SmartApp duplicate an existing SmartApp? If so, does it improve the current SmartApp?

This is something I would like to hear about from other developers. Is SmartThings going to move in the direction of one SmartApp for any given scenario? How much variance is needed to justify a new submission? Personally, I think it would be better if SmartApps were reviewed only on a functional level. By declaring that there is only one official way to solve a given problem, you are stifling innovation and excluding developers from the marketplace.

Improvements could be made here by laying out very specific guidelines for submission and making a few changes.

  • List specific areas that should not be duplicated
  • Develop detailed style guidelines to help developers adopt a common design language
  • Elaborate in communication with developers about why the submission was rejected
  • Be transparent in the review process

Examples

Walk through building solutions with a screen cast. Allow comments.

A perfect example

Marketplace

Much has been discussed over many threads about what is down the road for the marketplace. Here are some requests and suggestions.

  • Search and Discovery
  • Ratings
  • Versioning
  • Web Interface with ability to browse and install.
  • Comments
  • API for the Marketplace

Selling Apps

Creating a path that will allow developers to sell their wares in an open market is becoming an absolute need for SmartThings. Open marketplaces have proven time and time again that they are the best generators of innovation. Is SmartThings as a platform going to remain a silo where new apps and devices are required to be completely individual and approved, or will it be a garden where there are many different flavors of the same idea? I understand the need for quality control, but I think a balance needs to be struck between code review and allowing the market to decide which offerings it wants.

Developer Education

The bi-weekly developer chats need more development and less tech support. Take @pstuart’s example with Live Code Fridays. How do you generate interest in new developers? Put the tools in their hands and show them what they can do. Use the dev chats to talk to developers about the real solutions they are building. Show off a new creation on every call.

Video the workshops and presentations for the developers in the flyover states. Many developers are missing out these events.

Communication

Give developers more notice about breaking changes. Use versions on the platform API. Give definitive life cycles to the versions within reason. Much was known about developer impact leading up to the release of Hub V2 and the new app and very little was shared. There should have been developer created solutions ready to go with the launch of version 2.0 of the app. Had there been an developer’s insider program, we would have had SmartApps that take full advantage of all new features on launch day.

This is meant to be a conversation starter.

29 Likes

“Like” is not strong enough sentiment for the appreciation I have for this Topic and particularly the level of detail and clarity of every point in your introduction post. Thank-you!

2 Likes

Jody,

I especially like how detailed it is as well!

I think you may like what we have on the horizon.

That being said, thanks for this thread! I will be watching it ready to have some good conversation on how we can really help you guys!

3 Likes

Hi @jody.albritton, I also support a strong marketspace so that we, as developers, can monetize our development efforts.

I’ve been working hard for more than a year on different device handlers and smartapps, and I’d like to legitimately get paid for them.

My wife is getting even more impatient, as she understands the concept of “working for free” to a certain extent given the time I spent coding in the past months.

Regards,

6 Likes

My wife does not understand the concept of “working for free”. It was fun while it lasted, but after a year it’s becoming more of a chore.

1 Like

@625alex, I think that my wife is about to get to that threshold… What are the early signs :sweat_smile:??

First, there is the look. Then, there is the sigh. You will know the third…

5 Likes

Oh noooo… The couch? :slight_smile:

2 Likes

OK, I missed the early signs… I think that I’m in deep trouble… My wife started to talk about couple therapy to me… :cold_sweat:

I know a very good couples therapist in Silicon Valley that specializes in “Tecno-Interuptus” :blush: . Google “Howard Scott Warshaw” or go to http://hswarshaw.com/wordpress/

He’s done a few other things that give him great perspective.

Tell him Todd sent you.

I sympathize. There is a weird area where a hobby can turn into what seems like a job. Or turn into an actual job in the case of @slagle and @twack

Everyone that has responded so far has made significant contributions. Other than getting a paid marketplace what do you want to see happen in the next year? Anyone else have a need/want list?

Hello @jodyalbritton,

On my side, I have prepared 3 other questions (apart from the marketspace one) for Alex at the next developers call this coming Wednesday.

1) What is the ST technological roadmap as per the developers perspective?

As developers, we don’t have any clue where ST is heading…

For example,

a) How SAMI & Artik will affect the development platform?
b) Which UI capabilities will be available with the new presentation layer in the coming months?
c) What is the vision for local processing? Can developers use local processing later for their own device handlers and smartapps? If yes, how certification for local processing will work? What are the best practices (if any)?

2) When a “real API” layer will be available?

What I mean by real APIs is some API and security layers that don’t require to explicitly specify each device as a REST endpoint.

3) How do you envision the developers beta program in the short and mid terms?

The beta program was supposed to allow developers to test new ST app versions, and new products.
So far, there has not been a lot of initatives in that regard.

My 2 cents.

3 Likes

#Question:
Wont Smartthings have trouble with the playStore/AppStore rules by publishing an “SmartApp Store” inside them? i though a that was forbiden.

Pebble’s appstore is available in its android app. Not sure about IOS as I don’t have it. Edit: looks like paid apps are not supported in the mobile apps, but you can get them via the website.

iOS supports in app purchases.

yes, but as i understand, in’app purchases are set each one by the developer, that would be difficult, unless samsung realeses an appstore, or…Smartthings for tizen

Good stuff here guys.

I am writing down all these questions and want to get answers to you. Please continue to have good conversation and I will keep up with it. :smile:

In-App purchases for both iOS and Android (& Windows?) is not a bad payment pathway for a SmartApp / Device Handler Marketplace.

1 Like

Except that Google/Apple would take 30% and SmartThings will likely want to take a cut as a revenue generator. The optimal solution would be an online store like “apps.smartthings.com”, apps purchased here would show up in the My Apps section of the mobile app.

One big problem with mobile app selling is the race to the bottom that has taken place over the last few years in regards to mobile app prices. The Smart Home market does not have the same scale as mobile in general and people are now associating mobile apps with a $1.00 to $5.00 price tag. If you only sell to 100 users at $3.00 and then Google/Apple/SmartThings each take a cut; you won’t be left with very much more than if you were just giving away the app.

2 Likes

Well… That’s a can of worms, of course. App Store margins are ludicrous for in-app add-on purchases. SmartThings needs revenue to support the SmartApp review / approval process, unless the Marketplace is seen as a core value of the product.