Quoting for PLANET

I’m interested to see if members of Co-Tech would be interested in helping to develop a high level brief for the required stages of development of PLANET and to quote to build it.
The purpose of this is threefold:

  1. To raise awareness of both the PLANET concept and Co-Tech - which seems like the perfect organization to be pushing to build something like PLANET…
  2. To develop more detail and discussion around the steps required to actually achieve something like PLANET
  3. To work out of this is something which could be crowd-funded / funded in some other way - since it is impossible to fund-raise for an unknown cost.

Caveat:
I’m not wedded to my specific designs for PLANET, or convinced that it should initially be an OS, but I am convinced PLANET contains a lot of the right ingredients for a open, global, collaborative network with the power to create lasting change. (As such please don’t take any references to PLANET here as me saying I want this to be MY system, or work according to MY designs - I simply use “PLANET” as shorthand for “a global, open collaborative network based on the principles of co-operation and transparency and trust… etc”)

If this sounds like something you could help with please comment below or email me via osb@open.coop

I really hope someone can help with this … :slight_smile:

A few people have now replied off list so I am posting more detail, based on email replies to them below in order to provide more context and explanation:


More background:
I’m really keen to see more global collaboration around the Open App Ecosystem concept - on which PLANET is based.
To that end I have been talking to Edward West about the CTA project he started - in order to develop a global network of technical developers to collaborate on the development of an Open App Ecosystem to enable the development of PLANET, or a similar open, collaborative network.

We’ve been conducting a bit of outreach to work out which people and organisations might be up for reinitiating the CTA but, as you will appreciate, this is THE biggest, and hence most challenging, collaborative project… which, despite some chat and general agreement about direction, makes it extremely difficult to organise.

So my idea about “Quoting for PLANET” is to provide more background, and to (hopefully!) demonstrate that there is a technically feasible and financially viable (i.e. thousands not billions of £!) path to making it, or similar, a reality, in order to garner more interest and… to potentially work out who would be interested in collaborating to make it happen (possibly via the CTA, mentioned above)… and to potentially fundraise (via crowd-funding / any other way) to kick off the work. I fully recognise how ambitious this is but believe if we/I could say “Co-Tech (or other developers) believe they could deliver PLANET (or similar) for £XXX,XXX”, it would create some interesting discussion and help raise interest from like-minded developers, which might make it more likely to happen.

I’m not wedded to my specific designs for PLANET, or convinced that it should initially be an OS, but I am convinced PLANET contains a lot of the right ingredients for a open, global, collaborative network with the power to create lasting change.

What I hope to get out of the process of asking people to “Quote for PLANET” is a rough (but well thought through from a systems architecture perspective) development plan, which possibly goes as far as to suggest which technologies would be used and how, with very rough costing against each stage.

I am not a technical developer - my main skills are in front end, design and marketing. Hence the call for more technical input.

My rough development plan - based on nothing more than my limited understanding of the tech required, and discussion with people to date, currently goes something like the below. I may be approaching this in a completely inappropriate way but I believe that, in order to garner interest and users, the first most immediate step should be to satisfy a user need - and the most obvious user need to me, is an open social network.

1 - Base infrastructure + Use case 1
Develop the following, as the core infrastructure on which PLANET would be based:

  • Identity / Login system - to allow people to log in - ideally using a non-email based system which is as secure as possible
  • Profile page - allowing members to share aspects of their profile with various permissions (i.e. with specific individuals, groups, or other levels of connections e.g. “all friends”, “friends of friends”, and wider groups)
  • Permissions system - (data licences) to enable the above and more - Highly granular, user controlled
  • Follow system - allowing people to follow others by subject (imho this aspect (being able to follow people per subject) is really important to reduce noise and increase relevance of data) and local relevance
  • Posts system - allowing people to post content (to their ‘timeline’ / similar) with topics (subject tags) and local relevance
  • Feeds - where your feed of news from people you follow is displayed (and ultimately ranked by other users up and down votes etc)

The above aims to provide the basis for a truly scalable social network, with better functionality than Twitter / FB combined.

This is something I am very keen to try and cost.

2 - PLANET apps
Once the base infrastructure is in place there are numerous other projects / apps / bits of functionality which could probably be developed concurrently, including:

  • An accounting system - based on £ AND an internal currency (tokens) - I am almost convinced that the internal currency should not be based on block chain since it’s objective is to make transactions 100% transparent (i.e. not anonymous) in order to build trust.
  • The trading system - to allow offers / wants and transactions in £ or tokens
  • The calendar system
  • A chat system (Rocket chat seems like a good example of this)
  • VOIP calls
  • Task management
  • Decision making - like Loomio but with some refinements
  • Groups - with “chat / working / trading” statuses, and “open / closed / private” access - Linked to the above (calendar, task management, chat, and decision making systems, etc)
  • My local - maps with events / offers / wants etc
  • Ratings systems - to allow people to vote any content up and down - these votes would contribute to a users reputation
  • Reputation system - to calculate and present a users reputation based on aspects such as:
  • How much a user has verified their identity
  • Claims (of skills)
  • Reviews (of “claimed” skills) from other users
  • Honesty (claims vs reviews)
  • Wisdom (up and down votes on content)
  • Ecological footprint (how resource intensive a users lifestyle is - essential to incentivise one planet living)
  • Proposals system - to allow users to make suggestions and changes to any aspect of planet

There are probably many more potential apps and this list would hopefully grow as PLANET develops, the above is simply a starting list of the apps I believe are required to deliver the basic functionality of PLANET.

The above should probably be developed and deployed in a carefully orchestrated order to facilitate the development timeline but also in order to deliver maximum utility to the user, which imho is essential for the network to be used and grow.

Each of these “apps” is something I am very keen to try and cost.

3 - "PLANET FORGE"
In order to deliver against the above I imagine it would be essential to provide a ‘platform’ on which developers could find, learn about and contribute to any of the PLANET app projects - kind of like Source Forge for PLANET - which also allows developers to earn tokens for their input.

This might therefore be required before 2 (PLANET apps) making this aspect of development number 2 on the timeline.

This is also something I am very keen to try and cost.


So, to be clear, I am not proposing to rush off and try and develop any of this right now, simply to initiate conversations about how the above should be approached, with what tech, and in what order, and to get a rough idea of “developer hours / days required” in order to progress a plan for making it a reality.

If you can help refine the above into a workable, and possibly costed, plan I am sure it would help push the global conversation about an Open App Ecosystem forward… and potentially lead to something useful upon which we and others could build. If only in terms of agreeing the tech choices for step 1. Which I believe requires a collaborative conversation involving as many stakeholders as possible (which is why i am so interested in the development of the CTA).

Thanks for taking the time :slight_smile: I’m very interested in any and all feedback.

All the best

Oli

1 Like

Enspiral was part of the “CTA” and intending to help build the Open App Ecosystem. It was an interesting experiment, and never really got off the ground.

There’s a really interesting tension here between dreaming big enough to birth an alternative ecosystem, while only biting off as much as you can safely chew without choking.

My personal strategy is “grow things and use them as you grow them”

  • “do not stop talking to other people with similar values”

To that end, I’m investing in the scuttlebutt ecosystem, which is general enough to host a social network and a github replacement, and is actively using both. I’m also keeping an eye on and following


I guess my strong challenge would be : what prior art have you studied?

My hunch is that your intention is fantastic, AND you should explore joining forces with existing projects, so that we can go further together

4 Likes

blockstack and solid are two projects that look promising to me in this area - personally I would not want to try building anything practical with/on them for some time though.

2 Likes

Thanks for the reply @mixmix
I’m aware of the CTA history… and the tensions you mention of “big enough” vs “small enough to chew”! :wink:
To answer your strong “prior art” challenge - I have been following most of the projects connected to the CTA and more (see below) for some time… since I first designed some PLANET screenshots in 2004

My idea IS to go further together with other projects, not to try and necessarily build PLANET.
The intention of this post is purely to see if there are people in CoTech who would be interested in helping to “price” the elements listed above, for the reasons listed above…

Do you think that “Quoting for PLANET” is something you could help with?

Here’s my latest list of relevant projects that I think should be part of a re-vamed CTA (Although this is an aside to the nature of this post)

best
Oli

https://www.progcode.org/
http://opensupporter.org/
http://commonstransition.org/

http://commonstransition.org/
http://www.poc21.cc/
http://openstate.cc/

http://www.goodtech.cc/

https://discourse.transformap.co/.
https://mysterium.network/
Software needed by the Credit Commons Collective | Matslats - Community currency engineer
dyne.org
What is DECODE? | DECODE
https://enspiral.com/
https://www.loomio.org/
Cobudget
https://chalkle.com/
http://www.robinhoodcoop.org/
https://www.identity.com/
https://www.ethereum.org/
https://www.citizencode.io/
https://metamaps.cc/
http://bitmind.co/
http://www.kiwiconnect.nz/
http://www.lifehack.org/
http://www.planetwork.net/
http://www.impacthub.net/
http://www.resource-media.org/
http://pyxis-tech.com/en
https://triaxiom9.com/
http://civicmakers.com/
http://backfeed.cc/
http://www.villagelab.net/
http://ceptr.org/
http://swarm.gd/
https://www.valueflo.ws/
http://www.mutualaidnetwork.org/
https://freedomcoop.eu/
http://www.sensorica.co/
http://gopacifia.org/en/
Ind.ie Labs
About | Web We Want
https://colony.io/
http://www.collectiveone.org/

2 Likes

Thanks @nick
As per my reply to @mixmix
Do you think “Quoting for PLANET” is something you could help with?

I’m happy to be persuaded this is a crap idea…
But I do think it could help move the conversation about building “a global, open collaborative network based on the principles of co-operation and transparency and trust…” forward…

best
Oli

1 Like

I don’t think this is a crap idea :slight_smile: But I do think that it’s at too early a stage to start producing meaningful estimates about what’s involved to realise it. I think there’s quite a bit of work to do before quoting is possible. Off the top of my head, I’d suggest that work could involve:

Create a place where people can collaborate (e.g. GitHub or GitLab). Maybe this has already been done. This is a place where work can be broken down into small enough chunks so that people can bite off a chunk, and record what they have done. At this early stage, the type of work that needs to go on in that place includes:

  • Document the high level goals. I’m thinking particularly of those things that span the social and technical. For example “Users must have control over their own data”. These goals help to define the ethos of the project to make it clear to incoming developers, but also provide important constraints on technical solutions.

  • Outline architecture (very high level - no specific implementation details), perhaps just breaking down the components you’ve documented (and probably not all of those components - yet) into “layers”, e.g.

  • Applications

  • Services used by more than one application. e.g. Reputation

  • Fundamental infrastructure. e.g. data infrastructure - (solid :slight_smile: )

  • From that initial break-down, identify specific chunks of work (as issues in GitHub, whose results are documented in the GitHub wiki for PLANET) that need further research.

  • Research into which existing projects (your list, @olisb, and projects mentioned by @mixmix and @nick in this thread is a great start) might fit in with the components identified in the architectural layers, above. Engage with the developers of those projects. Document this research using GitHub issues and wiki.

  • Iterate … refine the architecture, do more detailed research into existing projects.

  • Identify the smallest useful thing that can be implemented, but which also fits in with the overall architecture and the high level goals.

After getting this far (a significant piece of work in itself), it might be possible to start estimating effort required to realise the smallest useful thing. It’s also possible that during the course of this work, it is discovered that the best way forward is just to join forces with another project that has similar enough aims to those of PLANET as a whole.

Am I able to work on this? Alas, I don’t have time right now.

3 Likes

Whichever way I look at it, this seems to be at least about a bunch of coordinated services playing harmoniously together. The logic of this seems to me that one cannot fully and finally build any one of these services before knowing what information is going to be shared with other services, or passed between them. So there would appear to be two (generic) kinds of approach:

  1. to build each one “as it comes”, and fix interoperability with later systems as they are built on;
  2. to work out a best guess of the APIs and data transfer needs of the ecosystem as a whole.

Option 1 is easier to start with, but is more likely to need reworking later
Option 2 is more challenging to start with, but seems likely to save a lot of time and effort in the longer run.

I’m not a fundamentalist on this, but I have a personal inclination to go for option 2, as I not only find satisfaction from getting my own head round this kind of systems design (I suspect many share that enjoyment) but more particularly because I delight in understanding other people’s needs, and working towards a consensus in which everyone’s needs are met reasonably well.

My ideal is not to finish 2 before starting 1, but to start 2 early, and let 2 run ahead of 1 so that the developments of individual services are guided down a way that is more likely to play well with the other parts of the ecosystem, and show earlier on more of the benefits of harmony.

I do suspect that the more we clarify the interoperation needs, the APIs, the sharing of information, and the like, the more easily we will be able to get a measure of how much work is involved in building each service. This cuts two ways: building in the interoperability can take more effort; but on the other hand reusing something (or some code) from a different service will reduce the effort needed.

I haven’t mentioned the word “ontology”, as it seems to bring some people out in spots. Sorry about that. Suffice it to say that “ontology as a commons” is something I would be delighted to discuss with anyone. In case it isn’t obvious, this implies that ontology, in my personal vision, is not constructed “top-down”, nor imposed, nor based on theory alone, nor rooted in ivory towers, but is firmly rooted in the concepts and needs that are meaningful to commoners. It also implies commoners listening to each other to understand each others’ needs, and there is no harm in that! :wink:

1 Like

Hi @mattw
Thanks for you reply and suggestions.
Let me take a step back and point out what I may not have made clear earlier.

This is a HYPOTHETICAL discussion - I’m not looking to build PLANET.

As you so rightly point out, the best way to achieve the aims of PLANET would probably be to join forces with other similar projects.

My hope, when starting this thread, was to get some advice on the platforms, systems architecture and technologies might be used to build something like PLANET and to get a very high level idea of the possible costs of doing so.

Having re-read all the replies above I think I might not have made that clear at the outset, and apologize for that, but I also think the replies go further to helping with my objective than I had realised…

Let’s use Blockstack to extrapolate an example. (I can’t see what Solid is built on / with but it may be an even better example…?)

Supposed (purely hypothetically) we wanted to build PLANET on Blockstack.
Following the excellent advice on the type of work required by @mattw, but presuming (purely for expediency) we have agreed the high level goals as being “users must have control of their data” and all the other co-operative, environmental and ethical principles (and biases!?) which are implied by the PLANET screenshots, what would we need to do next?

The “applications” I list in 1- Base infrastructure + Use case 1 above include (probably only):

  • Profiles
  • Posts
  • Feeds

And I think the “Services” Matt describes would be:

  • Identity / Login system
  • Permissions / Data licences

But Blockstack seems to have taken care of the Identity / Login system
So presumably that make it easier to possibly, potentially, hypothetically to guessimate how many developer days / hours might be required to build and plug together the above into something workable to deliver against “use case 1”?

I’d hazard a guess that no decent developer, with the capability to do the work, would want less than £500/day and that (presuming Blockstack works well, as described) it would take a few weeks, maybe a month or so… - but what do I know?

If someone can help me build on this tentative example, or similar, in order to arrive at a number, even just for Base infrastructure + Use case 1 I would really appreciate it…

Hopefully this helps clarify what I am getting at - and that I am not asking anyone to do any real work!? :slight_smile:

best
Oli

Thanks for this @asimong, just to clarify, I am firmly (hypothetically) proposing option 2

We can get into “ontology” and axioms in another thread!
:wink:

best
Oli

Great — thanks @olisb — then the next interesting question for me is how we can use the information from existing services with similar concepts to start on the infrastructure for sharing and interoperability.

sorry @asimong can you elaborate on that a little?

hey @olisb this thread so far raises a couple of things for me :

  1. theory U - which basically suggests that jumping to synthesis before everyone has sync’d thinking / loaded heaps of context will basically mean high tension and confusion in a conversation
  2. This thread has potential for massive length / depth / breadth
  • too much context & content quickly > overwhelming > inaccessible for new people
  • too many concurrent questions > confusing

In short, I’m not up for quoting on something I don’t have a shared understanding or vision for.

I am up for sharing some analysis of the current state of things and talking about what is possible and what sorts of properties the desirable ecosystem should have.

Concrete example : you’re asking for costing on a Login / Identity system. I’m a rabid decentralist and am vehemently opposed to anyone making systems which include passwords. If that’s surprising, then we obviously don’t have enough shared understanding (yet) to be costing and estimating.

I am interested in talking about tactics for getting open source / commons the resources it needs to thrive.

3 Likes

Hi @mixmix
Thanks for your thoughtful reply.
If I have confused anyone with too much info then I appologise for that… but I doubt I have.
If the objective of this thread is not clear, that’s my fault too, but if interested parties look at the screenshots of PLANET I designed then I think the title of the thread makes the objective, and the vision, pretty clear.

I think my main failing was not specifying that this is a hypothetical activity, in which I am not expecting anyone to do any actually work, other than discussing the steps and tech required to actually build something like PLANET, with a view to estimating what it might cost. Several of the replies have helped in that regard tho… so I don’t feel like it’s a been a total waste of time :wink:

In short, I think the vision is pretty clear, if you view the screenshots and perhaps watch the video (at the bottom of the same page) - sorry if that is too much info.

Great you are up for talking about what is possible :slight_smile:

A group of people in “The Open App Ecoosystem” session at OPEN2017 (which I co-organised) focused on Identity Systems also suggested that password based systems are old hat and better systems could, for example, be built using a system (based on blockchain) which would use your face as your login credentials. I can see the benefits of that, since it’s probably quite hard for someone to hack my face and I’ve rarely lost it… So if that / similar is the way you want to go please elaborate, suggest and perhaps we can hone in on a shared understanding… with a view to estimating one day.

The more we can draw out elements like this, and discuss what is technically required to actually build something like PLANET, even if we don’t go into every detail in full depth (in order to try and make progress before people lose interest) the more we will be making concrete steps towards a shared technical and practical vision for the commons to thrive… imho!

(FWIW - I’m assuming everyone on this forum is a rabid decentralist, is pro-commons, co-ops and entirely wedded to Open source… given this is CoTech!)

:wink:

That isn’t the case, at least in terms of “entirely wedded to Open source”, for example take a look at the technologies listed on our site, there are lots of non-Free applications.

1 Like