NextGraph is data/content centric
NextGraph is an ecosystem that offers as primary feature: create documents that can be edited concurrently and shared among groups of users. The documents are rich-text documents, or plaintext, or structured data (JSON/RDF) that can be linked between each other thanks to the semantic web technology. They can then be queries with the SPARQL language, signed, and organized into containers and sites.
This data/content layer can serve as database for any higher level application.
At first, we will provide end-users with the ability to collaborate live/real-time on rich-text documents.
Then we will develop more applications, with the help of the open source community, that will be based on NextGraph ecosystem.
Then we envision the development of all necessary apps to replace the centralized or federated cloud services we all use today. Here is a list of what is waiting for us. Long-term goals include developing or integrating wikis, knowledge bases, search engines, groupware, productivity tools, supply chain solutions, marketplaces and e-commerce solutions, social networks and DAOs.
The list of features described here form a long term goal. Not all features can possibly be delivered in the near future. But we do aim at providing a strong set of basic features and opening the ecosystem to the developer community that will help us achieve this vision and features list.
one-to-one chat, group chat, bot chat (REPL) . The chat feature is the same as the one for comments. Presence. Gateway to emails and other chat protocols (XMPP, matrix, Signal).
Like, Comment, Share
on any type of content
Video and audio call
one-to-one, conference call, screencast, remote slides
Live audio and video
There are currently no open source software capable of providing translation in many languages as google translate does. This is out of scope of this project, but still remains a high priority.
Search & Discovery
decentralised search & discovery
- search content in overlays
- discover content globally based on interest or search queries
- live collaboration (rich text & canvas)
- semantic web data (RDF/SPARQL)
- history, undo, revisions, and diff
- local first
- offline first
- automatic replication between devices, if desired
- mobile first interfaces
- end-user programming
- user-defined views based on queries
- hooks for update operations to perform tasks, defined using visual programming
- box : small device installed at home behind router, stores data of user.
- two-tier P2P network: store&forward brokers, edge nodes. global overlay for topic searches; direct connections on local networks
- each groups have their sub-overlay network
- 4P: 4 levels of data access: Public, Protected, Private (only for me and my devices), and grouP.
- capability-based access control
- pub/sub: subscribe to channels/content/people
- static generation and publishing of content on some website based on the content of a container
- framework for app developers
- services (RPC, REST, SPARQL, GraphQL, LDP) to access data and business logic
- frontend in webbrowser (SPA), mobile (cordoba), and desktop (electron)
- backward-compatibility with web 2.0 (gateways, URL-based RDF, server side rendering and static html hosted on domain)
Domain specific applications
provide some reusable apps, models, ontologies, view components for :
- e-commerce and marketplace management
- ERP, productivity and supply chain solutions
- social networks
- democratic decision making, DAO, consensus
Content types we will support
Rich text documents / notes
- formatting: bold, italic, headings, underline, strikethrough, sub, links, lists, tables with merge cells, tasks lists, blockquote, inline code, divider, span highlight, notice box (codimd calls them containers), code block with syntax highlighting, emoji, icons, text color
- mentions (people, hashtag)
- likes, backlinks
- footnotes. see markdown-footnote
- definition list
- annotations / comments (uses the chat feature)
- transclusion (embed another document)
- images, including with custom sizes
- math formulas | how it is done in matrix
- video / audio embeds
- vectorial embeds
- map embeds
- chart embeds
- custom component embeds
- semantic data within the text (similar to RDFa)
- live data/properties of semantic objects, bound to some placeholders (template, interpolation a-la react/vue)
- semantic relations between documents and within document to indicate meaning.
contact information about the people and groups I interact with. > connects with the Chat, Audio/video call features.
Agenda & events
calendar, keep track of my events, appointments, meetings, dates, and create events that i can share (mobilizon)
find the date for the next meeting (doodle)
Polls and votes
ask some questions and get answers with multiple choices
Tasks & kanban
organise my cards of todos, tasks, in a kanban mode. Team work organisation.
Whiteboard & infinite canvas
- vectorial draw, sketch, graphs, arrange any type of content into the canvas
- PinBoards (cards on a canvas)
d3, bind it to some data. draw SVG. UML…
write code with syntax highlight, and run the code in the browser? (Codemirror, Atom, Monaco)
PDF & books
view PDF & ebooks, generate PDF from document
view and edit images (crop, draw, filter, rotate). galleries, carousel/slideshow
Video and audio
create, keep and watch videos and audios (peertube)
files to upload and download
Semantic visual maps and graphs
visualise the semantic data. mindmap
organise my content into spaces, blog, containers, collections, trees, TOC, wiki, forum (Discourse), PinBoards (cards on a canvas), kanban