The Coppice Blog

News, tips, and sneak peeks

Coppice: Beyond Release

Posted:

When creating a new app, a developer always has two competing desires:

  1. To add as many features as possible to make the app as powerful as it can be
  2. To ship the app quickly

This makes the initial release of any app a balancing act, finding the earliest point at which the app has enough features to be considered useful and worth releasing. However, this means the first release is just a fraction of the vision the developer has for the app. Coppice is no exception to this.

So far we've looked at what Coppice will be at launch, but in this post we want to explore what we want Coppice to become.

Frequent Releases

Last time, we discussed how going for a subscription business model means we can release features when they are ready, rather than saving them for a big paid upgrade. The consequence of this is we want to put out small, but frequent updates to Coppice over time. These updates can be more focused, adding or improving a single part of the app at a time. This gets updates to you sooner, without overwhelming you with a mass of changes at once. It also means we can get feedback on changes sooner.

This approach of more frequent updates doesn't gel well with the traditional versioning system of 1.0, 1.1, 1.2, etc. as the change going from 1.8 to 1.9 may be the same (or bigger) than 1.9 to 2.0. So instead we will be going for a year-based versioning system. This means the first version of Coppice will be version 2020.1 (the first release of 2020).

The Far Future

With Coppice 2020.1, we have deliberately kept things simple, focusing on the core functionality of the app to provide the foundations on which to grow going forward. We have many ideas of how to improve Coppice, so want to share some of our long-term goals here for 3 of the core concepts in Coppice: Pages, Linking, and Canvases.

It's important to note that nothing mentioned here is set in stone. Features we think are a good idea now may not make sense down the road. We also expect to receive a lot of feedback from our users after release which will shape Coppice in ways we haven't even imagined.


Pages

Pages are at the core of Coppice. They hold your thoughts and ideas. Pages are relatively simple in Coppice 2020.1, with basic editing functionality and just two types: Text and Image.

Over time we want to expand both the types of pages and the editing functionality. Some examples of new page types we're considering are PDFs, Markdown, Audio, and Video. With our existing types, we want to expand the formatting options available for Text pages and provide basic editing tools for Image pages


Linking

Linking is a key feature of Coppice, letting you represent the relationships between your thoughts and ideas. Coppice 2020.1 only supports adding links to a Text Page, but our aim is to support linking in some form from every type of Page. The obvious priority here will be Image Pages, allowing you to turn parts of an image into a link.

We also want to investigate more ways of having Coppice help find these links for you, and highlight potential relationships you hadn't considered.


Canvases

We want to further enhance Canvases over time to help you better organise your thoughts and ideas. Key to that is improving navigation. We have many enhancements planned to make it quicker and easier to move around your Canvas and find the pages you want.

Our vision for Canvases is for them to be more than just a place to put multiple pages. Showing links between pages is the first step, but we want to explore more ways of adding to a canvas, from less formal forms of linking pages, to drawing notes and diagrams directly on the Canvas.

Canvases are also great tools for helping others to learn about a topic, so we want to provide ways to export Canvases so you can share them far and wide.

The Near Future

While it is fun to think about the distant future, it's worth looking towards the near future for releases: specifically the rest of 2020.

First, we are hoping to announce the release for Coppice 2020.1 in the next few weeks. Be sure to subscribe to the Coppice Blog to be the first to hear about it.

Secondly, we would like to get a follow up release (2020.2) out before the end of the year. The focus here will be on some improvements to editing Text pages (in particular adding support for lists) and responding to any early feedback from the launch.


We're excited to finally be approaching the final leg of our journey in releasing Coppice, and to start work on the next journey of adding new features and functionality. We can't wait to get Coppice into your hands and start hearing what you want for the future of Coppice!

As always be sure to subscribe to the Coppice blog, follow @coppiceapp on twitter, and sign up to the Coppice Mailing List to get all the latest news and tips on Coppice.

Coppice Pro

Posted:

Over the past few months we've taken a look at a lot of the functionality of Coppice but one thing we haven't mentioned is the business model. So today we're going to take a look at how we're planning to fund Coppice's ongoing development.

What is Coppice Pro?

We want to get Coppice into the hands of as many people as possible. At the same time, we want to make money so we can invest in further improving Coppice over time. To that end, we've decided to split Coppice's functionality up into two tiers: Core features and Pro features.

Core features will be available for free in Coppice. You will be able to download Coppice and use it with these features without having to pay a penny. And most importantly, you won't have to worry about a time limited trial expiring.

Pro features will be available after purchasing Coppice Pro. These will remove certain limits and provide advanced features to help you get the most out of Coppice. Coppice Pro will further enhance the Core features, with functionality such as advanced organisation and linking tools.

Coppice Pro will be available as an annual subscription for just $19.99 a year, available through our website.

Subscriptions

Unfortunately subscriptions can be somewhat polarising for some people, so we wanted to discuss a bit more about why we've taken this approach with Coppice.

Subscriptions can fundamentally change how you ship software. Using a traditional "paid upgrade" model, developers will release several free updates, but then collect a lot of features up into one large update to justify an upgrade price. This can often mean complete features stay unreleased for weeks or months, waiting for that big "2.0" update. With a subscription model we are freed from this restriction, as we have an ongoing income. This means we can release features when they are ready, getting the benefits of them to you sooner.

We are also able to lower the cost of entry. With the "paid upgrade" model, you are effectively asking users to pay up front for the several years of development between major releases. With a subscription model, you are only paying per-year, so we can offer a lower starting price.

Subscriptions also offer other benefits. While we have no concrete plans at the moment, our long term goal is to have Coppice available on other platforms beyond the Mac. Subscriptions will allow us to provide a unified payment model across platforms, so you won't have to keep paying separately for each platform.

Ultimately, we believe subscriptions provide the best model for sustainable, long-term development, while keeping the cost as low as possible to open up Coppice Pro to everyone.

Core vs Pro

So how do we decide what features will be in the Core tier vs the Pro tier? It helps to define what the core functionality of Coppice is:

  1. To collect your thoughts and ideas,
  2. To visually lay out those thoughts and ideas, and
  3. To create links between those thoughts and ideas

The Core tier will provide the basic functionality to make each of these possible, whereas the Pro tier will provide additional functionality to truly get the most out of them. Let's take a closer look at what this means in the initial version of Coppice.

Pages

You will be able to add an unlimited number of Pages to your documents in both Core and Pro, using both the initial types of Pages: Text and Images.

Coppice Pro will add support for Folders. These will let you group your Pages in the sidebar, helping you to better organise your documents.

Coppice's sidebar, showing Pages grouped into Folders

Canvases

In the Core tier you will be able to add as many pages to a Canvas as you like, lay them out, and view the relationships between them. However, you will be limited to just one Canvas per document.

With Coppice Pro, you will have an unlimited number of Canvases per document. You will also be able to set the Canvas theme (Light or Dark) on a per-Canvas basis, rather than it always automatically changing with the system theme.

Linking

Linking is an important part of Coppice, so the Core tier will allow you to manually create links between pages without any restrictions.

We want Coppice to help you find those links though, so with Coppice Pro you will be able to enable Auto-Linking. This will look for references to other Pages as you type and create links for you, leaving you to focus on the content of the Page.


Over time we will be adding new features to both our Core and Pro tiers. While our focus will be on further improving Coppice Pro, we already have several new features planned for the Core tier. In a few weeks we will be taking a look at our plans for Coppice after its initial release, so be sure to subscribe to the Coppice Blog, the Coppice Mailing List, and follow @coppiceapp on Twitter to stay up-to-date.

Designing for Accessibility

Posted:

Accessibility is something near and dear to our hearts at M Cubed Software. For over a decade we have advocated for making software accessible to everyone, and over that time have helped many other developers to improve the accessibility of their apps. So when it came to developing Coppice, accessibility was high on the priority list.

Making an app accessible doesn't just help the 15% of the population living with a disability, it also helps every single user by letting an app better adapt to their needs and workflow. By making accessibility a core part of the design process, rather than simply an afterthought, it ultimately helps you build a better app for everyone.

So what are some of the ways we've made Coppice more accessible?

Keyboard Navigation

Coppice is a very visual app, especially on a Canvas. In many cases you will use a mouse to navigate around the UI, but it's also helpful to navigate using the keyboard. We've worked hard to provide support for fully navigating Coppice's UI with just the keyboard by hitting the tab key.

This even extends to Canvases, where you can tab between pages, and then the controls within a page. We even flash the page content when you tab to it, to let you know exactly where you are in the UI.

Moving Pages

One of the primary tasks you will perform on a Canvas is moving pages around. As well as dragging pages with a mouse, you can use the arrow keys on your keyboard to move the selected pages around the Canvas. Holding down the shift key will move pages 10x as much, letting you quickly zoom about.

Sidebar Sizes

For many people, being able to change the size of parts of the UI can massively improve their ability to use an app. Some people prefer a UI to be more compact to fit more content on the screen at once, whereas others prefer the UI elements to be bigger so they are easier to read and interact with.

With Coppice, we support the ability to change the size of the sidebar in a document. By default this matches your system settings, but you can also override this specifically for Coppice, if you prefer something different

VoiceOver (and other assistive tools)

It's also vitally important to provide full support for those who use assistive tools such as VoiceOver. In many cases this just means ensuring controls are correctly labelled in the UI. We have also made the effort to ensure navigating through the UI with assistive tools is as easy as possible, by ensuring the UI has a hierarchy of groups, rather than appearing as one long, flat list of every element in the UI.

Coppice also presents other challenges. By its nature, it is a very visual tool. So how do you communicate this to someone who may not be able to see? There are also other actions such as resizing a page. How do you make this functionality available to someone who cannot see the page edges or who may not have the fine motor function to be able to use a mouse?

The video below shows some of the solutions to these problems we have added to Coppice. When you select a page using an assistive tool like VoiceOver, it reads out the page type as well as where that page was linked from, which gives you some context as to the relationships on the canvas. Interacting with a page also exposes special resize handles so that users of assistive tools can easily resize a page.

The Future

This is just the start for accessibility in Coppice. As with any aspect of software, there are always ways to improve accessibility. Our goal is to make Coppice one of the most accessible pieces of software around. That's not an easy task for an app as complex and as visual as Coppice, but it's one we intend to continually work on.

To achieve this we will need your help. If you ever find something in Coppice that feels inaccessible, please get in touch and we'll try to fix it as soon as possible. And if you want to try out the features above before release, you can add your name to the waiting list for the Coppice Private Beta.

As always, if you would like to stay up-to-date on Coppice, make sure to subscribe to the Coppice Blog, the Coppice Mailing List, and follow @coppiceapp on Twitter.

Designing for Privacy

Posted:

At M Cubed Software we believe that privacy is a fundamental human right. Sadly it isn't one that is universally protected, and it is common in the software industry for some companies and their apps to vacuum up user data left, right, and centre. We prefer to take different approach, so today we'd like to show you how we have built Coppice and our surrounding infrastructure with Privacy in mind.

(All information here is accurate as of the time of writing. If you are reading this at a later date some details may have changed, but our principles will always remain the same.)

Privacy Policy

The key to privacy is transparency. Transparency about what data we collect, how we collect it, and why we collect it. This level of transparency is something now required by law thanks to the EU's General Data Protection Regulation (GDPR) and takes the form of our Privacy Policy. This outlines the data we collect, the reasons we collect it, and what your rights are with respect to your data. We have just updated this to be even more comprehensive and clear, so be sure to check it out.

Data Minimisation

Privacy is fundamentally about protecting data, and the easiest way to protect a piece of data is to not have that data in the first place. As such, when we were building our websites and the infrastructure to support Coppice, we took a long hard look at every piece of data we stored and asked "is this something that we need or merely something that we want to collect?" If it's the latter then we tried to remove it.

Here are a few examples of how we minimise data collection:

M Cubed Accounts

When you sign up for an M Cubed Account we only ask for your email and password. We don't ask for your name, your address, or any other data that is not absolutely necessary to provide you with a secure way to manage your subscription.

The Coppice Mailing List

Similarly, when you sign up to the Coppice Mailing List we only ask for your email. Sure, it would be nice to have any email we send you start with your name but it isn't necessary for the mailing list to work. We have also chosen a mailing list service that allows us to disable tracking when we send out emails. All we need to know is whether the email failed to get to you, we don't need to track what you do with it after it arrives.

Analytics

We also keep our analytics to the bare minimum. For our websites the story is simple: we only collect essential access logs.

For Coppice, we give you an option to send us some basic analytics data to help us improve the app. This is entirely opt in and is stored anonymously on our servers. You can always change your mind in our Preferences window, and we also give you full details of what information we send, as well as exactly how each piece of data helps us make Coppice better. Below is an example from one of our machines.

We even went an extra step with this. The tool we use to collect and send this data (Sparkle) is used by many apps on the Mac and can collect a lot more data such as how fast your CPU is, how much RAM you have, etc. For some apps this is very useful information, but for us it isn't necessary. Unfortunately it doesn't allow developers to choose what data is sent, so we opted to customise it to let us only send the data we really need to make decisions about Coppice. When Coppice is released we will be offering these changes back to the Sparkle project so other developers can benefit.

A sheet from Coppice's preferences explaining why analytics are collected. Below is a table showing the data that is sent (OS Version, CPU Type, Model, Language, App Version, and Bundle ID). Above the table is a toggle allowing users to switch between the Raw data or a human readable version

A Local App Means Local Data

One of the benefits of writing a native app that runs on your machine is that we don't need to handle your data. In fact, unless you actually send us a document you created with Coppice, we don't know anything about what you create with Coppice. Your documents are stored where you want, and you have control over who you give access to them.

Coppice is Our Product, Not You

Unfortunately there are some companies out there that don't view their app or their service as their main product. Instead, they see it as a way to collect the thing they really make money on: your data.

We take a different, more "traditional" approach: offering you a great product in exchange for a great price. That is how we make our money, and it makes all of the other points we mentioned above so much easier to implement. It also means that you are our number one priority. We don't need to add features and functionality to satisfy some other group of people. Instead we can focus on making sure Coppice keeps providing you value.


So that is a bit about how we view privacy and how it has been designed into Coppice. Privacy is always an ongoing thing, so if we ever need to change something we'll be sure to always be completely transparent with you. If you have any questions related to privacy then please feel free to email privacy@mcubedsw.com at any time.

If you would like to stay up-to-date on Coppice, make sure to subscribe to the Coppice Blog, the Coppice Mailing List, and/or follow @mcubedsw on Twitter.

The Coppice Private Beta

Posted:

For the best part of a year we have been at hard at work on Coppice, designing interfaces, building features, and fixing bugs. Over that time only a small handful of people have been able to try out Coppice and offer feedback on it. Now, we're happy to announce we're looking to expand that group with the Coppice Private Beta.

We're looking for people who would like to help us shape the initial release of Coppice and iron out any bugs we have missed. You can register your interest in the beta at the Coppice Private Beta page. Just enter your name and email you will be added to the waiting list. We will start selecting people to join the Coppice Beta soon.

Please note that Coppice requires a Mac running macOS 10.15 or higher, so make sure your machine can handle that before signing up.

We can't wait to get Coppice into the hands of more people and see what you think.