Cotoami (言編み・言網) is a platform where people can weave a large network of wisdom from tiny ideas.
In Cotoami, you post your ideas and thoughts like chatting. The timeline actually has a chatting feature where you can chat with other users sharing the same space.
You would feel free to write anything that comes in your mind. Your posts just flow into the past unless they are pinned:
Then you make connections to enrich your stock (there are two panes side by side representing flow and stock respectvely).
Individual posts are called "Cotos", which is a Japanese word meaning "thing", and there's a special type of Coto called "Cotonoma" (Coto-no-ma means "a space of Cotos"). A Cotonoma is a Coto that has a dedicated chat timeline associated with it. These two concepts are basic building blocks of a knowledge base in Cotoami.
As you can see in the image above, Cotonomas are posted to a timeline like Cotos. Actually, you can treat Cotonomas as Cotos. They can be pinned to another Cotonoma or connected to other Cotos.
In many cases of note-taking, writing and connecting things are happening at the same time. You put things into categories, which are represented as, for example, sections in a notebook, folders/directories on an operating system or nodes in outliner. You almost connect things unconsciously just following Vertical Relationships, which will be explained later, to make a tree structure.
Cotoami also supports this way of organizing things, but its main aim is to separate writing and connecting to make the latter a more conscious step. For example, Cotoami has a random/shuffle feature to encourage you to observe a variety of Cotos to discover new connections.
During a process of chatting, posting random ideas and creating structured content by connecting Cotos, some Cotos would collect more connections than others. Those Cotos are possibly important to you or your team and worth discussing as independent topics. Cotonomatizing allows you to convert them into Cotonomas to create new dedicated places to discuss and research the topics in a spontaneous way.
Since the version 0.21.0, you can annotate connections. The term "Linking Phrases" is borrowed from Concept Maps. Actually you can create concept maps with this feature as introduced in the Concept Mapping section.
Cotonomas (Cotonomatizing) and Linking Phrases are the most two important features so far in Cotoami.
Why is the Linking Phrases feature so important? Concept mapping is a good way to demonstrate this feature, but an important difference is that Cotoami's linking phrases are optional. That means you should annotate only connections whose relationships are obscure to you. These obscure relationships are possibly valuable knowledge for you (since you didn't know them well before), and should be highlighted in your knowledge-base (that's why annotated connections are rendered so that they stand out). I personally call them Horizontal Relationships.
On the other hand, Vertical Relationships generally means inclusive or deductive relationships like "includes", "results in", or "is determined by". Simple arrow lines would be enough to express these relationships and you wouldn't feel the need for annotations in most cases.
So whether a connection is vertical or horizontal depends on your context in the same way as Cotonomas are concepts emerged in the context of your knowledge creation.
The optional linking phrases are helpful especially when your knowledge graph grows larger.
When a graph is relatively simple with fewer nodes and connections, it works like a mind map. You can grasp the tree structure even if there are some crosslinks. However, when a graph grows larger and becomes more complex, it'll become difficult to follow the structure.
In that phase, annotated connections become more important than plain ones because they work as highlights in the connections. You just need to focus on blue connections in a graph to grasp what you've learned so far.
The screenshot above is an example of a concept map explaining why we have seasons (originally presented in the article at Concept Maps official website: http://cmap.ihmc.us/docs/theory-of-concept-maps).
If you are interested in how this concept map was created with Cotoami, here is a youtube video to demonstrate the process: "Making a concept map with Cotoami" - https://www.youtube.com/watch?v=YYQrsGnSoLU
To discover interesting connections, you should collect as many varieties of Cotos as possible. But how? Cotoami Scraper helps you generate Cotos from various sources.
Cotoami Scraper is a Chrome Extension that scrapes web content to generate inputs for Cotoami. Currently, it supports the three types of content in web pages: Page link, Selection and Kindle highlights. The screenshot below shows scraping Kindle highlights.
There's a server only for demonstration purposes: https://demo.cotoa.me
It may be slow to respond at first because it's run by Heroku free plan (which puts unused apps to sleep).
The easiest way to launch your own Cotoami server is to use Docker. If you have a Docker environment running
docker info outputs some info), just one single command below will launch a whole environment, which contains an app server and several backend services, with default configuration:
$ wget -qO - https://raw.githubusercontent.com/cotoami/cotoami/master/launch/run.sh | bash
At the end of the launching process, something like the following should be output to the console:
... Cotoami will be ready at http://192.168.99.100:4000 You can check sign-up/in mails at http://192.168.99.100:8080
If there are no errors, you should be able to open the start page at the URL in the log (it may be take some time for the servers to start up completely).
If you want to stop the servers, execute the following command in the same directory:
$ COMPOSE_PROJECT_NAME=cotoami docker-compose stop
Your data will be stored in Docker's named volumes:
You can view the detail information by:
$ docker volume inspect cotoami_postgres-data $ docker volume inspect cotoami_neo4j-data
Cotoami project also runs a fully-managed official server. You can get an account of it by becoming a patron at https://www.patreon.com/cotoami
If you are interested in using it or supporting the project, please consider becoming a patron 😉
You can deploy Cotoami to your Heroku account with the Heroku Button:
On the "Create New App" page, set the app name and replace the highlighted values with your custom values:
<app-name>with your Heroku app name.
You should know the limitations of Cotoami on Heroku as described in: https://hexdocs.pm/phoenix/heroku.html#limitations
SENDGRID_PASSWORD, which can be viewed in the app's settings page in the Heroku site (click the "Reveal Config Vars" button).
SENDGRID_API_KEYin the Heroku app's settings page (then the app will restart automatically).
Cotoami source code is released under Apache 2 License.
Check LICENSE file for more information.