The FTG working group works on setting up the basis for an online guild-like services provision network
Group discussion > Design criteria

Design criteria

Joe Corneli
841 days ago

In earlier threads about Design ideas and Building a Prototype and elsewhere, we have discussed a lot of different thoughts.  But I think we should collect our thoughts into one coherent place and flesh out what it means to "be an FTG prototype".  We can then submit this as a proposal to the Knight Foundation.

One useful reference is Fabrizio's wireframe,

Let's try to add some more pictures, ideas, and clear requirements in this thread.

Joe Corneli
841 days ago

In order to make our discussion more fluid, let's combine our ideas in this pad:


Fabrizio Terzi
841 days ago

I add the topic "Educational material translations in peeragogy distribution network"

Is an idea to design that can be inserted in the January workshop agenda as "FTG proposed solutions tools".

Joe Corneli
840 days ago

I added a lot of detail, comparing the project to other sites and services, sketching what we could actually provide at a "prototype level", raising some counter-arguments, discussing feasibility for the workflow and an initial budget sketch.

Please add: discussion of points I've left out, responses to the critiques, additional details, and especially -- please make help make sure that amidst all the brainstorming, there's a crystal clear proposal.

If we had gotten this all finished a week ago that is what might have worked well from a staffing perspective...  But, OK, we can't rush things, and above all we should just make sure we have a great proposal in the end.  Let's see if we can get something really good done fairly soon. My guess is that it's not terribly far - - but it does need your input!

Wouter Tebbens
838 days ago

Hi there!

I'm back. Being ill for a week has given me some time to think as well. The most important thing I thought of was the protocols. We have envisioned a platform for FTG that imports or synchs with external info and metadata, as users have their projects and profiles already on many other systems and platforms. So our system should be able to obtain that info. What protocols we haven't discussed much about IIRC.

Distributed social networks highlight a few protocols we c/should take into account: FOAF, XMPP and OStatus as the most relevant I think.

XMPP is the Extensible Messaging and Presence Protocol that we know from Jabber. The FTA Campus implements it through the OpenFire framework. We have it but didn't use it, basically as we wanted to implement it through a webinterface right here, and the way we had that was through Flash, which would force people to use proprietary tools. So that was not the way forward. But XMPP is here, and can be included at any point in our platform. We can just connect to it with a client, like Pidgin.

OStatus is an open standard for distributed status updates that references a suite of open protocols including Atom, Activity Streams, PubSubHubbub, Salmon, Webfinger, that allows different messaging hubs to route status updates between users in near real-time. OStatus federation was first possible between StatusNet installations. is the first instance of StatusNet.

Most interesting: FOAFFriend of a friend, is a machine-readable ontology describing persons, their activities and their relations to other people and objects.

Add SSL: FOAF+SSL makes for a secure web of trust, and is also called WebID.

Lorea/N-1 is one of the bigger distributed social networks and has experimental support for FOAF+SSL. Lorea is basically an extension of Elgg, so we should be able to incorporate this into the current or next Elgg platform for the FTA.

Interesting might also be to include the FTA as a node into the bigger Lorea/N-1 network. That way we could grow more easily and include / collaborate with their developers more easily. (see sys admin manual in Spanish)

How would we implement FOAF+SSL and what can we do with it? See DataSources for FOAF providers. I'll try out this on:

Any thoughts on this?

Joe Corneli
837 days ago

IMO, FOAF by itself does not provide particularly interesting information.  However, if we supplemented it with our own ontologies related to task tracking, then we might start to have something very interesting indeed.  In short, the semantic web is most interesting if we're capable of getting the semantics right!

Also, doing things in a distributed way is most useful if there are data sources to consume that we can smush into the relevant formats and frameworks.  If we consume things like RSS and ActivityStreams (from git repositories/trackers, wikis, forums, etc.) that's definitely a good start!  I think it's definitely feasible to get this right!

The main 'missing piece' seems to be a sophisticated "issue tracker" (or issue tracking ontology) that would help us assemble information about activities and transactions in a meaningful and useful way.  (This is described somewhat in my notes on the FTG etherpad.)

Wouter Tebbens
836 days ago

Hi Joe,yes that sounds sensible: adding additional ontologies to FOAF, related to task tracking, and I would add: experience, interests.

Yesterday I stumbled upon people who did something like that, but for the relations between people: the poderopedia ontology, see this article. There they mentioned also an ontology on biographic data, but that seems to be mostly genealogic. Maybe we could find people who already designed and developed on ontology for the context of curricula/resume kind of data and we can add to that?

Well, Google is still some kind of a friend, and pointed me to this: W3C proposal for FOAF extension to include resume info. Also the ResumeRDF Ontology Specification seems to be of interest.

Joe, can you point me to what you implemented in planetary wrt ontologies?



Joe Corneli
836 days ago

Right now the Planetary ontology feature is mostly just a proof of concept; we use a new SKOS representation of mathematics subject classifications to provide a subject index to the content:

And links back to the corresponding subject classification from individual articles, e.g. at the bottom of

The actual code is here, if you want to take a look at the sorts of SPARQL queries needed to implement this.

Wouter Tebbens
835 days ago

from our conversation on the FTG piratepad, I just summarised the architecture:

So we need 1) the right ontologies for bio & experience & interests & project data; 2)  a plugin that is installable in different platforms that enables the harvesting/syncing of linked data from the ontologies; 3) a lightweight player that implements this plugin from the start in its most complete form; 4) a market place that syncs with all nodes (platforms or individual users). Once a platform has the plugin, it becomes a node and links up to the other plugged platforms. Users from each platform can express part or all of the desired information (bio & experience & interests & project data) depending on the readiness of that platform. Then they can go to the market place (which can be multiple) and discover projects, or launch new ones. In those searches (discoveries) group collaboration and negotiation tools should be available. Payment commitments can be agreed to, linked to payment services etc Given the distributed nature of the  architecture of all this, I'd say that payments can be either made directly from peer to peer, or in case the level of trust is limited, a trusted  third party provider could safeguard that process. This could be FKI or any other interested organisation taking that role.

makes sense?

Joe Corneli
835 days ago

Great summary!  Soon let's complement it with a diagram.

For implementation specifics maybe we should cross-correlate with the Github API (as a place to start).

Here's another example of the sort of feed we might pull from (StatusNet's repo on Gitorious): (from

It can also inspire us about the sorts of feeds we would produce.  Without being too formal, let's think more about the terms that will show up in these feeds, and how to respond to them.

In particular, I'm thinking about payments - at least sometimes, we would want those to be publicly documented (A transferred 200€ to B's account).

Some additional inspiration: (fun video: (note that this protocol is "now supported by StatusNet 0.9") An old short paper I wrote about how to use real-time tools to "bend the web". (

This all starts to get fairly technical (which I think is a good sign!).

Joe Corneli
827 days ago

Hi Group:

Thanks for participating in the etherpad!  I've condensed our work there into the document posted here:

... and I also supplied some "discussion questions".  When we've sufficiently answered those (1 week?), we'll be ready to share this with potential partners for further feedback (1 week) and then make final revisions (1 week) -- so that we'll be ready to submit it in about 3 weeks.

In terms of the timeline for work: I would suggest we propose a start-date of Jan 1 2013, when I'll have sufficient free time to contribute in a technical capacity.

And, in terms of resources, while I'm in Brooklyn (about 2 more weeks), I will investigate  -- noting that their questions are somewhat similar but more detailed than the ones that Knight asks ( so we might want to make a variant proposal that addresses those.

Personally I would not have a problem relocating to NY to work on this stuff... Fabrizio, I wonder if you'd be interested in moving over here for a while to work on it as well?  (@Wouter, I'm assuming that's not possible in your case!)


Fabrizio Terzi
827 days ago


@Joe: I ♥ NY,
Let me know when to bring a cup of coffee at zuccotti park. :-)


Joe Corneli
823 days ago


Let's write some individual notes to people in these organizations, announcing our intentions, and asking them about how we can collaborate.  This will help us revise our Knight proposal.  


  • Github
  • StatusNet
  • Gitorious
  • Las Indias
  • Ohloh
  • Ubuntu
I'll start working on this on as I have time - please join me there!

Fabrizio Terzi
823 days ago

A new organization to share with.

Free Cell PhonesAntique Skeleton Keys