Improved digital design database

by jpearce, published

Improved digital design database by jpearce Sep 20, 2012



Use This Project

Give a Shout Out

If you print this Thing and display it in public proudly give attribution by printing and displaying this tag.

Print Thing Tag

Thing Statistics

10573Views 581Downloads


With the heated discussions concerning the terms of use for Thingiverse, I thought it would be constructive to systematically lay out the framework for an improved repository of open-source digital designs. This way if Thingiverse can mend the fences with the open-source hardware community, they can use it and improve what they have now. If not, and others build a new repository they will have a superior framework from which to start. If you would like to help with this -?? please just add ideas to the comments and I will include them in the plan and, of course, acknowledge your contributions in anything that comes from it.

This will be based in a large part on the work being done on open-source appropriate technology for sustainable development.


The Ideal Open-source Digital Design Repository should be:

  1. Completely free and open-source in all respects
  2. Run by an non-profit organization for the explicit benefit of the community
  3. Flexible in format acceptance (able to convert proprietary formats to open formats) - ability to post photos and video embeddable in the instructions.
  4. Scalable (infinitely)
  5. Browse-able in systematic menus (e.g. USPTO classes or Amazon)-- a hierarchical thing categories (much less broad and more specific than what Thingiverse has now -- also allow for users to input new subcategories)
  6. Searchable
  7. Advanced search (e.g. based on your tool set find the things you can make given a search term) and able to filter on multiple tags (example: ultimaker and filament not openscad) and control the order:
    • By Date Added
    • By # of 'I Like That's (popularity)
    • By # of 'I Made One'
    • Creator
  8. Enable evolution tracking (derivatives [allow multiple] and version tracking)
  9. Innovation/Design review, comment and rating (rating can be automated - e.g. most downloaded, most liked, etc.) Also enable warning tags and recommended removal for poor or dangerous designs.
  10. Innovator rating and tracking of contributions
  11. Ability to collaborate on designs (multiple authors)
  12. Certification capability (e.g. x company says this works)
  13. Geographical use tracking (e.g. find someone with a tool or who has made a design in your region)
  14. Tool tracking
  15. Ability to create and share selected library of designs - ability to organize that library (e.g. add folders to objects we like, to organize lists)
  16. Design and System-design capacity.
  17. Enable group or designer branding (e.g. designed by user x with logo)
  18. Multilingual support (e.g. auto-translation into other languages)
  19. Resource tracking
  20. Easy to use – inputs to semantic search
  21. Auto-import functions (e.g. as a patent term ends and reverts to public domain it is automatically included)
  22. Social networking - enable both external but also internal social networking (e.g. search one's "followers" [via the "like it" and/or "made one"] ala LinkedIn).
  23. Digitial-hardcopy tie (e.g. QR codes)
  24. No advertising
  25. A flag whether the designer has made it or not (e.g. reduced to practice) - this can be like the appropedia status tags http://www.appropedia.org/Status
  26. Option to request a design and the idea vote up
  27. An explicit area for specifying the designer's print/slicing settings for a given design (e.g. a series of check boxes and drop down boxes in an optional input category).
  28. A well-documented RESTful API is always helpful. Having one will allow other sites/apps to extend and augment core site features and functionality. Also enabling better branding while still keeping a centralized repository.
  29. Ability to track changes between STL files (CubeHero attempting https://cubehero.com )
  30. Set up customized feed for new stuff or for a specific maker
  31. Capability to upload more than one file or photo at a time (Make it as easy as possible to add things)

Constructive recommendations for MakerBot: Set up a non-profit 501c3, put a bunch of well known open-source advocates on the board, then spin Thingiverse off to the non-profit. Let them have Thingiverse.org completely separate it from MakerBot to regain public trust. Make it completely open in all respects. It is in the best interests of MakerBot to have a thriving, sharing, open design community. That is what has made 3D printers valuable. You don't need to own the repository it just has to exist somewhere for you to leverage the value. Then, let the NPO start working through the list of design improvements to make Thingiverse better. As an added benefit to this approach all of the investment made in Thingiverse to date and any porting, upkeep, etc. from MakerBot will be a tax deductible donation.

If Thingiverse can not regain the communities trust someone is likely to start a new open repository. It again is important to point out that we (as the community) need one place to upload designs. The architecture of the new repository should be set up to allow the scaling and feature offerings listed above but should also contain the following things that Thingiverse got right.

What Thingiverse Got Right that should be kept.

  1. Ability to upload any form of design file
  2. Ability to render STLs into images
  3. Image icon for each design
  4. Ability to cross tag items
  5. Search
  6. Browse
  7. Ability to tie to derivatives
  8. Easy open-source license choices
  9. Ability to comment on designs
  10. Track user contributions
  11. Ability to tie to tools
  12. Quasi-community ranking via 'likes' and back links to user pages
  13. Enabling liking to select innovations into quasi-private library
  14. Social networking and QR codes

Please feel free to add more ideas below.

This list was compiled with either direct (posted comment here or conversation with J. Pearce) or indirect input (e.g. google group, forum posting) from: S. Dick, S. Albritton, W. Chung, G. Grant, G. Steed, I. Zelenika, J. Francois, L. Rodriguez, R. Thompson, G. Anzalone, J. Keegan, W. Kyriakou, H. Kyriakou, R. McCaskill, O. Bailey, MacGyver, and Thingiverse users: TeamTeamUSA, Daid, The Ruttmeister, and the makers of Thingiverse.com

I also tried to summarize what has been going on here https://groups.google.com/forum/?hl=en&fromgroups#!forum/thingiverse for some time.

All Apps

Upgrade this Thing with Thingiverse Apps

No results.

I really like SVG for Thingiverse and the vector presentation of designs, but sadly I can't see anything useful in the area of 3D SVG rendering.  Perhaps (as a low priority webserver task) render each design as several rotated 'frames' and join them together as an animated gif using something like gifsicle? - http://www.lcdf.org/gifsicle/http://www.lcdf.org/gifsicle/
You'd then have a very low footprint/bandwidth/CPU image to show off the render from all sides.  And if the webserver was really bored, you could schedule rotation-render-GIF tasks around the other axis, too... :)

"licensing dropdown changes to reflect what is 'possible' when you are about to publish a derivative work." -- good idea!

Was copy/pasted from gth on https://groups.google.com/forum/?hl=en&fromgroups#!topic/thingiverse/tmWfJt58hxshttps://groups.google.com/foru...

Thank you for this post, it's a positive and creative response that can be used by Thingiverse or anyone else interested in providing such a service or judging what it takes to provide one.

The non profit idea could be a win-win situation, should MBI decide to go that way as it could restore the community's trust that's been hurt.

TeamTeamUSA RESTful API suggestion made me think about user-parametrized/generated STL files.

Eg. for my generic hose adapter at http://www.thingiverse.com/thing:26096http://www.thingiverse.com/thi... I had to rely on a server of my own to allow STL parametrization for the user diameters.
This is important imho to avoid having 100s hose adapters each with a set of fixed diameters, or to generate math art, etc.It's very straightforward for the very common openscad, but other command-line friendly CAD/3D program could be supported (blender, python scripts...)

BTW what's your point 16 about design?

Universal hose adapter & coupler & funnel, and a web service

 Point 16 - is eventually we would have built in interfaces to do the design work inside the repository -- e.g. something like OpenSCAD in browser with immediate feedback a.a.the Khan Academy interface.

Ah OK. In this regard tinkercad really rocks (well, at least as an intuitive interactive CAD since it's not scripted like openscad)
Too bad I seems nowhere to be open source though

A well-documented RESTful API is always helpful. Having one will allow other sites/apps to extend and augment core site features/functionality.

The API should return XML, JSON and JSONP. The current one is a start, but it only has one endpoint: http://www.thingiverse.com/api/uploadhttp://www.thingiverse.com/api...

I guess what you're getting at is the lack of documentation of the present implementation? Otherwise, I don't get how your suggestion offers something different...

 Done - great idea.

Hierarchical thing categories. Thingiverse categories are too broad, rendering them useless and the search feature suffers badly as a result. The tag feature is nice, but inadequate and inappropriate for categorizing things.

An explicit area for specifying the designer's print/slicing settings for a given design. I see some beautiful prints of challenging designs and would love to know what material, print speed, etc. were used to print them. It could be as simple as a series of check boxes and drop down boxes. Along that same theme, the toolbox feature is not nearly as valuable as would be specifics about users' printer properties, printing rationale, etc. It would add educational value.

That the provider be non profit, I think is essential.

 Done, done and agreed.

And yet another: add folders to objects we like, so I could organize my big list ;)

 Thanks for the great ideas adding them in now.

Oh and another one.
Would be cool to know/search one's "followers" (via the "like it" and/or "made one"). A kind of linkedin for thingiverse may be?

Let anyone ask for a specific design (with some votes "à la" stackoverflow?). Linking users and designers is good imo since some creativity also surely lies in the hand of non-technical guys ;)

Also an automatic rating ("most derived", "most downloaded"...).
I guess that 90% of downloaded + printed object do not show in thingiverse counters b/c it requires an account and some work to post the "I printed it". STL download count is probably a better indicator.

For any thingiverse like site to work, it should take less then a few minutes too add your design. That's one powers of thingiverse. Someone was already working on this before this mess that we are in now. You can sign up for information at https://docs.google.com/spreadsheet/viewform?formkey=dG5iRVI5OU42WHJZWlZVeWZxQVlNWkE6MQhttps://docs.google.com/spread...

Thanks for letting us know about that. You are right - wikis are somewhat difficult for people just starting out - and has been a challenge on sites like appropedia.

Anyone working on adding a directory/tag-search function to the "Githubiverse" Github page -template?

great ideas.
I'd like to see
  a flag whether the designer has made it or not
be able to filter on multiple tags (example ultimaker and filament not openscad)

 Thanks Owen - -included

I doubt it can be mended until Bre Pettis steps down from Makerbot Industries and the License is changed.  Bre and the Replicator 2 plus what he did to Zachary Smith, and continues to ignore his communication attempts, that is a huge chasm to cross and mend.  Stepping on the Open Source to make money is never a wise idea but greed is greed.

 So how is pouring hatred towards a specific person going to help?
Zachary Smith is a lost in space character, did you mean Zach Hoeken?

Nope, that that dude, lol. Zach runs a blog and tells the story and Zachary Smith is Hoeken's real name.
"My name is Zachary Smith aka Hoeken. I have been building 3D printers since 2007 as part of the RepRap project. I created a non-profit foundation (the RRRF) dedicated to pushing open source 3D printing forward." From http://www.hoektronics.com/2012/09/21/makerbot-and-open-source-a-founder-perspective/http://www.hoektronics.com/201...