The maker movement seems to have a continual fascianation with automating old analog devices. These range from automated knitters to typewriters to pinball machines - all nostalgic devices that you'd have a hard time aquiring today.
This week I took some time to examine how the maker movement shares designs and ideas at a distance. Here's what I found.
In many cases, regular othographic, technical and circuit drawings are used. These are especially popular where NC manufacture and prototype methods are not used. These drawings are usually shared as plain images, which makes them simple to share via forums and email.
Thingiverse from Makerbot is an offering that is very widely used in the 3D printing community. Designed from the ground up for 3D models, Thingiverse features automated renders and interactive 3D views. Although widely used, Thingiverse is hardly univiversally loved. A recent change in their TOS which transfered ownership of uploaded designs to Makerbot Inc. prompted significant backlash, resulting in some people removing their uploaded files from the service.
Recently GitHub has started offering tools for people who want to share 3D designs. Normally a platform for open-source software, GitHub has added functionality for uploading, viewing and comparing 3D files within a browser. The interesting thing with GitHub is that (unlike Thingiverse) it's very much built with the idea of ever-evolving projects open to contribution. Files are designed to be revised and modified over time, both by project owners and interested outsiders.
One issue that I saw was that there doesn't seem to be a "standard" interchange format here. Most people give STL files, but those can't store assemblies for material data, can't contain curves, and (most importantly) are difficult to edit and remix. Some of the larger projects share solidworks files, but that's a controversial choice due to the associated cost. The only active alternative that I saw was openSCAD, although that feels to be closer to writing code than designing an object - the UI is definitely a hurdle.
One last thing - this week Sean asked me some questions about prototyping interfaces with an Arduino. I've built simple interfaces (LCD+buttons) before, and I'm always amazed at just how bad it is. It's completely unfriendly to anybody not willing to write several hundred lines of code, and has an all-but-vertical learning code. To give you an idea of how backwards it is, I've included some sample code below. All this does is draw an image to a tiny 84x48 black and white LCD screen. No animation, no interaction, no text, nothing. Just a two-color picture.