General

Why Create Coppice?

Last week we took a look at Coppice's features and interface, looking at what Coppice is. This week we'd like to take a step back and talk about why Coppice exists. There's little point in creating a solution unless there is a problem to solve. So what problems is Coppice trying to solve, especially in a market that is replete with apps to let you take notes?

The Problems

There is a principle with programming that you should optimise your code for readability, as anyone working on that code will spend far more time reading it than writing it. This principle is not limited to just code though, it can apply to any sort of information.

There are plenty of apps out there that are excellent for collecting information, for taking notes, etc. They optimise for getting information into the app, but allowing you to actually use that information is often a secondary thought. They offer basic tools such as grouping, sorting, and searching. Some apps even use machine learning to help surface what they think might be relevant. However, they all assume that once you've found that piece of information, that's all you needed to do.

The second problem is these apps don't treat information as intrinsically interconnected. Again, you can do things like create links between bits of information, but these merely navigate between information. They don't treat the relationship as a first class citizen, nor really allow you to view all these connected bits of information at once. This promotes users to create fewer entries in the app, but make each entry bigger, such as having large sprawling notes that contain multiple thoughts or ideas.

The Solution

Coppice tries to solve these two specific problems. It is optimised for using information over collecting it, and it promotes using smaller but interconnected Pages rather than a few large sprawling notes. This is visible in many of the concepts and design choices in Coppice.

One of the first things you will find is that Coppice is a document-based app. It is not designed to be a central repository of all your knowledge, but series of documents focused on understanding particular things. This lets you keep unrelated things isolated, essentially letting you explicitly state that two bits of information don't have any relationship by having them in separate documents. After all, there's no reason why the information on that client project for work should be held in the same library as the information on redecorating your kitchen at home.

Next, Canvases let you visually organise these thoughts on your computer. We do this all the time in the real world, from laying out papers on a desk to drawing on a whiteboard. However, unlike the real world Coppice can give you an ever expanding space to grow your thoughts.

Canvases also allow you to see the relationships between bits of information. When you open a linked Page on a Canvas, there will be an arrow between the two Pages showing the relationship. This makes the relationship a concrete and visible part of understanding your thoughts. This can also help you see relationships you have yet to make. If you place two pages close to each other on a Canvas, but they don't have an arrow between them, maybe that's a sign to you that they should be linked.

These relationships can also depend on context. You may want the same collection of Pages to be grouped or linked differently in two different contexts. To solve this, Coppice Pro allows you to have as many Canvases as you like, giving you many different views on the information in a document

Examples

These high level concepts are all well and good, but what does this look like in practice? Here are a few examples from our own usage of Coppice:

Learning a new Subject

A key part of building and selling any piece of software is learning new things. One of the things we needed to learn was how to set up and handle payments with our payment processor. This required reading their documentation and creating notes. As this required learning about many topics, Coppice was perfect for the task.

We created a Canvas and added Pages as we moved through the payment processor's documentation. As we had multiple Pages on screen at once we were able to add the information we found to the appropriate Page, so that it fit the mental model we were building as we learned.

Running an RPG

At M Cubed Software we enjoy playing table-top RPGs. If you have ever run such a game, you may know that it requires keeping track of a lot of information: locations, characters, plot points, player backstories. It's an ever-changing, ever-growing story, and one that requires the ability to think quickly and improvise to what your players choose to do.

You can use Coppice to store all the information on the campaign you are running. You might create a Page to represent a town in your world, then create linked pages for all the locations in that town, which in turn link to pages on characters the players might find in that location.

You can then use a Canvas to organise information that you think may be relevant for the next session you play, but you can know that any related information will always just be a click away if you need it.


So that is some of the thought process behind why we built Coppice, and why Coppice works the way it does. What ways will you use Coppice? Let us know at @mcubedsw on Mastodon.

Next week we'll be talking about how we re-designed parts of the Coppice UI for Apple's upcoming macOS release: Big Sur. If you don't want to miss that and other updates on Coppice's development be sure to subscribe to the Coppice Blog. Alternatively, you can now sign up to our mailing list, which you can find at the bottom of the Coppice home page.