[Mentored Project Proposition] Unintrusive Synchronized Authorship Web Application

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi folks,

TL; DR.
Akashdeep/t0xic0der here. I would love to hear what you think about a project that I am proposing for Fedora's representation in this year's Google Summer of Code. I have built a functional prototype of
the project (which you would find [here](https://github.com/t0xic0der/syngrafias/), the documentation [here](https://github.com/t0xic0der/syngrafias/wiki/Usage) and the screenshots [here](https://github.com/t0xic0der/syngrafias/wiki/Screenshots)) so you would able to know what the project can potentially provide. You can find the project proposition [here](https://pagure.io/mentored-projects/issue/85). As this project pertains to facilitate convenient documentation creation as a service specifically, it is vital for me to know what you think about the project and the feasibility of implementation of this service on our infrastructure should it get selected and worked upon.

IWRTLV. (I wanna read the long version :P)
Take a look at the following excerpt which was taken from the proposition I wrote (Check issue https://pagure.io/mentored-projects/issue/85 of mentored-projects for the entire content and the conversation regarding it).

<EXCERPT START>

- There has been this web application I have been building a functional prototype for, which allows for synchronized authorship of documents in an unintrusive manner. The project is called Syngrafias.

- To explain this in a better way, people who have used Google Docs for editing documents collaboratively know how the changes made to the document are actively synchronized to all the collaborators during the time of editing. Syngrafias does that but with a much more distributive approach to it - as here the changes made in the document in the absence of the other user would not be synchronized, thereby seamlessly creating (say) a fork of the same document. ([See the attached image collabnt.png](https://raw.githubusercontent.com/t0xic0der/syngrafias/master/pictures/collabnt.png))

- The unintrusiveness in the document editing can be better explained if I draw parallelism with Jupyterlab. Just like in Jupyterlab, we have distinctive cells here for editing text. It is a simple mechanism but with much greater functionality as it allows you to selectively share the parts of the document you want collaborators to edit and rearrange the parts of the document by simply using a drag-n-drop operation. I have added in Summernote for WYSIWYG editing for each cell. ([See the attached image opendocs.png](https://raw.githubusercontent.com/t0xic0der/syngrafias/master/pictures/opendocs.png))

- Of course, there is activity tracking so any change in the document title, cell title or cell content gets logged and activities like cell creation and removal are synchronized across all connected clients. The way I see it, this project can bring about radical positive changes to the way Fedora's project documentation are worked upon collaboratively. Also, if I simply replace Summernote with CodeMirror - this can even be used for collaboratively editing code snippets on-the-go. ([See the attached image activlog.png](https://raw.githubusercontent.com/t0xic0der/syngrafias/master/pictures/activlog.png))

- With 57 commits as of the time of writing the idea description, the project is only getting started and only the bare functionalities of the project are complete. You can find the repository [here](https://github.com/t0xic0der/syngrafias), the usage instructions [here](https://github.com/t0xic0der/syngrafias/wiki/Usage) and the screenshots [here](https://github.com/t0xic0der/syngrafias/wiki/Screenshots). There are tons that we can expand upon if this ends up becoming a project for GSoC. I would very much love for you folks to try out the project, let know what you think about it and your valuable suggestions for it to become a GSoC project - if it can. I would be obliged.

<EXCERPT END>

The reason why I wish to propose this (outside) project for Fedora's GSoC representation is because it has the potential to be a project assisting the distro/community (e.g. Bodhi and Mote) by making the process of documentation creation much more efficient and conveniently collaborative (as compared to the Pagure and Antora-bound method that we use right now). Do note that the project (I believe) aims to complement the tried-and-tested systems in place as of now with the features it has (and plans to have).

The way I see it - the project I am proposing here can complement to Antora's functioning by cutting down on the mandated build times to generate a preview (as we have a WYSIWYG feature) and deferred collaboration (highly subjective though as active synchronization would mostly benefit only those who are living at the same timezone and decide to work together for the same time). I cannot emphasize enough  how beneficial it can be to try out the project prototype to understand how capable the project can be. You can find the [project page](https://github.com/t0xic0der/syngrafias) and the [project wiki](https://github.com/t0xic0der/syngrafias/wiki) links here. (or drop a response expressing willingness for a demonstration and maybe, we can schedule a video meet ;-))

As the proposed project marks a departure from the kinds of project that were used to be proposed for GSoC, it would be vital for me to know what you think about the proposed idea and the likeliness of adoption of the ideas stated in the project. How effective do you think it can be (if it can be selected as a GSoC project) and what can be done to make it better?

As questions concerning the infra team, some basic information on the project architecture are as follows :
- Programming languages used - Python 3, JavaScript
- Frameworks and technologies used - Flask, Jinja, Click, Websockets, Asynchronous programming
- Tested load (automated load of 500 concurrent users typing "Lorem Ipsum" on the same document) - 115MB memory utilization (DDR4-2400, Upto 8-10% of CPU usage (i5-7300HQ)

How feasible would it be to implement this as a service for the Fedora infrastructure (if it gets selected that is) and what nuances do we consider for so?

Thanks in advance. Looking forward to your responses.

Yours faithfully,
Akashdeep Dhar
_______________________________________________
infrastructure mailing list -- infrastructure@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to infrastructure-leave@xxxxxxxxxxxxxxxxxxxxxxx
Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/infrastructure@xxxxxxxxxxxxxxxxxxxxxxx




[Index of Archives]     [Fedora Development]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Yosemite News]     [KDE Users]

  Powered by Linux