Solutions
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 (called stores).
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 in 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 framework.
One particular application that could be easily developed would be similar to LogSeq / AthensResearch / RoamResearch “A note-taking tool for networked thought”.
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, personal 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.
Transversal features
Chat
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
broadcast
Translation
and spellchecking.
Search & Discovery
decentralised search & discovery
- search content in overlays
- discover content globally based on interest or search queries
General features
- live collaboration (rich text & canvas)
- CRDTs
- semantic web data (RDF/SPARQL)
- history, undo, revisions, and diff
- local first
- offline first
- E2EE
- interoperability and portability of data
- automatic replication between devices, if desired. backups
- mobile first interfaces
- end-user programming
- user-defined views based on queries
- hooks for update operations to perform tasks, defined using visual programming
- self-hosted : open platform and open infrastructure. Anybody can run a node of the network (called a broker)
- 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 and desktop (with Tauri framework)
- offers a no-javascript version of the content (via the APIs, CLI or headless CMS)
- 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 / artciles / posts
can contain:
- 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
- abbreviations
- 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
- argdown
- 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.
Contacts
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)
Meeting scheduler
find the date for the next meeting (doodle)
Polls and votes
ask some questions and get answers with multiple choices
Forms
enter and modify arbitrary form and semantic data (react admin, rdf-form, solid forms)
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)
Diagrams, Charts, Visualization
d3, bind it to some data. draw SVG. UML…
Spreadsheet
calc/excel …
Slides
for presentations
Math formulas
Code
write code with syntax highlight, and run the code in the browser? (Codemirror, Atom, Monaco)
PDF & books
view PDF & ebooks, generate PDF from document
Maps
leaflet maps
Images
view and edit images (crop, draw, filter, rotate). galleries, carousel/slideshow
Video and audio
create, keep and watch videos and audios (peertube)
Attachments
files to upload and download
Links
to webpages and documents/content, with link preview/snapshot (oembed/iframely). keep a webpage’s archive. gateways to web 2.0 content: youtube-dl, yewtu.be, nitter… see here for a list
Semantic visual maps and graphs
visualize the semantic data. mindmap
Containers
organize my content into spaces, blog, containers, collections, trees, TOC, wiki, forum (Discourse), PinBoards (cards on a canvas), kanban
You can find a list of what has been implemented so far and what is planned, in the Features page of the documentation. Try the alpha release of our app that is now ready and showcases what can be done today with CRDT, RDF and local-first software! We are now focusing our efforts on bringing about a novel framework for developers to build Apps based on NextGraph.