OSE Collaboration Architecture

From Open Source Ecology
Jump to: navigation, search


General strategy for Collaboration

edit

Specifics for On-Site Development

At Open Source Ecology, we are developing innovative mass collaboration methods. To do this, we are using Module Based Design – breaking design into parts or modules – so that the parts can be developed and built in parallel.

Key to this is a low barrier to collaboration: by using widely accessible tools, teaching people as we go along. Further, we use a building block (construction set) approach: we develop the building blocks so that anyone can use them in a plug-and-play fashion. The building blocks may be complex – but using the building blocks as understandable, readily-made entities – people can build on these to make more complex devices. Underlying all of this is using open source tools.

Such a process must be based on open tools - such that anyone can have access to the tools and get involved. This makes a process potentially scalable to anyone who merely has an interest in getting involved. Open tools involve open hardware and open software – which allows you to “look under the hood” to understand, and then hack design.

Software Tools - Introduction

As a general rule, we use a set of software tools that are free, open source, cloud, realtime, collaborative, and embeddable. Collaborators may use other tools, but there may be inter-operability issues. Part of our work involves getting good at exporting from one format to another.

Cloud means that we can access and work over the internet – the work is hosted remotely and can be accessed through the internet. Realtime means that changes can be seen by all collaborators as soon as they happen. Realtime collaborative means that multiple people can be working in different locations around the world while seeing the results updated as they happen. Embeddable means that the resulting documents can be embedded elsewhere: such as on a wiki, in Wordpress, or in a content management system.

Google Docs are an example that has all the features - cloud, realtime, collaborative, embeddable. It is important for all OSE participants to be familiar with Google Docs – usable for text documents, spreadsheets, drawings, forms, and presentations.

Website Ecology

It is important to understand how our Main Website, the Wiki, Dozuki, Trovebox, Facebook, and YouTube/Vimeo all contribute to our development.

Main Site

The main website is intended to be the entry point for anyone new to the project:

The most relevant part to development is linked to Machines -> Machine Index. Each machine has a dashboard that shows its status and the state of development.

edit

Once you go to one of the 50 Machine Pages - you see:

edit

Dozuki

HintLightbulb.png Hint: Dozuki is still active, but is hardly being used

Dozuki is our repository of documentation and development pages. On Dozuki, we break machines into modules and each module has a Development Spreadsheet based on our Development_Template.

Here is a diagram of how we document our machines at Dozuki. Much of the documentation is still missing, and can be found scattered throughout the wiki, but part of our work will be to start filling in the Development Boards and keep track of points of completion to get a quantitative development velocity.

edit/comment this drawing

The point to keep in mind is that the Development Spreadsheet is an intimidating, comprehensive, one-stop-shop of all that's been done on any module. It is intimidating - because it shows that any single module has so many development points - but the good news is that the Development Template is the same for every machine and module: so once you understand the overall structure of the Development Template, you'll be able to know where to find any piece of information for any module. That is critical if the project is to scale to an unlimited number of machines being developed at the same time.

Wiki

A wiki is a freely editable website. You are on the OSE Wiki right now. It can have images, formatting, and many other embeds. It is important that you learn how to keep a Work Log and embed all types of content - the wiki is flexible with that, so that items such as videos or 3D manipulable images can be embedded. See Instructions for how to sign in and use the wiki. The wiki is our sandbox. It is meant to be a notepad and you are encouraged to post there by signing in and editing. Forget about 'finally organizing all of the wiki' - it's intended to be a braindump for many people. With time, some content gets well-organized. But do not think that you will do that all - bcause there are years of history and many contributors.

Regarding wiki organization, the Dozuki pages (development boards) link back to the wiki for the actual content. Since the wiki does not have a good machine development index, we are using Dozuki as an overall index for machine development.

Media Sites

All participants on site are encouraged to upload videos to YouTube, and images to Trovebox. Trovebox is the "open source Flickr". We also use vimeo. Facebook is where we post regular updates. We encourage participants to report their results on Facebook.

Collaboration Applications

OSE's collaborative platform involves primarily wikis and google docs. To that, we add Google Hangouts as a place to communicate as a group via video. We use Etherpad as a platform where anyone can edit text collaboratively. We use Dozuki as a Master Index. We use the Main Website to communicate Problem statements on each machine being developed.

Design and Development Applications

Design, CAD, Drawing

Generally known as CAD, this includes 3D design, electronics, interior design, and others. We use, in order of importance:

  1. Sketchup - 3D CAD, free
  2. FreeCAD - 3D CAD, open source
  3. LibreCAD - 2D CAD
  4. Sweet Home 3D - interior design
  5. Fritzing - circuit design
  6. Upverter - cloud collaborative circuit design
  7. Blender - animations, and CAD file conversion
  8. GIMP - the open source Photoshop
  9. Inkscape - the open source Illustrator

Video

Our Video Production Approach includes consistent uploads to YouTube. We are using YouTube and Vimeo as an online repository of video, where people can download materials from YouTube, in addition to downloading from a camera. The goal is to enable any interested person to use our materials under a CC-BY-SA license. We also share our High Resolution GVCS Media as video editing assets, and we have other images uploaded to Trovebox. See OSEdit concept regarding remote collaboration. We use OpenShot for video editing, which is easy to learn. You can record screencasts with RecordMyDesktop. We use soundracks from our Open Source Soundtracks repository.

Action Steps

So that everyone has uniform access to all applications, we recommend that all participants download and install Ubuntu 12.04 (install this particular version, not higher or lower, as it's the latest stable release). Some applications run on Windows only, such as Sketchup, so a windows emulator, Wine, must be used in Ubuntu. The step-by-step for full interoperability is to install these softwares, in this order:

Installs

  1. Download and burn a DVD of Ubuntu 12.04 (or use a USB stick) and install on your computer. Did you know that you can run both Windows and Ubuntu on the same laptop? This is called a dual-boot system. You can select which system to run upon startup.
  2. Install Wine - windows emulator
  3. Install Sketchup - 3D CAD (works on the 3 platforms)
  4. Install FreeCAD - 3D CAD (works on the 3 platforms)
  5. Install LibreCAD 2D CAD (works on the 3 platforms)
  6. Install OpenShot - Video Editing (works on the 3 platforms)
  7. Install Blender - animation
  8. Install Sweet Home 3D - interior design
  9. Install RecordMyDesktop (screencasts) and Screenshot (static screen captures)
  10. Install GIMP - open source Photoshop, and Inkscape - open source Illustrator
  11. If you are interested in electronics, install Fritzing, and Arduino Environment.

Getting Started

  1. Learn how to log in to and edit the wiki. Learn how to embed content between html tags.
  2. Set up your Work Log. Add a bookmark on the top of your web browser so you can edit your log readily.
  3. Sign up for Design Sprints.
  4. Log in to YouTube so you can upload videos
  5. Log in to TroveBox to uplaod pictures
  6. Learn how EVERYTHING that you generate should be linked to the Development Spreadsheet for whatever you are working on. This means you need to understand the Development Spreadsheet architecture. This means that all work should have a Development Spreadsheet set up for it. We will work only on machines for which Development Spreadsheets have been set up.
  7. Learn Google docs:
  1. How to work with, and embed a drawing in a wiki
  2. How to embed a presentation in the wiki. Our Manual Template is an example of a Google Presentation.
  3. How to embed a spreadsheet in the wiki
  4. How to create a form, and how to embed them in the wiki

Collaboration Team

Once we engage in a swarming development process, we need to divide roles.

How do we do this? See Extreme_Onboarding#Establishing_Team_Workflow for initial notes on this.