Nova is a new (vehemently macOS-only) code editor from Panic, the folks behind Coda. It’s like “Coda 3” except this was such a major re-write that they gave it a whole new name.
I played with some of the betas as they were building it. I got a little discount as it went live, so I bought it and am using it here and there. Here’s my thought dump!

Like a lot of other people, I’m on the VS Code train. VS Code is very good and free. I work on a team where everyone else also uses VS Code. It’s going to be hard to dislodge my VS Code muscle memory. I’ve written about switching code editors before. The short story:
- Nothing can be obnoxious up front. As in, I can re-learn things after the transition.
- There has to be some killer feature that makes it appealing.
I really, really like Prettier and Emmet. If I couldn’t have those, I’d be out for sure. Fortunately, they are some of the top extensions.

The default expansion for Emmet is Ctrl-E
though, and it doesn’t work with Tab
expansion (as far as I can tell), which isn’t my favorite. It does have all the extra fancy things Emmet can do though, which you can map to whatever keys you want.
The key binding setup is great. I was able to map all the things I’m used to, like setting Command-T
to “Open Quickly” which is like the “Go to file…” setup in VS Code.

I have nearly 30 VS Code extensions activated. They all add some little nicety to VS Code for me specifically. I haven’t missed any of them yet. It would be a bonus to me if the default behavior of Nova was so good off the shelf that it didn’t need as many third-party tweaks (aside from the two biggies I already mentioned). For example, I don’t need a plugin to make my indendations all rainbow-ified because they already are!

“Find-in-project” is something I do at least a dozen times a day, so that’s something that needs to work tremendously well for me. My only issue so far is that it seems get stuck on “Indexing Files…” for me quite a bit (or feels stuck because it gets the ol’ fan spinning). That said, it seems to return good search results.
The Mac-ness of Nova is very, very strong. Scoping the “find-in-project” search results (say to only return *.js
files) requires creating a new search scope. I can save that scope with a custom name which is a neat idea, but it has the very verbose UI-heavy search scoping from the MacOS Finder rather than a quick input field where I can quickly type *.js
to scope results. In other words, it just feels like an example of emphasizing Mac-y-ness over usefulness.

Another mega Mac-y-ness thing is right-clicking a folder to open the file browser: it’s exactly like right-clicking a folder in the Finder. It’s comforting in a way, because that menu has a lot of powerful things in it.

But it also lacks things that might be contextually useful. For example, I miss an option to “Open this folder in a terminal window.”
The UI details are very nice. Selecting of coding font preferences is wonderful. The minimap looks great with little colored rectangles representing your code. The window and editor themes are very well done. Everything about the UI is just super classy.


It’s still a successor to Coda, so if you need to SFTP into remote servers and do direct editing, that’s there. I just had to do it the other day to edit a file I intentionally keep out of git, so that feature is still handy at times.

I otherwise would have used Coda for that, and didn’t even have to set it up for Nova because Panic Sync brought over all that auth info.
I do kind of dig that there is a built-in browser (Safari, of course). I’m wondering if I can get the muscle memory to be able to work within just this one application only without having to do much window-juggling. That means file browser, code editor, terminal, browser, and DevTools.

It’s a lot to see at once, but… kinda cool? I wish it had the option to use Chromium built-in as I happen to be more familiar with those DevTools There are some rough edges too, like my little tmux session in the terminal doesn’t respond to click events.
It’s interesting that Swift isn’t a built-in language. I would have guessed Panic even wrote at least parts of Nova in Swift given its Mac-y-ness.
If nothing else, you should check out the Nova landing page for all the CSS trickery! The animated clip-path
on the image illustrating Nova’s themes is super cool (I heard clip-path
animations are hardware accelerated in Safari, which is great!). It’s just some images stacked on top of each other all sharing the same animation, staggered out:
@keyframes wipe
{
0% { clip-path: polygon(-50% 0%, 0% 0%, -50% 101%, -100% 101%) }
100% { clip-path: polygon(150% 0%, 200% 0%, 150% 101%, 100% 101%) }
}
/* ... */
img#interface1 { animation-delay: -17000ms; }
img#interface2 { animation-delay: -15000ms; }
img#interface3 { animation-delay: -13000ms; }
img#interface4 { animation-delay: -11000ms; }
The <hr>
though… that’s just gorgeous:
Oh, and check out the use of the display-p3
color format!

One of the bad things… it doesn’t run in High Sierra, which I need to keep using so it doesn’t break my CS6 apps. Wah!
Was the a paid for / gifted review?
Nope.
“vehemently [M]acOS-only” is an instant deal breaker. It’s bad enough that Apple forces me to use MacOS (or some third party cloud service) just to build iOS apps. Sketch can kind-of get away with it due to utilizing Metal, but a code editor?!? Screw that. I’m not changing my workflow just to do something I can do easily (and super duper extensively) with an app that works on Linux as well as Windows and MacOS.
I think that’s a perfectly fine opinion. They absolutely know that there are a lot of developers like you. I don’t get the vibe that they don’t care, it’s just that they are very deliberately making a macOS-specific editor because they want to and are playing to their strengths.
Forcing a code editor to be mac only doesn’t make sense to me. Why would you do that? I think they will fail spectacularly.
Coda 1 and 2 were extremely popular and were Mac only too so I don’t think they’re going to “fail spectacularly”. Panic are a MacOS software company. Why is that a problem? They’re not “forcing you to use MacOS”. They’re creating software for MacOS users. Big difference.
Love Coda, shame I’m stuck with it due to being functionally locked to High Sierra on my hackintosh (long story). Been trying to switch to Windows but Coda has hands-down the best FTP client for my needs (shocking given Panic also makes Transmit).
How exactly is Codas FTP suppport exceptionally good? It works, kind of, except when it doesn’t, then it’s hard to find out why exactly …
i often use Filezilla to find the exact working ftp configuration for some obscure server, so i can then use that configuration in coda, because it’s impossible to find out what’s wrong.
Also, transmitting large amount of files usually somewhen just stops and you have no track record of what was transmitted successfully, what went wrong, and what didn’t even start … so you’ll have to do it all-over again, or use a client that can manage and output that.
That built-in FTP-remote-edit functionality is nice to have for small projects, sure, yet it supports bad habits.
Then, that OSX integration is not really so beneficial … they totally rely on system libraries, and once (again) apple decides to disable something, they are forced to move on, forcing you too, or be stuck with some old system (not their fault, but they didn’t prevent it). Besides that, those text libraries of OSX are terribly slow when i.e. search-replacing large text files (CSVs, SQLs, …) so not even a benefit there.
All in all, this is such a mixed bag that i don’t really want to switch over to Nova … instead i started today to move to Visual Studio Code after years an years of using Coda because i was used to it. I have the feeling this can work (Brackets didn’t, sublime didn’t either) and will bring some liberation and cross-platform consistency.
@Snail I shoud clarify…
It’s definitely not the best FTP client and I have regular issues with it straight up glitching while trying to upload stuff, you’re certainly right about it supporting bad habits (for various reasons, both stupid and sensible, I don’t “deploy” most projects).
Honestly, the only thing it has over other clients is the Publish panel; with every other client I’ve tried, including Transmit, my options are:
a) manually select and bulk upload the files I changed
b) use the sync feature, which insists on checking every file on remote, with no option to just assume that my local files are newer
With Coda’s setup, every file I modify, either directly or via compilers, goes into a queue ready to upload in bulk. I don’t miss uploading files I forgot I modified, and I don’t have to deal with a lengthy sync check every time. I can even cherry pick which of the queued files I want to publish now, later, or clear until they’re next modified. To me it seems like such a simple feature but I haven’t found it in a single program I’ve gotten my hands on. I might be able to build something that does this in an electron app or VS Code extension, but free time is shockingly rare for me right now.
Agreed, the publish functionality is what’s kept me using Coda all these years. Tried most of the others and none match Coda (or Nova) in this respect.
Doug, have you ever tried Forklift by binarynights? That’s my split panel Finder replacement and ftp client, I literally live in that app.
Wait, what are the benefits over VS Code or Codium? Just the Macness?
Apple only, wow
The mindset of the sheep just blows me away.
Since when does serving a specific market that prefers Mac constitute herd mentality? Panic has always designed for Mac and it’s in their wheelhouse. There’s nothing wrong with playing to your strengths.
Currently no support for React JSX and TSX syntax highlighting, which is an immediate nope from me. I know there are extensions, and it will come, but maybe I’ll have to check it out in the future.
But knowing I’ll have to switch contexts into another code editor will be a pain, it’s hard. My VSCode is setup from all the keybinding I learnt in Sublime years ago, and although there’s a keybinding section in the extensions library for Nova, it doesn’t have anything in it.
I’ve just spent several hours trying to get Nova to remember the local folder, but I still haven’t figured it out. I used to use Coda and loved it, but then they stopped making updates, and the FTP started getting flakey. Then I tried VS Code and after numerous plugins, made it work more or less like a much more powerful coda editor. I wouldn’t mind spending the money for Nova, but I have to same I am very underwhelmed by it. I think I’ll stick with VS Code. Also, it makes me a little nervous that Panic took over 3 (4 years?) years to get this new software out. I understand that their game software probably has priority, but I don’t like the idea of committing to this software only to find updates slow and new features slow to be added.
Panic yet again shooting themselves in the foot with this idiotic platform locked product stuff.
Oh well. Guess we’ll all just cry in our corners and keep enjoying VS Code for free.
Quick story. I was once at a conference thing in Portland. Panic held an open-office thing and let people come visit. It was such a cool office and they were very welcoming. I really looked up to them for that and I still do. I’ll be lucky if I ever get 10% as successful with my company endeavors as they already have been. They make software that they like and sell it people who want to buy it. While I admit (even in this article) that aspects of it are not my favorite, they seem about as far away from idiots as you can get.
I switched to Mac in 2008 specifically so I could use Coda and it was one of the best developer decisions I’ve made. (Started watching Chris Coyier at that time as well.) I did switch to VS Code last year, as Coda was getting slow and dated, but I’m looking forward to taking Nova for a spin!
I’m really enjoying using this editor so far (about two weeks into it). There is definitely room to grow in terms of the extensions that are available, but the experience is really smooth…
I’ve been using it daily for a couple of weeks and really like it. I thought I wouldn’t as I have become a real VS Code fan since I switched from Coda a few years ago, however this has reminded me how good Panic’s software is. Yes, lots of room to grow but so far so good!
For commenters here who don’t get why Nova is Mac only: It is made by Panic, a veteran Mac developers who made top-notch Mac only apps in the past. It is in their DNA to deliver great Mac apps.
As one who likes the ability to play around with and customize things, Coda was always too static. “I am what I am”, says Coda and it makes no apologies for that.
It’s really great for someone who wants a powerful editor that provides a lot of the niceties VS Code requires some configuration for. VS Code is for the developer who really wants that kind of flexibility.
I agree with Chris; Panic is a great company. Their product diversity alone is respectable. I too look up to a company that does what it wants and does it well.
“Wouldn’t it be fun to develop a video game?”
“Jim! You’re a genius. We’re doing it!”
“What if we made a weird handheld gaming device?”
“Yes. We should put a crank on it.”
“A goose attacked me on the way in the building this morning. It gave me an idea…”
I wish someone would make a modern CSSEdit app. That’s all I want or need.
My project folder has several sub-projects symlinked into it. Nova’s project search doesn’t seem to follow symlinks. Or am I doing something wrong?
Would be nice if they had a converter for sublimetext and/or vs code syntax definitions. Back in the day, new editors bootstrapped syntax by directly loading or converting textmate bundles. Saves doing a somewhat thankless chore that just gets you back to where you were.
Support for language servers is not enough because there still needs to be a plugin to express the stuff the language server does so that it appears in the Nova UI.
Doesn’t fix mac onliness–can’t be done except by Panic. Rules it out for Win-only Linux-only devs or others who (reasonably) want cross-platform tools. Problem for Panic is that at least 2 good ones exist. But, if one is Mac only it’s a non-issue.
Wish they had a simple mode that would load at startup whatever was open when previously closed. It’s not a big deal but pretty much every editor on the planet has it. That’s what should happen when you turn off the project loader thingee. That the previously loaded thing might not be available is not blocking: just revert to default or empty window. You can turn off the project thingee and do file/open recent… …but why not load my most recent thing for me. It’s not always what I’d want but how many times do I close the editor and later return to what I was doing? …a lot.
I love reading the rantings of those with development platform biases. I have made money working on Mac, Windows and Linux boxes. When I switched from Windows to Linux, it was a bit of a struggle but later I swore I’d never go back to Windows. Later, I switch to Mac and I swear I’ll never go back to developing on either Linux or Windows (Ok, sometimes I do work on all of them, so the swearing was pointless). My favourite now is my M1 Mac and I won’t do any more serious work on anything else. I used Coda for awhile but found it too Mac-y at the time. After trying most of the other popular editing environments I settled on VSCode. My curiosity got the better of me and I picked up Nova. Wow, it is the most performant environment I’ve used (ok not as performant as vi). The only thing that will keep me from deleting VSCode is that it does not have the ability for remote coding that VSCode (and now PhpStorm) does. I’m not sure that will ever happen so I suspect I’ll keep VSCode around for awhile. It is, in my opinion, a great coding environment. I don’t care that it is Mac only, for me, OSX is the best, most stable and easiest to use development environment to date. Other people’s mileage will vary, more power to them. I would rather have a quick, native editor than a front-end for an Electron app.
I used coda without problems. Recently i’ve encountered i cannot use the usual customize theme functions. The page remains blank on the right hand side. Despite numerous attempts to get support… nada
Is there a simple trick without the need to access the customize page via my browser?