I'm excited to announce that Coppice 2022.2 is now available to download. As I talked about last week, this release has been a long time coming for a variety of reasons, but I wanted to make sure it got out before the Christmas break.
This released has focused a lot on linking on canvases. In previous versions of Coppice, links between pages on a canvas have just been simple arrows. They haven't really done much beyond visually linking two pages. You haven't been able to add or remove them beyond clicking links or closing a page. And you haven't been able to have multiple pages link to the same page or have loops of pages. That is, until Coppice 2022.2.
Canvas Links are now their powerful tool inside Coppice, letting you map out your thoughts with greater freedom than ever before. Let's take a look at some of their features.
Highlighting Links
Now that Canvas Links are much smarter, Coppice is able to link them back to, well… links. If you hover over any Canvas Link arrow it will highlight all the links that it represents on the page it's linking from. And hovering over a link will highlight any arrows that represent that link.
Not only that, Coppice can also detect Canvas Links that no longer have an associated link on a page, drawing them with a dashed line instead.
Creating & Deleting Canvas Links
You can now create and delete Canvas Link arrows without touching your Pages. To delete an existing Canvas Link just click on its arrow and hit backspace to delete. Creating a Canvas Link to an existing page is as easy as Command-clicking on a link to that page.
And for Coppice Pro users you can create a link on a page and a canvas in one action with the new Link to Page option in the Canvas menu.
Multiple Links to Pages
One thing that this flexibility in creating links allowed was the ability to finally link multiple pages to a single page. Previously Coppice had a "parent-child" relationship between linked pages on a canvas, where each page could only have a single parent. Now you can link pages any way you please, meaning that those who prefer to have only a single instance of each page on their Canvas can do so.
In fact, if you really enjoy this new way of working with pages, Coppice Pro now lets you make it the default. Go to Settings and enable the new "Link to existing pages by default" and clicking any links on a canvas will link to an existing page over creating a new one (though you can still force it to open a new page by command-clicking the link).
Other Improvements
I've also added some other great quality-of-life improvements to canvases. The first is that closed hierarchies now open relative to their parent page. Previously, hierarchies would store their absolute position on a canvas. This mostly worked fine, but if you moved an open page and then re-opened the hierarchy then it may appear a distance away from where you expect. Now it shouldn't matter where you move pages.
The second big improvement is for accessibility. Those who use accessibility tools like VoiceOver can now use rotors to navigate through all pages or all links on a canvas.
Finally, Coppice has a great new icon, thanks to the amazing Matthew Skiles. The old icon has served me well, but it was time to finally update to Apple's new design pattern and Matthew pulled it off perfectly.
I'm incredibly pleased with this version of Coppice, even if I may be disappointed with how long it took. Hopefully changes I'm planning for next year will lead to more frequent updates.
For now though, I want to wish you a very wonderful end to 2022 and I hope you enjoy any celebrations in your corner of the world. Here's to 2023 and the many Coppice updates it may bring!
2022 is nearly over and I thought it would be a good opportunity to review the year and what I achieved, as well as what I didn't. I also want to look forward to 2023 and what I hope to do differently.
Coppice Releases
Coppice was simultaneously a success and a disappointment. In the first half of the year I managed to get out version 2022.1, a big update that added numerous new tools for Image Pages, including the ability to link them. It finally got Coppice to the baseline I'd envisioned years ago when I started.
Coming next week will be version 2022.2, another big update that changes how linking works on a Canvas. Canvas Links become their own concrete thing, which you can create and delete separately to Pages. It can be a game changer for some workflows.
That's two major updates that massively improve parts of Coppice, two updates that I am incredibly proud of. Unfortunately, they took a lot longer than I expected. I had hoped to be talking about a 3rd release this year that would get Coppice into the Mac App Store. Unfortunately things got in the way (which we'll get into later) and so development took longer than expected.
I'd also planned to improve marketing, with more blog posts, videos, a new website, and more. None of that happened.
Streaming
The highlight of the year for me has been starting streaming. It's helped to give me a stable schedule to work on Coppice and also introduced me to many great new people. On top of that, it's taught me new skills in 3D modelling and Unity development, some of which may be useful for future Coppice plans.
It makes a huge difference having a project I can work on where I don't need everything to be at the highest level, where I don't need to worry about things like keeping people's data safe, where it's fun without any stress.
If you haven't seen the streams then I highly encourage you to drop in sometime. I stream every Sunday and Monday at 1pm GMT and Wednesday at 6pm GMT over on Twitch. Right now I'm focusing on building my interactive 3D overlay, but in the new year I'll be back into Coppice development.
Life
The biggest issue this year has been life getting in the way of things I've wanted to do. I've spent a lot of the year dealing with fatigue. Part of that has been burnout, doing too much between my contract work, Coppice, and other life jobs. I'm hoping a long break over Christmas will do a lot to help me recharge my batteries.
Burnout isn't just caused by overwork though, it can also be caused by spending too long on the graft of building something without the reward of releasing anything. My plans for 2023 should hopefully help that.
I've also had some health issues that caused my fatigue as well. Thankfully, they seem to have been diagnosed and treated, so I'm now feeling a lot more energetic during the day. This means I'm spending far more time able to work on things that require more thought and less brain fog (such as writing a blog post).
So if you've been wondering why there have been so few updates from me this year, besides streaming, it has been primarily down to this. Here's hoping it's all better next year.
2023?
So where do I want to go in 2023? And what do I want to do differently? This next year will be focused on two things: Process and iPad.
Process is about building the tools and practices for me to get more content out, faster. The first part of this is smaller releases. I am going to try and focus releases on single features, rather than areas. This means you will get a regular trickle of features rather than a few big splash releases. It also means I get the feeling of accomplishment more regularly.
The second part of process is around marketing. I want to build out a process to get out more frequent blog posts, social media posts, and even tutorial videos and advertisements. I'm able to get information out easily while streaming, but I need to share this in a wider away of formats. One example is sharing what I worked on on stream through social media. Setting up a pipeline where that happens after every stream would keep you more informed and ease my workload.
Then there is iPad. From day one I've build Coppice with an iPad version in mind. I've not committed to anything concrete before, and I still can't until I've proved that it works, but the next year will be when I embark on that project. I can't say when it will be released. I'm hoping that by this time next year I'm able to say Coppice is available on iPad, but a lot has to happen between now and then.
Regardless, I hope I can come back to you this time next year with more good news and fewer problems. Sadly software development always hits bumps in the road, but being open about them at least helps you understand why problems happen. I hope you have a wonderful end to the year and (in a few weeks) a great 2023!
I'm happy to announce that Coppice 2022.1 is now available for release. I've been working hard on this since the start of the year, focusing on improving the functionality and usefulness of image pages.
Image Linking
The big new feature in 2022.1 is the ability to link from image pages. You can now drag hotspots over sections of an image. These hotspots can be linked to other pages or URLs, just like links on text pages. Clicking on the hotspots when viewing an image page will take you to that page (or open it on a canvas).
I'm really excited about this feature as it opens up entirely new workflows inside of Coppice. For example, if you're using Coppice for world building for a story, you can have a map of your world with links out to information about locations in it. Or you could be planning out a home renovation and have a floor plan that links out to various options for furniture or materials.
Rotation
Sometimes images aren't oriented the way you expect. It's annoying to drag an image into Coppice only to find it's on its side or upside down. Thankfully you can now rotate images directly within Coppice.
Cropping
Sometimes you want to focus down on a particular part of an image, so Coppice now supports cropping image pages. This cropping is fully non-destructive so if you change your mind in the future you can move or resize the cropped region.
Pro Features
Coppice Pro users gain a bunch of great improvements too. Firstly, you get even more choice when creating image links. Free users can create rectangular hotspots, but Pro users also gain access to Oval and Polygon hotspots, giving you a lot more flexibility.
One of the coolest features I've built to date though is auto-linking for images. As you probably know, Coppice Pro has supported auto-linking in text pages from the start, automatically finding text that matches page titles and creating links for them. Well thanks to the power of machine learning, Coppice can now find text within your images and do the same thing. As an added bonus, this also enables Coppice's search feature to match against text inside an image!
You can download Coppice 2022.1 by going to Coppice > Check for Updates… in Coppice's menu bar or by clicking the button below
Software development can seem like a rather opaque practice at times. People tap on keyboards and software comes out at the end. Most people only see the final result, not the many decisions that led to it. You also often don't get much communication with the people behind those decisions, beyond the occasional blog post, tweet, or support email.
I've been thinking of ways to help change that with Coppice. Last week you saw one aspect, with the introduction of the Dev Diary to chronicle what I have managed to work on the previous month. Another aspect is what I want to talk about today: the Coppice Dev Stream.
Developing Live
When most people think of live streaming services like Twitch they think of people streaming playing games or chatting with people. However, there's a small but ever-growing community of people developing software too. From games to websites to server side code, developers are sharing their process with people all over the world.
I've been enjoying quite a few of these streams. In particular I've enjoyed both Pirate Software (who is building a game) and DoigSwift (who build their entire streaming environment in Unity). These streams have inspired me to experiment with building Coppice live.
There are multiple benefits for me in this. For one, having a regular streaming schedule helps lock my focus down purely on Coppice. I've found that I'm far more productive while streaming than I would have otherwise been because I'm very present in those 2-3 hours of the stream.
I also have the benefit of people in chat offering suggestions when I'm stuck on a problem. I would have got to a solution eventually, but I've had several cases where chat has helped speed me up by pointing out the more obvious answer.
Streaming can also help work as a "low effort" marketing tool. Marketing is one of the hardest things for an indie developer to do, and it usually takes away from time that could be spent improving the app. Streaming allows me to make the development part of the marketing. It's too early to say how real this benefit will be, but it doesn't cost me anything to do.
Finally, streaming offers me a way to give more back to the community. Others can watch and learn how a Mac app is built. They can bring questions along for me to try and answer. Or they can just see out in the open that everyone makes silly mistakes or writes messy code from time to time.
Building the Stream
I want to go a little bit into how I've built up the stream. The first key part is the video. This is handled via OBS (the Open Broadcaster Software), which lets me build up various scenes. Most of the time I'm on a scene that captures my iMac's screen and adds an overlay and my little robot avatar over the top.
The little robot avatar is my answer to the fact I don't want to have a camera on me for several hours. It uses an app called veadotube mini, which lets me set up a series of PNGs that will change based on my audio input.
Speaking of audio, that is the next key component. For hardware I'm just using my regular gaming headset. Now I did buy this headset because it's meant to have a better than average mic, but I haven't gone for some sort of fancy set up. With a few audio tweaks in OBS it's sounding pretty good.
The background music is a bit more involved. First is finding the music, as you need to get royalty free and DMCA friendly music, but thankfully I've managed to put together a playlist. Next is getting the audio into OBS. This is a bit Rube Goldberg-esque, but essentially I use SWB Audio App to create a virtual output for OBS to read. It also creates a virtual input for me to pipe the audio from the Music app to, which I do using SoundSource. A bit awkward to set up, but it works really well.
Finally, I have my Stream Deck. This is probably the biggest amount of money I've spent on this set up but, to be honest, the stream was just the justification to finally buy something I've wanted for a while. I've configured various actions to let me switch my OBS streams, switch my avatar between states, post messages to the Twitch chat, and even post my "going live" tweets to both @coppiceapp and @pilky.
Watching the Stream
If you want to follow along with Coppice's development, ask questions and provide live feedback as I design and code, learn more about software development, or just chat with me and others watching, then you can follow along live at twitch.tv/pilkycrc.
Currently I'm streaming twice a week. Every Monday I stream from 2pm-5pm UK time (9am-12pm EST). And each week I alternate between Friday from 2pm-5pm and Saturday 2pm-4pm, to fit around other work commitments. If you follow the pilkycrc account on twitch, you can be notified whenever I start streaming.
If you can't catch the streams live then you can watch the videos on-demand. The videos go up on Twitch immediately after the stream ends and stay up for 2 weeks. I've also started a YouTube channel for Coppice where I'll be uploading each stream a few days later.
I hope you'll join me as grow both the stream and Coppice itself. As always, if you want to stay up to date with Coppice then also be sure to follow @coppiceapp on Twitter and subscribe to The Coppice Blog
Back in October I wrote about how I wanted to be more transparent about the development of Coppice. There are several ways I'm wanting to do that, but the one I'm focusing on today is a new series of posts called the Dev Diary. This will be a monthly account of what work I managed to get done on Coppice, be that design, development, marketing, or anything else around building and selling an indie Mac app. So let's get started with January's edition.
Recovering from 2021
After the release of version 2021.2 I was feeling dangerously close burnt out. I took the decision to take the whole of December off from working on Coppice, and then take two full weeks off all development work over Christmas. Burn out is a dangerous thing, especially for an indie developer. I've learnt the hard way that it's far better to tackle it early to save yourself in the long run.
Thankfully, after this rest I'm now feeling a lot happier, healthier, and more enthusiastic about working on and improving Coppice, which bodes well for the rest of the year.
Starting Streaming
The first thing I worked on this month wasn't actually Coppice itself, but a live development stream. This is a place where people can tune in to watch me work on Coppice live, and bring comments and questions for me to answer as I work. It's another pillar of my transparency strategy and one that is also helping keep me motivated and focused on the task at hand.
Most of the work this month was just building the initial stream setup and getting used to the software, but I'm pretty happy with how things are going. I'm planning a more in-depth post next week, but you can check out the stream (including VODs of old streams) over at twitch.tv/pilkycrc.
Starting Version 2022.1
The next big version of Coppice is version 2022.1. This will focus heavily on improving the functionality of image pages. The two key areas I'm working on are some basic image editing tools, such as rotate and cropping, and the ability to create links from image pages to other pages.
I've already managed to get the rotation functionality built and have made a good start on the cropping functionality. The latter is going to take a lot more time than I anticipated as there are lots of small UX problems to solve.
I've also started building out the designs around how linking hotspots might look, though this may take a bit longer to implement. One enjoyable thing about this whole version is it's pushing my graphical coding abilities beyond my usual comfort zone, allowing me to explore parts of Apple's APIs I haven't had opportunity to touch in the past.
That will do it for this month's dev diary. As always, if you want to stay up to date on Coppice then be sure to subscribe to The Coppice Blog and follow @coppiceapp on Twitter.