Wednesday, June 24, 2009

The Project (Coders, Start your Engines)

So I'm taking this ball and running with it.

I opened up a project at SourceForge (A place for developers to congregate around opensource software projects)

And I went ahead and charted out the end product of the software. Check out the picture for a generic system definition and an example of my favorite kind: a space capsule system definition. GO ahead. Click on it to see what I'm talking about.

Did you click on the picture above? Do it.

A little more information for those who care:

Fields for classes of data:

System Requirements
Stakeholder requirements and objectives
Items (carriers of data between logical functions or physical subsystems)
Functions
Physical Elements
Logical interfaces
Physical links

Metadata for the projects that people start:
Concept of Operations
Context Diagram

Programs that provide a framework for system architecture definition are not new at all. The new thing here is making it a web based wiki with net-enabled functionality and watering down the framework so that it doesn't include all the ISO motherhood which scares away the non-systems engineers who actually have the domain knowledge about creating valuable systems.

What I'm Doing

This is my public repository of my thought on the wiki design place on the internet that should exist. This first post is going to be a repeat of a discussion that has started at opennasa.com

http://www.opennasa.com/2009/06/21/wiki-design-from-toasters-to-spaceships/



Wiki Design: from Toasters to Spaceships

Participatory Exploration. Frednet. Lunar Boom Town. Open Luna.

These all deal with the concept that we are trying to take the brainpower of the interested public and use it to solve the technical, political, and business problems that confront our efforts to expand into space. Consider a tool that can facilitate this.

Look at Wikipedia. According to last year’s annual report (check it out in your spare time, Nick,) there were “approximately 100,000 active editors (defined as users who made more than 5 changes in the last month).” 100,000! That’s a huge number of people!

With the 11 million articles on Wikipedia, you can be sure that many of these editors are fueled to participate in a wide range of articles by the synergistic combination of articles that they can work on. In other words, editing in Wikipedia gets “sticky” (Check the definitions at the bottom)

So here is the point. Crowd Sourcing is good. Better Crowd Sourcing is better. Better Crowd Sourcing can be had by implementing a dedicated web based methodical structure that fosters and requires attention to the essential questions of systems design.

So I am hatching this idea for something that could be a Wikimedia project, specifically for designing things. It would work a bit like this:

You come to the wiki design sight and tell it that you want to start a new design. It asks you some basic questions like what your primary objective of need is, what kind of system it is (Vehicle, building, processing machine, etc.), Does it require data processing, etc.

The site shepherds your thoughts into a rudimentary top level systems architecture framework by asking you questions like: what does it do? And how might it do that?

It gives you some templates for functional and physical breakdowns, templates with high level headings for a system specification document, and you, the user get as detailed or a vague as you want at this point.

So then your site is live and anyone can come in and populate the content, like with Wikipedia, but unlike Wikipedia, some powerful organizing tools and templates are integrated with the content.

Some of the possible features:

* Integrated 3D modeling web app that helps with part numbers and hierarchy of parts
* Expired patent and journal search that lets you link relevant patents to functions or subfunctions
* Discussion and voting tied to specific elements of the system definition.
* Commenting on parts of the system definition (Saying things like: “This design is horrible. If it were 3 inches long it would have way more strength and only add a small amount of length”)
* Chat with other members of the project
* robust and targeted permissions to set “baseline” requirements, functions, components, interfaces, etc
* Automated quality check that alert users to possible functional overlaps, shortfalls, etc.
* Autocheck to make sure that users don’t give functions titles that are nouns or verbs as titles to items.
* Freedom of Information Act Request facilitation.
* Reuse of components, functions, etc from other projects. (Got an idea for something with wheels? Pick from a myriad of projects in which the wheel was defined already!)

The idea is that most people don’t know beans about systems engineering, requirements, or interfaces. Design by committee, forum posting, voting, or by blind feel with no knowledge or application of systems engineering is not an effective method of harnessing the domain knowledge that many people do have.

So who is with me? Let’s storm the Wikimedia foundation and get them to put this thing online so that we can go about the business of designing space vehicles in style!



4 Responses to “Wiki Design: from Toasters to Spaceships”

1.
Robbie Schingler on June 21st, 2009 Edit comment

Hi John,

This is a great idea! As with any website / on-line tool, it is generally useful to start with a very simple site. I would suggest starting with something that people already do ineffectively, but then provide a tool to make it easier for people to get their job done. As this catches on, you let the community innovate within the bounds you give them, then slowly start changing the boundaries so that you have a full-on project incubation / open source hardware tool.

From a NASA perspective, I believe that we share our ideas and concepts in a linear, political way. I believe we can more effectively incubate projects if we do it openly in a trusted, crowdsourced way. This is the motivation and basis behind the Side Project App I blogged earlier.

But what are your ideas for getting Mediawiki onboard?

–Robbie
2.
John Benac on June 22nd, 2009 Edit comment

One way to go about it would be to look at some of the myriad of systems engineering applications that are already in existence, such as CORE or DOORS, and put them online, with the added features only offered by the internet (chat, user input function and component libraries, etc)

http://www.paper-review.com/tools/sas/read.php

1) Crouwdsource the software itself and then approach the Wikimedia people in San Francisco and propose integration with their larger suit of tools.

2) Or, alternatively, build a loose coalition supporting the idea on the net and work to define the software (PowerPoint style) to such a detailed extent that we can simply go to the Wikimedia foundation and have them accept the idea (and perhaps a few members of the coalition as employees) and build it themselves. They spent 1.3 million last year on “technology”

3) A third route (and the one that would yield the poorest quality, it think) is to download the MediaWiki source code software and adapt it for a more robust application.

http://www.mediawiki.org/wiki/MediaWiki

4) Have Wikimedia lead development on a crowd sourced software development.
3.
Rolando Quintanilla on June 25th, 2009 Edit comment

John,

I really like the idea. Is MediaWiki the only option for going to with this idea? I mean other companies such as the famed Google might be able to profit considerably from this type of venture. I think that even Amazon could open up markets from this. I see people designing things through crowd sourcing. Google could use it as a means of advertising to the users, and as a service to companies. Amazon could sell what is made on their website.

Actually, now that I think about this more, these companies that emphasize marketing metrics can work on technologies that help you meet your specification with the “right” components. The amount of development that goes into fitting people with what they would be most interested in purchasing is not simple, and the work that has already beend one can be applied to helping companies/organizations meet their specifications automatically (or at least lower the amount of research time).

-Rolando
4.
John Benac on June 25th, 2009 Edit comment

I see Google as a company that produces tools, and MediaWiki as a entity that is a data library.

When you consider the web traffic that Wikipedia commands on the internet (and its rankings in Google searches,) I believe that the two companies are have a symbiotic relationship.

So Google might be a company best apt to develop tool (integrated Google Sketch Up, target adds and content from suppliers relevant to the design, etc,) but I don’t see them (Google) hosting the tremendous amount of data that would be generated by the “croudsourcers.” Look through their labs. They will store your content (sometimes with a fee, like in Picasa web albums,) but YouTube, which they acquired, is the only place where there is a significant amount of free storage that is given high bandwidth to distribute to the public at large. Remember that Google Video, their own solution to online video sharing before they aquired YouTube, did not allow you to upload content for the masses.

Wikimedia is all about getting your data and giving it to the world, but their tools are not so detailed as to enable the kind of robust tool the is necessary for the type of serious design tool that croudsourcers would need to go beyond a glorified bulletin board.

So in the end, Google and Wikipedia have demonstrated their strategies, and neither company is wired to take this concept and develop it (except for something coming out of Googles fames “20% time,” but you cant bank on someone doing this as a side project.)

I think that the way to go is to go open source with the software, perfect it, maybe make a tiny little company with it, and go get acquired by Google or Wikimedia.

How many countless examples of successful open sourced software projects have we seen? Open Office? Wikipedia itself? Mozilla? Linux?

So, the abridged version, 1) define the software itself, 2) have it developed “open source,” 3) Sell it to Google or WikiMedia to support the bandwidth and data needs 4) Change the world