Issue #2: Chime - a minimalist macOS text editor for Go and Ruby
This week, we're going to take a look at Chime - a minimalist text editor for macOS.
Chime was created by the husband and wife team Matt Massicotte and Tania Slywynskyj.
They wanted to build something that blended modern IDE features with a minimalist user interface. The goal was to create something you could just open and use without any configuration.
And as far as I'm concerned, they've knocked it out of the park 🚀.
Can you tell us a little about yourself?
I've been a long-time macOS developer. I actually started pre-OS X, but began picking up Objective-C with the OS X 1.0 release.
All my Apple development was for fun until I actually joined the iOS team at Apple shortly after the original iPhone was launched. I was at Apple until right around iOS 5.
From there, I ended up at a company called Crashlytics, where I worked on crash reporting for Apple systems for a number of years. Eventually, that team was merged into the Firebase group at Google. However, I decided not to go down that road and started out on my own.
How did you come up with the idea?
My partner Tania and I had been kicking around project ideas for a while. One day while we were discussing the state of text editors on macOS, she asked if that was something we should consider building. I told her that it would be too difficult, but ultimately when we both couldn't shake the idea, we decided to take the risk and build it ourselves.
We launched Chime in early 2020 and it's evolved quite a bit since then. We’ve spent a lot of time iterating on the app, both in ways that are user-facing as well as internal. This work has had the nice side-effect of making it easier to expand Chime to support other languages. So, we added support for Ruby! It’s been a lot of fun to use Chime to actually write some Ruby! Chime v1.7 is available to download today and includes beta support for Ruby.
💡 How do you come up with your app ideas?
Let me know and I'll share the best strategies in our next issue.
How did you market the app as an indie developer?
Generally speaking, I think we did a poor job with marketing. Fortunately, developers love to share new things, so we've benefited from word of mouth.
Since Chime is such a niche product, discovery is absolutely essential for us. In the last few weeks, we completed a huge project that added support for a second language to Chime. This has helped us make our niche a little bigger, but we still need to do more to make sure people actually find our product.
What's next for Chime?
We typically follow a cyclic pattern of building a new feature, a maintenance phase, and then a period of focusing on polish. We try really hard to only be focused on one thing at a time.
Launching Ruby support was a ton of work, and we're now in a fairly deep maintenance project to clean up some of the corners we cut to get it out the door.
Traditionally, powerful IDEs tend to also have very complex UIs. We're really into focus, and we wanted to bring a sense of reduced distraction and minimalism with Chime. Tania does all the design work, but we always work closely on new concepts. She likes to produce lots of rough variations first and then narrow them down and refine them.
Unfortunately, the project is constantly bottlenecked in implementation, especially over the last year. But, hopefully, we'll be returning to a polish phase soon, and then we'll spend more time dialing in our UI.
While we've found that polish goes a long way towards getting people in the door, it's really the functionality that keeps people around.
Chime's development has also yielded some notable open-source contributions:
- Impact: crash capturing library for Apple platforms
- Meter: library for interacting with MetricKit
- Neon: Swift library for highlighting, indenting, and querying structured syntax
- SwiftLSPClient: Swift library for interacting with Language Server Protocol implementations
Chime is a perfect example of building something you want to use. Had I been in their shoes, I would likely have taken the existence of so many competing text editors as a reason not to pursue the project. So, I find it all the more impressive that they used the existence of so much competition as a means of validating their idea and chose to pursue a project that would require such enormous effort.
It's been over 2 years since Chime was first released and Matt has continued to release updates every month. Seeing how Matt handles all of the support tickets himself, even 2 years later, I guess I shouldn't be surprised by his level of commitment.
While most developers demonstrate a lot of care in their app's initial release, it's something else entirely to maintain that level of focus and quality over a number of years. In my experience, it's rather uncommon to see professional apps - let alone indie apps - demonstrate such care in small things like typography and animations.
For those of you that know me, I'm a pretty minimalist guy and it's always a nice win when I find tools that reflect those same characteristics without sacrificing functionality.
While Chime is a paid tool, it comes with a free trial and a very reasonable price and renewal structure. There's no kickback or incentive on my end - this is simply a genuine vote of confidence for Chime, Matt, and Tania.
If you use Go or Ruby in any capacity, Chime is definitely worth checking out!
As a closing note, welcome to the ✨ 102 new people joining ✨ us this week!
If you're enjoying the newsletter, please consider sharing it! Have some feedback you want to share? Drop me a message 📧
Or, if you're looking for something else to read, check out our sponsor Refind!
If you're an iOS Developer with an upcoming interview, check out Ace the iOS Interview:
Subscribe or follow me on Twitter for updates!