dokieli is a clientside editor for decentralised article publishing, annotations and social interactions.
- Write and publish articles in a space you controlincluding locally, offline and static hosting.
- Save articles to your personal datastore and edit in place (supports Solid / Linked Data Platform).
- Annotate, reply to and share articles.Let your readers choose where to store their comments and notes.
- Get notificationswhen someone interacts with your article.
- Embed live data, scripts, stats and multimedia.Great for tutorials and experimental results.
- Add identifiers and semantic markup to any conceptto put your prose in the Linked Open Data cloud.
- Anyone can tweak, clone and remix your articles.Spread your ideas, facilitate open knowledge access and reuse.
- Let your readers choose a view that suits them.Design your own or use preset themes.
- Open source and under ongoing development...dogfooding, feedback and contributions welcome.
- Try it now!This webpage is a dokieli article.
Write and publish
You can download the dependencies to work offline, or use them directly from dokie.li. Use in-browser local storage to save your changes or export to save to your harddrive, and to any webserver when you’re ready to share your article.
In order to edit articles in the browser and save directly to server storage, as well as grant access to collaborators to edit, dokieli complies with the Solid protocol, based on the Linked Data Platform W3C standard. This is essentially a REST API for reading and writing Linked Data. Solid includes identity through WebID, access control through Web Access Control, and other enhancements for decentralised personal data management.
You can sign up for a demo personal datastore at databox, install an existing server implementation, or even make your own server implementation from the spec. Once you have this, you can store dokieli articles there, privately or publicly (or limited access to others with WebIDs), as well as use this space for replies and notifications (and data generated by other Solid apps).
Annotations and replies
Wherever your article is published, readers can leave annotations and replies if they have their own personal datastore to save them to. If your article is published on a Solid server, you can offer to store annotations and replies on their behalf, and enable anonymous responses too. All annotations and replies can be saved with a Creative Commons license.
dokieli implements Linked Data Notifications (First Public Working Draft at W3C Social Web Working Group) for notifications about articles (or any part of them). Whenever someone interacts with your article through dokieli, you'll receive a notification in the appropriate inbox . Right now you get notifications for annotations, replies, shares, reviews, citations/links, bookmarks and likes.
A dokieli article is simply an HTML document, so anything you can include in an HTML page you can include in your article. We’re adding new features to the UI to help with this all the time. You can directly embed raw data; in Turtle, JSON-LD, or TRiG (Nanopublications).
Identifiers and semantics
Unique identifiers (URIs) are automatically generated for every section of your article to make it easy for others to link and refer to them. You can add identifiers to any concepts you think are important at any level of granularity. Additionally, you can add descriptive markup to any concept or snippet of prose which has an identifier; dokieli generates RDFa markup under the hood so your ideas are exposed as Linked Data for others to query, reuse and visualise.
Remixing and replication
Readers can click save as on any of your articles to create a copy in their own datastore. This copy retains a link back to yours as a derivative work. This feature means that dokieli is a self-replicating application, spreading itself around the Web as ideas and discussions are spread.
Views are just stylesheets, so if you know CSS it's easy to make your own or customise our presets. You choose which to include with any of your articles according to what you think is useful for your audience, whether that's your personal website style or an academic paper layout. Every so often we add a new view, so keep an eye out.
dokieli envisions research results, analysis and data all being produced interactively on the web and seamlessly linked to and from ‘papers’. Through annotations and notifications, the academic process of peer-review can be open, transparent and decentralised.
dokieli is open source; you can find the code at github.com/linkeddata/dokieli. This is very much a work in progress, so contributions, issues, bug reports and feature requests are welcome. You can also join the chat on Gitter.
We’re building dokieli to be something we want to use, so we encourage dogfooding! Check out examples in the wild.
What we’re currently working on
- Reusable HTML templates
- Semantic markup editor
- UI improvements and bug fixes
What we’ll work on next
✔ Paragraph level annotations/replies
- Storage settings for article replies and notification inboxes
- Refactoring and modularising code
✔ Displaying whole-article replies ✔ Liking and bookmarking articles and subsections of articles
- Reference/citation/link manager
On our radar
- Threaded annotations/replies
✔ Different types of annotations/replies, and ability to close them ✔ Displaying notifications for interactions that aren’t annotations
- Drop-in partial templates
- UI improvements/customisation for authenticated users
- Better handling of multimedia, figures, embedded scripts, maths and live data
- Versioning/snapshotting articles
- Realtime collaborative editing
- A 'marketplace' for views/themes/styles and facility to quickly add/remove them from an article
If you are using dokieli and have feature requests, please do raise an issue or +1 an existing one! If you’re a developer, feel free to jump in and tackle any of these.
This page itself is a dokieli document, so to get started, open the menu in the top right and click edit. You can change this page to your heart’s content, try out different views, then export the HTML and upload it somewhere you control.
If you have a Solid pod, you can click new (for a blank document) or save as (for a copy of this one) and choose where you'd like to save it. You'll be redirected to your new document, where you can edit away and have changes automatically saved to your pod. Of course, you’ll also be able to interact with your new document using other Solid applications!