Skip to content

Instantly share code, notes, and snippets.

@risavkarna
Last active August 29, 2015 13:57
Show Gist options
  • Save risavkarna/30a29cd0396936b02622 to your computer and use it in GitHub Desktop.
Save risavkarna/30a29cd0396936b02622 to your computer and use it in GitHub Desktop.

CoPla System: A Pervasive Collaboration Platform

================================================

/etc/init.d/discussion start

This md is a bunch of notes I have regarding my original plans for a django+spring powered Collaboration Platform (CoPla), its semi-open platform to build the CoPla (Meta*CoPla) and the unique networking support (CoPlanet) essential to the CoPla at a later stage. Apart from these three, there could also be a blog to showcase or publish the highlights and achievements of CoPla (ShoPla?).These awful names can be changed if you suggest better ones. This body of text only contains a high level description of the current vision and shall be updated with similar content alongside other more formal documentations.

  • Only the gist of these ideas is final, everything else is upto our group to realize or discard. Even the core idea is open to discussion if needed.
  • Like the code for Emacs was written in Emacs, CoPla has to be written in (Meta)CoPla.. so let's get started on making that first one as soon as we can or as soon as we decide whether we should :)*
  • It would be great to know how much involved you want to be in this project and for what parts and from when (after thesis, after graduation, after having children etc.)

*The first one should be the group we said we want to start.

Core Components

  • 1. CoPla

    • The most important component among the four core components. Need this to get things started and later the others to make things sustain, grow and gather USPs.

    • A collaboration platform for working on ideas that call for action, usually through collaboration

    • Some non-exhaustive examples of the targetted kind of content are research proposals, project proposals, call for partnership for a social cause, a literary project proposal, a programming project proposal, an entrepeneurial project proposal and similar others.

    • An idea or a bunch of ideas can spawn one project or a bunch of projects. The original ideator may or may not choose to be the admin for the project(s) that the idea spawns. The original ideator, the projects' admin(s), the contributors, the promoters and the financial supporters will all be properly credited and/or given equity if applicable (see MetaCoPla for details).

    • We provide collaboration tools that form a single point destination for further works required for realizing of such proposed projects.

      • Project management tools A minimal js+django driven solution for individual todo lists, team's milestones and work division management to begin with. Later additions driven by MetaCoPla-ProjectManagement.
      • Version control tools for code and texts (use KWARC gitlab or similar as foundation?) for developers and advanced users [MetaCoPla-Versioning]
      • Realtime code/rich text editing and chat sections exclusive for the context of the document being edited (based on firepad.io or alternatives based on it?) Old fashioned collaborative editing with locks and keys(passed tokens) also needs to be made for individual documents.
      • Canvas based editor to use as a drawing board during planning phase. Users can always find other creatives uses. (using literallycanvas.com's widget or similar ones with touch support?) [MetaCoPla-Planning]
      • Message board for each team member and one for the team as a whole. No possibility for messaging strangers except if the user is already working in the same team or has chosen to post contact details like email, call info, a social network handle/username etc. This is not yet another social network. [MetaCoPla-Messaging]
      • Idea's profile page generated automatically to showcase the idea, corresponding project(s)' introduction, highlights, current status, <what other stats should we put?>, social media and fund raising campaign links (optional and given by the team at some point). Link to a page with the credits for the idea and the related project(s). [MetaCoPla-Featured-Idea]
      • User profile page generated automatically to showcase the users' created, contributed, promoted, financed ideas/projects and the points earned through these mix of activities. [MetaCoPla-Featured-User]
      • Front Pages with search Pages to showcase ideas and projects. Ordering depends on CoPla points gained through public support, popularity and a number of other relevant metrics. [MetaCoPla-Featured-Front, MetaCoPla-Semantics-Search]

    Some ideas regarding CoPla-ready ideas

    • Ideas go through unstaged(access rights distributed within private circle), staged(shared to a wider circle) and published phases(shared online in public domain)
    • No support for the following kinds of ideas:
      • Too vague to act upon e.g. "make recording displays intuitive" Better: "App for taking screenshots and screencasts of monitors by pointing a phone or mouse pointer towards the right display", possibly followed by software design documentations, research papers and/or some initial attempts.
      • Ideas for which a machine based platform cannot provide help. e.g. "Johnny should brush his teeth everyday". Better: "Campaign for children's dental health awareness" followed by a central repository of links/previews/embeds of social media pages, posts, crowdsourced funding, official website etc.
      • Ideas that call for trivial actions that can be easily realized through trivial social networks. e.g. "Check out my cat pictures", "Like my baby's pictures", "Make a high score in my game about my cat's baby pictures." Better: "Join us in gamifying the process of replacing annoying parts of the internet with kitten pictures" (adblock once did this for ads)
  • 2. Meta*Copla

    *The platform to build the CoPla and later to add features to it. Consists of: * A central git repository and branches. Non-open sourced for now. * Open-sourced repositories with features proposed by the community. Accepted into the build after public support and our approval. * These features mentioned below.

    A secondary task of this part is to also decide on rules, features, algorithms and reporting mechanisms specifically to resolve * intellectual property issues: License and patent checks by community. Claims can be made by owners or cautionary warnings can be submitted by anyone else who finds a legal issue with the projects' tech. * crediting issues: Automated crediting of ideators and contributors to resolve disputes. This is to create a standard way of publishing IP in the academia and, with privacy features, in the business community.
    * equity issues: Currently means that every contribution should get the user enough CoPla points, the current CoPla-currency for promotion of ideas.

    Besides developers, it also needs to house CoPla and non-CoPla members' meta-discussions regarding the CoPla projects: * discussion on ethical issues and other "talk page" like discussion for each idea and project, links to peer reviews/criticisms published on ShoPla or elsewhere * user assisted and semi-automated annotation of the ideas, linking with other ideas (semantification editors, Prof. Kohlhase's advice) * examining and approval of such annotations and links

    With the semantification and inclusion of relevant analytics, CoPla projects about CoPla projects can be hosted in MetaCoPla. These projects could deal with studies/research regarding spacio-temporal analytics of ideas by topics/density, their progress rates , the general trajectory of various community's ideas, answers to questions like which field of research is gaining more attention? which fields have fewer explorers? who are the other people working in this field? what licensing/patent/other legal issues does my Tech Foo have in Bar countries?

    This also lays groundwork for semantic applications especially semantic search. Delegated to MetaCoPla-Semantics, MetaCoPla-Semantics-Search

  • 3. ShoPla

    ShoPla is intended as blog to publish results from CoPla projects. These can show user written articles, awards, funding stats, news etc. related to past, present or upcoming (Meta)CoPla projects

  • 4. CoPlanet and the future

    • Ideas can be written + worked upon on single or multiple machines before or after getting staged.

    • p2p LocalCoPla: The one idea I am not yet capable of implementing by myself is also the one that I need most for political activism and for poor countries without regular internet connection.

    • p2p CoPla clients cannot always assume internet connectivity. They should be able to work with multiple nodes via LAN, VPN or Multipeer based alternatives to internet connection. They should then be able to update to the 'prime' CoPla server when internet is available. If we can manage to have a LocalCoPla itself as a prime server than we can have multiple levels of local groups updating to the central server hosted by us whenever/however these local groups can access the internet.

    • Apart from LocalCoPla other p2p clients should be able to act as plugins of the CoPla developer platform. This is really far into the future but let's have the vision regardless. Snapshots of the Central CoPla databases can be accessed as torrent downloads for local CoPlas with restrictive internet. Various download mirrors can also be setup in areas where torrents are banned.

@risavkarna
Copy link
Author

Refer to Foundational Documents for further information. Collaboration Platform need not have the tools for work but just the place to discuss and document the work.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment