The Coppice Blog

News, tips, and sneak peeks

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.