OKCon 2011: Developing Open and Distributed Tools for FabLab Project Documentation
Developing open & distributed tools for Fablab project documentation by Anu Määttä (Fablab Utrecht) firstname.lastname@example.org @narnua
Outline● Introducing Fablabs● Defining problem and scope● Solution approaches● Documentation tools in Fablab Utrecht and elsewhere● Prototyping data formats and aggregation● Development plans● Discussion
What is a Fablab?● Started by MIT Center for Bits and Atoms ● Book: Fab – the coming revolution on your desktop by Neil Gerschenfeld● Open access workspace● Standard set of digital manufacturing machines ● Principle: make here → make anywhere● Free (as in beer ;) to use● Fab charter: as long as you share (what was made and knowledge on working with the machines)
Network of labs● All over the place: about 50, in most continents● With few central resources● Labs by now operating mostly independently of central control (by MIT)
What is the problem?● Sharing designs has always been the intention, but tools are lagging behind● Diversity ● Independent labs using platforms they are comfortable with ● Few common resources to pull these together, and structures to support development● Tools originally meant for Fablab design sharing - software source code version control system - appear to be: ● Less usable by typical Fablab visitors ● Less suited for sharing the designs of physical objects (where images and human-readable instructions are needed on top of the object design file / code)● SCOPE: physical object documentation for replicability ● PRACTICAL needs of sharing
Solutions?● Thingiverse, Instructables etc? ● Controlled by outside, often commercial parties ● Not available under open licenses for needs of customization and localization ● Would be outsourcing a central aspect of Fablabs mission to share knowledge ● Interfere with further Fablab community building efforts ● + communities of makers● Centralize? ● Imposing central control and one size fits all ● + easier to set up and maintain● Distribute? ● Work needed by all participants ● Managing complexity ● +Flexible for independent lab needs ● +open for further innovation
Requirements● Possible to use tools familiar to individual labs● Catering for typical Fablab users● User interface matters!● Rapid prototyping the solutions as practical needs arise● Bottom-up rather than top-down planning and execution ● (In practice, some central planning needed to maintain progress)● Possibly combination of centralized and distributed approaches● Connected with other communities of makers (e.g. Thingiverse API)● Comply to open source hardware standards (e.g. register as OHANDA product)
Documentation @ Fablab Utrecht● “automatic documentation”● Check in, check out ● http://fablab.nl/articles/2011/04/12/ documentator-check-in-check-out● Part of lab visit workflow● With Drupal● Eye-fi camera
Tools @ other Fablabs● e.g. Switzerland, Barcelona, Japan using Wordpress ● Peter Troxler for Swiss Fablabs ● “Fab Source” project in Japan● e.g. Iceland using Mediawiki● Bubbling under: Joomla, Ning, ...
Aggregator: step 0 - RSS● Wordpress: custom template to include additional image namespace● Use of an additional namespace to add images to RSS feed ● xmlns:media="http://search.yahoo.com/mrss/"● Drupal: custom template also needed
Aggregator: step 1 - FabML● With current tools it is as easy to produce custom XML as it is a customized RSS feed● Can be produced with any (open source) tool used by individual lab● Simple XML definition to minimally define projects for sharing● Required features ● Media enclosures ● Design source files ● Human-readable instructions for replicability
FabML: example● In Drupal: ● Views bonus pack: plugin Views XML (source) ● Feeds & Feeds Xpath parser (aggregator) <fabmoments> <fabmoment> <original_url>http://protospace.nl/node/1682</original_url> <author>joris</author> <project_name>Low res hi quality vases on ultimaker</project_name> <machine>3d printer</machine> <instructions> Single walled low res hi quality vases. Big one more than 220mm high, printed is 1.5 hour on a Ultimaker...! ... </instructions> <image_flickr> http://farm4.static.flickr.com/3051/5776099442_73ea8367ec_m.jpg </image_flickr> <image> http://protospace.nl/sites/default/files/2011-05-29%2013.15.40.jpg </image> <source> http://protospace.nl/sites/default/files/vaas_220mm.stl </source> <source> http://protospace.nl/sites/default/files/vaas02_77mm.stl </source> </fabmoment> </fabmoments>
Plans● Finalize the aggregator demo for annual Fablab conference in August (Fab7)● Provide central documentation option for Fab7● Collaborate with Fablab Japan for Wordpress- based feed production● Exploring ties to Mercurial used by MIT
Discussion● Feasibility of defining a standard for Open Source Hardware documentation?● Use of existing content definition frameworks such as XML, RDF, RDFa?● Issues of distributed collaboration – feedback mechanisms and derivative objects?● Connecting with other Open Source Hardware documentation efforts and emerging standards (such as OHANDA)?