If you’re pressed for time, here’s the short version:
- We’ll stop selling our Code Editor app for iOS soon
- The app should continue to function for a long time, but won’t receive further updates
- If you bought Code Editor in the last 60 days, contact us if you need help with a refund
- We’re working on a new version of Prompt, though!
Code Editor — originally called “Diet Coda” then later “Coda for iOS” — was our powerful and full-featured iOS editor for developers. Introduced in 2012, it was packed with innovation, like our “Super Loupe” designed to make iOS cursor placement more precise — even fun, and an “iPad Preview” that let you use your iPad as a dedicated website preview screen long before Sidecar. The goal was to make a great code editor for iOS that anyone could use on-the-go.
Unfortunately, like Transmit iOS and Status Board before it, we’re discontinuing Code Editor as it doesn’t generate enough revenue to cover its continued development.
But that’s not the only reason. Read on.
Why?
First, we must apologize to those of you disappointed by this news. But here’s the backstory:
The process of web development changed dramatically in the years after our release of Coda in 2007, and our products needed to change with it. This ultimately led to our release of Nova for Mac, which supports more modern workflows and replaced Coda 2. (Not to be confused with the other document editor named Coda, not developed by us.) Those same changes to web development workflows also affected Code Editor.
A significant number of web developers now use tools like TypeScript and JSX, which often require a build or compilation process before they can be previewed. The only way to make this work in Code Editor was to separately run the compilers on a remote computer in a different app; a cumbersome proposition for a mobile device like an iPhone or iPad.
So, as the time went on, fewer and fewer web developers found Code Editor useful, and sales declined.
What about making a version of Nova for iOS?
As of right now, we don’t have any plans to bring Nova to iOS because, well, it’s hard to imagine how it would work.
Launching Nova reaffirmed to us how technologically diverse web development has become. During its development, we got requests to support libraries and technologies we thought long dead, as well as requests for brand new frameworks we’d never heard of. The churn of new web tools and tech is rapid and constant. This is why having a flexible extension system is essential for a modern web-focused IDE. But that’s where the trouble lies.
The biggest technical hurdle is the inability to run external processes on iOS and iPadOS. There’s just no way around it: this is required for modern web development. For example, the TypeScript extension is one of the most popular Nova extensions right now, and it launches and runs the TypeScript compiler. While we could attempt to build the TypeScript compiler into Nova, we can’t possibly anticipate and include every such tool that might be needed by a developer. We’d need to bundle compilers, interpreters, and language servers for just about every programming language in existence, not to mention tools like linters, JavaScript transpilers, and bundlers. The scope would quickly become unmanageable, and we’d always be lagging behind the latest versions of these tools.
Even if it were viable, we’d likely run afoul of App Store policy as well. Apps on iOS and iPadOS must use Apple’s Javascript interpreter, JavaScriptCore. Although JavaScriptCore is excellent, many developer tools rely on features or behaviors only present in Google’s V8 JavaScript interpreter. Similarly, WebKit is the only allowed web rendering engine on iOS.
And still, even if we could find some clever technical way around all of these limitations, we wouldn’t know if our approaches would be allowed on the App Store until we’d fully built and submitted them for review. So, we’d be facing a huge investment of time with the possibility that it would all ultimately get rejected.
Faced with this situation, we considered a more modest design: what if we combined Apple’s new File Provider technology with a streamlined text editor? Then we could at least create a version of Code Editor with robust local file support. In the end, we concluded that this hypothetical app didn’t fully address the needs of modern web developers, plus we’d be facing stiff competition from other high-quality apps that are laser focused on this space. We just weren’t confident that the additional work required could sustain itself.
That’s a long way of saying: we gave it our best shot.
But, you know us — we love to make things, and we never say never. None of this means we’re permanently, irrevocably turning away from professional iOS tools. We’ll keep a close eye on the market and see where it goes. If the stars align and the platform shifts, who knows? There may be a way forward for a better product in the future.
What next?
Soon, we’ll remove Code Editor from sale.
The good news for Code Editor users is that it should continue to work fine on your devices for the foreseeable future. (For comparison, even Transmit iOS, discontinued in 2018, continues to work fine today for those who purchased it.) We can’t promise these discontinued apps will work indefinitely, but barring any dramatic iOS changes, they should keep going for a good long while.
Any customers who purchased Code Editor in the last 60 days or so and want a refund, please contact Apple. Apple doesn’t provide us with the ability to issue refunds for App Store purchases directly, but if they deny your request, please contact us.
And what was that bit about a new Prompt?
Well, here’s some good news, at least!
We’re still actively working on Prompt, our iOS terminal/SSH app. Having the ability to tackle quick or urgent administrative tasks from your pocket is a great fit for an iOS app. So, we’ll be rolling out Prompt 3 in the future, and we’ll keep you posted on our progress. We don’t want to tip our hand just yet, but we’re hopeful we’ve come up with some great features to keep Prompt rolling well into the future.
And of course, our Mac apps continue to be as healthy as ever.
Thank you!
It’s always extremely hard to say goodbye to one of our apps. We spent months agonizing over this decision, exploring every approach we could think of that might keep the app viable. This is always our absolute last resort. We know we have customers who love and rely on our apps, and every time we discontinue one, we’re letting them down. Thank you for being a Panic customer and fan. We appreciate your support, always. We’ll keep working hard to develop apps and products you love.
PS: Nova for Mac is doing great! We hope you’ve had a chance to check it out. It’s kind of beautiful that a big part of Code Editor’s core — the parsing engine, grammars, indexing engine, document architecture and more — became the foundation of Nova. Code Editor lives on inside Nova!