Thing Apps
Enhance the Thingiverse experience by letting users Customize, Print and Adjust just about any Thing
What Are Thing Apps?
A Thing App can manipulate, print, fix, customize just about any Thing found on Thingiverse. Additionally it can provide new services such as print fulfillment or new services we haven't thought of.
There are currently three categories for Thing Apps:
Customization App
Your App allows for the customization or remixing of a Thing already found on Thingiverse. Your app will only show up on a Thing page if it has a Creative Commons license that allows derivatives. Each customization app can specify what file types are required in order for the app to work.
Printing App
Your App can print to 3rd party services or directly to a connected printer. Additionally, if your App uses Thingiverse Payments to provide service, your App will only show on Things with a Creative Commons license that allows commercial use.
Tools & Utilities App
This category is for miscellaneous services. For instance, your App can adjust, clean up or otherwise use a Thing found Thingiverse. A Tool and/or Utility could repair meshes, optimize layout, and basically anything else you can dream up that is supported by the Thingiverse API.
How Do Thing Apps Work?
Thing Apps are web apps that load in an iframe within Thingiverse. There are three categories of Thing Apps: Customization, Printing, and Tools & Utilities. If an App is able to take action on a Thing (see Restrictions below), a button for its category will appear on the Thing page. When the button is clicked, a list of all Apps within that category will be displayed. After selecting an App, the user will need to authorize the app before being directed to the App. Authorization only happens once, unless, of course, a user revokes access and then re-launches the App.
Please note that any Apps with in-app-purchases must use the https protocol.
To get started creating a Thing App, checkout out the Thingiverse Iframe Javascript SDK on GitHub which has a helpful readme to get you going.
Be sure to checkout the links in the Getting Started section for help learning and using the Thingiverse REST API .
Are there any restrictions?
By default, apps are enabled for any Thing found on Thingiverse (with the exception of Thingiverse Customizer). But there could be a few reasons why your app would not show up on a Thing page:
File restrictions
If you set any file requirements for your App, it will only show on Things that meet those requirements. An example would be a Customization app that requires OpenSCAD files. Only Things on Thingiverse with an OpenSCAD file would display your app on the Thing Page.
License doesn't allow for it
Depending on the category of your app and the license selected by the Designer for their Thing, your app may or may not be displayed. Currently, any Apps with in-app-purchasing enabled will not be available on Things with a non-commercial Creative Commons license. In addition, any Customization Apps will not be available on Things with a non-derivatives license. However, it is possible for Designers to override the default settings to either allow Apps which aren't enabled by default, or, conversely to disable Apps which are enabled by default regardless of the license.