Issue #12 - Cork
Hey everyone, I’ve had a few queries regarding app features & suggestions. If you have an app you would like to be featured or a new/updated app for the app radar, then I have submission forms here. Also if there is an app you’d like to see or have any other suggestions then feel free to get in touch via Mastodon or Twitter.
I’m wanting to do more to help promote indie app. So I’m going to repost more from indie developers as I find things I think would be of interest. Let me know what you’d like to see & as always please share & support indie devs.
This week, we're taking a look at Cork, created by David Bureš. Cork provides a GUI for Homebrew. It is ideal for people like me who use Homebrew, but not often enough to remember the commands. Its design is straightforward and simple, staying out of the way and doing its job effectively. It's exactly what you would want from a utility app. The key feature for me is the status view that allows you to see what is installed and the number of updates available at a glance.
What is Cork?
Cork is a graphical user interface for the Homebrew package manager. I designed it to be simple, so the average user who has never touched the Terminal before could use it.
Where did the idea for Cork come from?
When I gave my mom my old MacBook, I wanted her to have all her apps up-to-date. At the same time, I wanted the apps to be retrievable from one central location (so she didn't have to worry about getting viruses from shady downloads). That made Homebrew the ideal candidate for this task.
She has never used the Terminal, so I wanted to find a GUI for her that she could use Homebrew through. Unfortunately, I couldn't find any that would fit her. There were some, but even by that time, they have been abandoned for a long time, their usability left a lot to be desired, and they were very slow and unintuitive.
At that point, I decided to make Cork. I believe that even the average person should be able to experience the convenience of Homebrew.
What’s one stand out feature you’d like everyone to know about?
It'd have to be the fully-custom package installation workflow. It truly feels like it was made by Apple (when it doesn't run into SwiftUI bugs, of course 😝).
When you want to install an app, you press the plus button on the top right of the window, or use the hotkey, ⌘-N. This brings out a list of the most popular apps (so if you're looking for something popular, you can install it right there). If you can't find the apps you're looking for in the list, you just look them up.
Once you find what you're looking for, the real magic begins.
You'll see a live-updating progress bar, depending on the stage of the installation. The installer shows you the number of dependencies, which dependency is being installed, and more. So you always know how the install is progressing. It's really satisfying to see the number of downloaded dependencies going from "1/30" to "30/30" in real time, then switching to "Installing package", and then to the "Package installed successfully" screen.
How do you promote Cork?
I mainly post about it on Mastodon. I used to post about it on Reddit sometimes, but nowadays, the community is becoming more and more hostile and demanding, so I stopped posting there. It's similar on Twitter.
Truth be told, I struggle with promoting the app. I have no social media apart from Mastodon, so it's difficult to reach my target audience. I often don't know where to post about it.
One unusual strategy I use is posting the app to piracy forums. It captures the often overlooked market segment of people that don't have the means to get my app the official way. I want Cork to help truly all people, and I recognize that not everyone is in a position in their life when they can get my apps normally.
How did you decide on the pricing?
The pricing has always been difficult to determine. The app is open source, so everyone can compile it themselves for free (I even provide very easy to follow instructions in the repo README). This is why, at first, I was distributing pre-compiled versions to people who supported me for at least 5€/month (I settled on 5€/month because my bank would impose huge fees on the transactions if I priced it lower). You could say it was a kind of a subscription, but even if you cancelled, you'd keep getting the newest updates. So it wasn't a true subscription in the traditional sense.
A bit later, I added a one-time purchase option, which I priced at 25€. I noticed that people would cancel their subscriptions after about three months on average (so that's 15€). Then I added 10€ on top of that to offset the income I'd lose if people opted for the one-time purchase instead of the ongoing monthly price. And that's how I arrived at 25€.
The 5€/month option is still there for people who want to continuously support the development, but most people opt for the one-time purchase, and I can't blame them. I would, too.
How did you launch Cork?
There have been two "launches."
First, when I felt that I had enough features implemented, I posted about it on Reddit and did an AMA (ask me anything) session in the comments.
And second, I created a ProductHunt page and posted about it on Mastodon. That didn't get much traction, unfortunately, but it's still there.
Funnily enough, what brought in most people was when I posted about the app under the #showcase hashtag on Mastodon, but I'm not getting much growth from Mastodon anymore. I guess everyone there already knows about Cork.
How long did it take to get to the first version?
If we're talking only active development time (and not the 9-month-long gap in 2022 when I wasn't developing it at all) until version 1.0, about 7 months. Cork was actually the first GUI app I have ever made, so it took me a lot of time to get the basic features implemented.
Is there anything you’ve learnt that stands out?
I've learned that even the solution to even the simplest problem often has to cover all sorts of unexpected edge cases that you didn't foresee when you were thinking it up.
Take, for example, the package updating workflow. In theory, it should be simple: You execute two commands.
Then you find out that there are 7 different possible errors that can occur, and you have to handle all of them.
Then you realize that the user's internet can go down in the middle of the process, so that's 2 more errors.
Before you know it, what should have been a simple set of two commands ends up taking a week to implement and you have 20 edge cases you needed to cover!
Any tools or apps you would recommend others check out?
I'd definitely recommend Craft, which is really helpful for note taking. I use it every day to jot down my ideas, and come back to them when the time is right.
Fork is another amazing app, which I actually bought twice. It's just so useful, I want to support the developer as much as I can. It's the best interface for Git I have ever had the pleasure of using; I don't even touch the Git in Xcode or Terminal anymore, since Fork is so much better.
What's one tip you would give to someone starting out?
Find a problem in your life and create an app to solve it. Don't get sucked into tutorial hell, and screw theory. You'll learn the most when you're actually having fun building useful apps. What good is knowing the O efficiency of twenty sorting algorithms, and knowing the ins and outs of MVVM, when you can barely make the simplest app on your own? Some people will say that you need to adhere to best practices, and knowing this and that is useful, but they're wrong. As long as your app works and you're having fun, that's all that matters!
Where can everyone go to find out more?
Definitely check out Cork's website.It has all the info and pictures you need to get you started, plus all the links where you can find out more.
Next step would be the Cork Discord. I'm very active there, so if you have any questions, you can always send me a message (I'm @truesalmoon by the way). The other team members are also very welcoming, so don't be scared of talking to us!
And last but not least, there's the Cork repo, which is always looking for contributors!
Every Word is a player for your audiobooks. Organize and explore your audiobook collection with easy-to-use features and a friendly interface.
- Widgets now support interactivity and StandBy
- A new Live Activity for the sleep timer
- Lots of improvements under the hood
Thanks for reading, I hope you enjoying reading as much I do putting it together. Please help support the newsletter by sharing it. The social links are below.
If you have an app, tool or service that would like to be included then please submit it here.
Thanks for reading IndieAppSpotlight! Subscribe for free to receive new posts and support my work.