A little bit ago, Argumenta.io was launched as an open alpha. Since then, a few people have expressed interest in learning more about both its background and the design of Argumenta, the software behind it. I’ve been meaning to write an introductory post for a while, so now seems like a good time!
Social Argument Collaboration
Argumenta.io is a new site for social argument collaboration. Our goal is to provide a place for people to focus on building better arguments online, while connecting with others who share both similar and differing perspectives.
By “better” arguments, we envision ones that are more focused in their presentation, diverse in their contents, and impactful in their effect; supported and disputed more directly; and analyzed more thoughtfully.
Here’s the essentials:
- Arguments are built from propositions - a series of premises and a conclusion.
- Propositions are short, tweet-like strings of text - 240 characters max.
- Both are identified by the SHA-1 hash of their object record, just as in Git.
- Support and Dispute tags link a proposition with a related argument.
- Citation tags link propositions with any external resource (text, video, URLs).
- Discussions allow for friendly analysis of each argument as a whole.
As an environment focused on crafting arguments of high quality, Argumenta also provides a place where people can publish their resulting work. Each user receives a profile page with a timeline of their most recent publications. Any arguments, propositions, or other content that you publish will appear here.
In the future, we plan to add a “Follow” feature (à la Twitter) so that you can follow the users who you respect or simply find interesting, and then stay up to date with their latest arguments in a merged personal timeline.
When you create an argument in Argumenta, you provide three things: a title, a series of premises, and a conclusion. The server creates a Proposition object for each premise and conclusion, and an Argument object that points to these. Each object has its own object record, and the record’s SHA-1 hash identifies the object.
A Commit object is also created to record who published the argument, where it was published, and when. A Repo points to the latest commit, making the most recent version of each Argument easily human-accessible by username and title. Support, Dispute, and Citation tags link propositions with other resources – and are also objects with their own record, commit, and SHA-1.
The above diagram illustrates Argumenta’s object record format, which is very much inspired by Git. Since we’re still in alpha, it’s conceivable that the format may change slightly in the future – but we do aim for stability, making any changes backwards-compatible when possible. See the code for more details!
Here’s an example Argument widget:
The Argument widget is quite interactive, and showcases the other widgets as subcomponents. You can click on an argument’s top panel to toggle its contents, and click any proposition to reveal its tags. By doing so, you can “drill-down” into the reasoning for or against any item.
When an argument is displayed in the browser, its repo, SHA-1, and other object data is passed to an Argument widget by HTML5 data attributes (or API queries, if necessary), which renders the argument.
Here’s the minimal code for embedding our example argument:
<!-- A widget element, and the Argumenta Widgets script. --> <div class="argument-widget" data-repo="qualiabyte/the-value-of-bitcoin-for-the-99%"></div> <script src="https://argumenta.io/widgets.js"></script>
The Argumenta API provides a RESTful interface to Argumenta data in JSON form. Current resources include Users, Repos, Arguments, Propositions, Tags, Discussions, Comments, and Search.
Read access is enabled for general use, and cookie-based authenticated sessions allow account creation, login, and publishing. It’s used by Argumenta widgets, whether embedded on Argumenta.io or other sites, and can be used by third-party applications.
Public and Open Source
Argumenta is built upon an open source web application available for anyone to run and modify, with both server-side (Argumenta) and client-side (Argumenta Widgets) components. It’s released under the MIT license.
We’d love to have you join the Argumenta community!
As a user, you can get started today by creating an account at Argumenta.io.