I've been 3D printing for years, and when I started a site called Thingiverse was pretty good—it emphasized Free licenses such as Creative Commons, and on/near the front page you could discover some novel designs.
However, that site has suffered from a severe lack of love from Makerbot, in part due to not directly generating revenue; recently, it got a redesign that added ads (okay, fine; I'd love a paid model which took the ads off my uploaded designs, though) but also turned the front page into "here are a dozen or so "popular" designs, which seldom/never change". The search and tag experience got much worse, etc.
At the same time, the cost of hosting a static site is really low now—even free, if you don't mind depending on a Github or Gitlab to do the real work for you.
This makes me see an opportunity to write a neat piece of code: A general framework for a static site generator that is designed to host 3D printing files. Here's the basic view of what I would like to see:
- The basic site framework will be generated with cookiecutter
- framework will use a well established static site generator such as Jekyll or Sphinx
- comes with CI that works on github; other-host support actively solicited
- can show STLs using webgl and probably three.js
- is supplemented by a build system that
- knows about scad files, including generating many variant STLs from one scad
- generates png previews from STLs
- does its best at presenting good metadata in Open Graph format
Stuff that is out of initial scope:
- Multiple "projects" per git repository
- Fancy site styling
- Other file formats besides scad/stl
Things that are probably outside of ultimate scope are:
- Directly reproducing "social" features such as "like" and "comments"
- Invasive tracking, including invasive social sharing buttons
A couple of hours this weekend let me get a good solid 60% of the basics going (most everything but the 3d model viewer), but also showed that I need to understand Jekyll better before trying to create something substantial in it. The Liquid template language is (deliberately, I imagine) quite limited, and consequently my initial ideas about how to represent the various resources (scad, stl, png, jpeg; generated or not generated) didn't really fit with how templates worked. I don't know whether this means I'm better off switching to another generator such as Sphinx, or whether I should fight it out because (Python projects aside) Jekyll is a lot better known in general.
As much as I like this idea, where I think it falls down is: My main quibble
with Thingiverse is around how poor discovery has become. But a one page
static site for a 3D-printable model is bound to be even worse for discovery.
What search terms would you use on a general purpose search engine to find them?
Where do you go to discover some designs you didn't even know you were
interested in? (I don't want to do a heap of keyword-bait on each page, I have
no knowledge of SEO and anyway the very idea leaves a bitter taste in my
mouth) However, if you build a community elsewhere (e.g., on Mastodon) then
maybe discovery moves there; A link, a common hashtag, and boost/favorite what
looks neat. Would it work? Probably not. And don't even ask about RSS.
Entry first conceived on 29 June 2020, 1:19 UTC, last modified on 29 June 2020, 11:41 UTC
Website Copyright © 2004-2021 Jeff Epler