In my experience it is a bit of a mixed bag. The speed and "Mac feel" are great overall. It seems to work pretty well for the natively supported languages. Unfortunately the LSP support is nowhere near as good as VSCode and they seem to be slow to add features and fix bugs for LSP. This makes it a much worse editor for most languages.
Nova is absolutely gorgeous. I'm so done with Electron apps, even ones "done well". There's a lot to be said for fast, native apps that look and feel like they belong on the platform you're running them on.
That said, Nova's Python support wasn't in the ballpark of VS Code's. But testing it for a while soured me on VS Code, and I ended up switching back to Emacs (which has outstanding Python support via LSP these days).
Unfortunately Nova didn't work on a large project for me with a lot of generated type definitions. It was a gigantic mobx project and that would make Nova really really slow to the point of being unusable. Somehow VSCode could still work with that.
Yeah this sort of thing was my experience as well. Despite being Electron, VS Code is faster and smoother for the main project I work on. Which sucks because I would love to use Nova more (I’ve owned it for over a year now).
I forget the exact details, but I also had problems getting things like Black, mypy, flake8, isort, etc. running. VS Code is really good about making that all work with minimal effort. Emacs is a bit more effort, but it's flawless with a tiny bit of tweaking. I never was able to get the same results out of Nova, and that's what ultimately pushed me away.
I don't have anything bad to say about Nova, except that I personally didn't find it to be a great Python environment. Maybe it's brilliant for other languages? I hope so, because it's really pleasant and I'd like to see it succeed!
When Nova first came out I wrote a small extension [0] to provide an autopep8 formatting, but there is too much manual management on the user's end. Since there is no API to manage extension dependencies, the user has to manually install and specify the path to where `autopep8` is, which to my mind is a lot of friction.
Compare that to VSCode, where there is a whole API [1] for formatting extensions!
Nope, regular Emacs without EVIL. Nothing against vi, and I use it regularly for tweaking files on remote machines, but I prefer the native Emacs experience.
Emacs with evil is excellent. I don't use a lot of vim plugins but it has all the basics, change surround with cs, commenting with gc, going to definition and finding references with gd and gD respectively, etc. Unless you have some custom vim plugins you should be fine.
In my opinion, yeah. In its minimalism (I've turned off the toolbar and other stuff), it has fewer GUI elements to get "wrong". VSCode has a gazillion widgets, and none of them look like other Mac apps, and is in an uncanny valley of looking like it might be a native app on some system I don't use. Emacs is definitely off on its own direction, but at first glance looks a lot like TextEdit, minus the toolbars. It's just a large text input waiting for me to start typing.
Tried v1 two years ago. Even purchased an year subscription. Send some bug issues, feature requests. Got reply in 3 months, at which point I was back on Sublime Text 4 and IntelliJ.
I actually got a few replies to a text formatting issue I was having. I sent pictures and even little screencasts of the problem, but the support guy kept misinterpreting my problem and I finally gave up.
Such a beautiful app. I've been a HUUGE Panic fan too, so it was sad to somewhat mentally give up on them. I just recommend JetBrains products now.
I tried it and couldn't get into it, like opening files (command-p in VScode) didn't work as expected for me, and the file explorer wasn't there yet either. I'll check again in a couple years perhaps
This is exactly backwards, IMO. Command-P is "print" on the Mac, and always has been; Command-O is open. This is the kind of thing that makes non-native apps stand out as poor platform citizens.
It is "p" for pallette IIRC. Same as in Chrome devtools and others.
In a development context, I do not want platform-specific quirks. Consistency is really important for me otherwise it is a jarring context switch when e.g. copy-paste changes when moving between OSes (which I do hundreds of time a day - laptop is Mac, developer workstation is in the office and is Linux, so I remote desktop into it for code, but "office productivity" stuff is on the mac). MacOS is really irritating in this regard (different keyboard layout for fundamental things (copy paste etc) compared to Linux/win, different physical key layout compared to every other physical keyboard in the UK, different functions for home/end compared to Linux/win, different position of window controls compared to Linux/win, different position of menu bar compared to Linux/win etc)
I look on with confusion when I see people ranting about wanting more native UI elements - I want the opposite! VS Code & Chrome look and act identically on Linux and windows and Mac (more or less) and that's how I want it to stay! And indeed I would encourage further abstractions away from OS-specific allowances (e.g. position of window controls is still wrong on Mac)
I definitely see the appeal of cross-platform apps for people using multiple systems. I suspect that's a small portion of users, though: most of us work on one primary platform. In my case, I'd be happy to throw money at a native Mac app that looks, feels, and moves like a native Mac app.
It sounds like an OS-specific tool would be entirely the wrong choice for you as you work cross-platform.
(Personally, I love the fact that copy/paste work in my Terminal with the same keys as every other app)
And, if you weren't aware, the keystrokes and design pre-date most other GUI systems in use today (Ctrl-C/V/X and things like dialogue boxes and menus work were part of IBM's CUA standards which, in turn, were an imperfect copy of the existing MacOS guidelines).
Likewise, MacOS used to have a hugely important rule; because in English we read from top-left to bottom-right, important stuff should be bottom right and stuff we use infrequently or is dangerous at the top-left.
Which is why the Apple menu and the window close button are top-left, why the primary button in any dialogue box is bottom-right. (And there is research, for example eye-tracking studies, showing that this helps significantly with user comprehension of what's on screen). However, Apple gave up on all this research when His Steveness returned and now just wings it - but it's this user-centric stuff that people refer to when talking about the "Macness" of an app.
You're in the minority, is the thing. Most computer users don't use multiple platforms on a regular basis. That's something that's really only common among some very specific niches, like web developers. Consistency across platforms is a bad thing for most users who want all the software on the one platform they choose use to behave consistently.
I'll also point out that the Mac had the same copy and paste keyboard shortcuts before Windows and Linux existed, so if any platform should be criticized for not matching, it'd be the one(s) that copied the shortcuts but added their own changes.
I don't use a Mac because everything about its UI is exactly the same as Windows and Linux, it's precisely the opposite. I use it because it's different (and IMO, better for me).
(And calling the window controls placement on macOS "wrong" is a bit rich. The platform that basically created the GUI can't be "wrong" about something so subjective as which side of the window those controls belong on.)
My first thought before seeing the version number was it was something about the Nova compute service in OpenStack, but that's on 25.0.something right now.
I'm happy to see them try, but rationally, I just don't understand why Panic is even trying. The trade-offs are just too steep. They won't ever have the ecosystem of open-source, Electron-based editors. And whatever you gain from being mac-native is just not enough of a benefit for almost all development.
I understand that, and I've been buying their software for at least 10+ years, starting with CandyBar.
My point is, for the effort it requires, I don't see it paying off. I would bet money that Nova will be discontinued in less than 5 years, while VS Code will not.
If we put aside get-rich-quick options, if they are breaking even, for some value of breaking even, then why not?.. But you're right it doesn't seem to be sustainable long term with a wealth of free options available.
Perhaps you and the people at Panic have different definitions of "paying off."
Keeping a company afloat, bring proud of your work, working with a good group of people, and providing for one's family sound like pretty good payoffs to me.
Much better than obsessing over all the things that FAANG-types talk about on HN: What "level" engineer I am, pre-counting stock options (fake money) before vesting, or worrying about whether the project I work on will be cancelled because it "only" makes $10 million profit a year.
It seems pretty likely they will either continue to develop Nova, or replace it with a newer app, indefinitely. They’ve been consistently shipping a code editor (Coda until 2020, now replaced with Nova) since 2007. Apart from uncharacteristically losing interest, I think the only reason they’d stop developing Nova or some spiritual successor is becoming unsustainable as a business. Fortunately for Panic, there are still a lot of Mac users who are happy to pay for quality native apps.
I totally agree. There are multiple definitions of success, and "we became the most popular <blank>" is just one. It doesn't say anything less of someone that they don't reach that goal, or don't set it in the first place.
IMHO they should pivot it into a beautiful native or electron UI for neovim. Rebuilding all the LSP, task, etc. stuff in a bespoke editor is clearly a ton of work and maybe not paying off in the long run. Get all that stuff for free from neovim. Make a plugin that starts users off in a more familiar mode-less editing experience so the switch isn't noticeable.
It's exactly what I'm thinking of but development on it has stopped and it isn't clear if there's a future for it (see the update here: https://github.com/onivim/oni2/issues/3811).
I'd love to see a company like Panic put some dollars and development power behind a native UI for neovim. Neovim is built explicitly to support these kind of custom frontend UIs. It's basically a backend for a fully-featured text editor and IDE but with a minimal console only frontend UI.
Onivim is not vim or even neovim. neovim + VSCode extensions doesn’t really work as well as it should, and the configuration story (to me) was a nightmare.
There aren’t many software purchases I regret, but this is one of them. (I’d never ask for a refund, because I paid for _access_. I just didn’t like what I paid for.)
> I want the native app from a boutique software shop to somehow be better than the open-source alternatives.
In a very loose sense, it already is. The apps I’ve seen it compared with in this thread are VSCode and Emacs. The former has the backing of onenof the largest corporations in the world, and the latter has 40 years of development time put it it. That you can even use Nova, Emacs and VsCode in the same sentence, despite Nova being two-four years old and only have a small core dev team is really impressive.
I think the takeaway is that an new editor has to be a platform, not just an app. Emacs was an OS for running Lisp code from the beginning, and it was trivially easy for end users who weren't Emacs developers to add their own extensions to it. VSCode has a rich enough API that JavaScript devs were able to do the same with it, and while I think Lisp >>> JS, there are a lot more JS devs out there who can add and tweak extensions, so it grew a huge fan base quickly.
Right, and I think that's what makes it viable at all. A similarly pretty editor without an API would be a non-starter, at least to me. It's not that hard to make something that can let you edit syntax highlighted text. Well, I couldn't do it, but judging by the number of working text editors on the planet, it seems like there are plenty of people who can. I think the more important part is that other people can make it act like they want it to, and without having to patch the editors internal code themselves.
No argument from me. I prefer Lisp, but hey, we all have preferences. What I meant was that regardless of preference, there are a lot more JS users than Lisp users these days, so leveraging that as an extension language makes a lot of sense for new editors (even though it means I'm personally less likely to make an extension for it).
i find electron-based editors to be subpar compared to an IDE like intellij idea. if nova's target is a full blown IDE like idea then for sure there's a market.
Deal breaker for me (last time I checked it out) was the lack of a built in git diff. I don't need anything fancy, but I can't live in an editor without it. Does anybody know if this is planned or workable in later versions?
I swear by the native version of the GitHub app. It’s now unsupported but does everything I need and is stable. I prefer it over anything in app, personally.
I know it's not what you asked for, but I used to use the one is VS Code exclusively. Now I use Sublime Merge 90% of the time and it's been a huge benefit to my workflow. I didn't expect it to win me over, but I instinctively reach for it now.
+1 for sublime merge. I used to purely use the terminal for git but had tried other GUI clients extensively like GitKraken. Sublime Merge is just on a completely different tier of software. It has no abstractions really over git itself (you can see the commands it executes) and it is fast as all hell. It was the first GUI client that I feel actually improved my git usage. Outstanding piece of software.
Try diff2html-cli -- you alias in your terminal "diff" to the diff2html command and you get a beautiful HTML diff (side-by-side or inline) of the current changes you've made (or against a branch you choose).
Eh. There are plenty of tools and programs that are windows only and that will never change. There will always be vendor lock in as long as vendors exist.
I’d rather have teams start with high quality apps and branch out when it makes sense for them. Maybe it never will make sense for them and that’s okay!
There might be an oversaturation of Mac native apps on the HN front page relative to Linux/Windows native apps. I, too, feel a bit disappointed when they are posted for the same reason as SomeCallMeTim (especially if it's not clear from the post's title that it's Mac exclusive and it only becomes apparent deep into the linked page), but I also know there are tons of native tools for Windows and Linux — they're just not discussed here as often. Though this could also be confirmation bias on my part.
Almost every tool in my current weekly use is cross-platform, with the one exception being Visual Studio (and that only when I'm working on a C# app and I don't really have a choice in the matter).
And I use a ton of proprietary tools: SmartGit, Beyond Compare, DataGrip, Postman, Word/Excel, Sublime, Docker Desktop, Blender, Slack, Discord...
The only thing I can find that's Windows-only are the two tools that make up for the shortcomings of Windows shells: MSYS2 and ConEmu.
Seriously; cross-platform (or at least multi-platform) is the future. The frequent posting of Mac-exclusive apps seems to be more about Mac-snobs trying to brag about (and justify) their decision to rely on Macs.
As I said in my grand-child reply, I don't use almost any Windows-only tools on a daily basis.
As to strategy: If they want people to buy their app, and they're getting all of this great publicity, then "branching out" later will have missed an opportunity to market to Windows users. Heck, Windows users will likely be turned off by their heavy "Can a native Mac code editor really be that much better?" marketing message...
I know I won't be likely to try out their app ever. I mean, if I wanted to go with a well-supported, fast, and clean editor, I'd just use Sublime.
Nova seems to be specifically targeting the Mac-snob crowd as their main selling point, and I don't think that deserves the front page of HN.
When I last tried Nova, debugging and tasks were the biggest gaps for my workflows in VSCode. I’m excited to give it another try! I’d happily buy a license to switch to a native macOS editor/IDE.
I'm a big fan of Panic but I really hope they tone down the quirkyness of the UI. I don't mind the diagonal dividers, but the icons look like Tide pods of different shapes and colors.
I think the biggest thing holding Nova back from being a great code editor for most Mac users is their lack of investment in the extension ecosystem. The extension library has no curation which results in outdated, broken, and duplicate extensions. As far as I can tell Nova is maintained by a tiny team and extension bugs or feature requests are slow to be resolved.
It's hard to see many folks switching from VSCode if the extensions they rely on are unreliable in Nova.
I use and pay for Nova primarily because it's a fully native app, even though it is lacking features compared to Visual Studio Code. Even on the new MacBook Pro with a M1 Pro, simple things like resizing a VSC window is just so much laggier than Nova. I personally value the native implementation of Nova over the features of VSC.
Docker on mac just...sucks. So I don't develop on mac. Remote debugging sucks, so I don't like to setup a pure remote env for development.
Maybe I just have Linux-colored lenses but I am not sure I see this product having huge growth potential given it's intentionally small target audience.
I really want to love Nova, I was a Coda die-hard for many years, but there's been one thing holding me back: the lack of "sticky tab stops", in VSCode parlance, or what was called Atomic Soft Tabs in Atom. (The world may have forced me to capitulate to using spaces; but in my local editor, it's all tabs, all the time.)
This certainly looks nice. But the courses I teach require students to use VS Code with Python and Java, which means I have to use it, too. It doesn't work well with PyTest and while it's pretty good with JUnit, dealing with external libraries like JavaFX completely flummoxed a lot of the students. Sometimes good enough is good enough.
Try diff2html - just a single npm install command away from viewing your diffs in your browser whenever you run "diff2html" in your terminal (pro tip: alias "diff" to the command).
diff-so-fancy[0] is lovely in a terminal. Still, it's nice having a competent Git client inside an editor so you can get a quick visual indicator of what's changed. For example, Magit inside Emacs is freaking amazing.
There was a rumour some years ago (based on a tweet from a member of staff there) that Panic were working on an email app for mobile devices.
Even now I still hope that rumour is true - a genuinely well designed email app made the usual high standard of polish synonymous with Panic software would be amazing.
I'd probably pay good money for this. Mail.app is "good enough" that I haven't bothered switching to another client, especially as the ones I'd otherwise consider have security issues I'm uncomfortable with. I'm certainly open to it, though.
106 comments
[ 4.8 ms ] story [ 31.9 ms ] threadThat said, Nova's Python support wasn't in the ballpark of VS Code's. But testing it for a while soured me on VS Code, and I ended up switching back to Emacs (which has outstanding Python support via LSP these days).
I don't have anything bad to say about Nova, except that I personally didn't find it to be a great Python environment. Maybe it's brilliant for other languages? I hope so, because it's really pleasant and I'd like to see it succeed!
Compare that to VSCode, where there is a whole API [1] for formatting extensions!
[0]: https://github.com/ReagentX/Nova-autopep8
[1]: https://code.visualstudio.com/blogs/2016/11/15/formatters-be...
I also found the API limited regarding writing extensions to improve the support for my favorite language, which is not one of the few they focus on.
Such a beautiful app. I've been a HUUGE Panic fan too, so it was sad to somewhat mentally give up on them. I just recommend JetBrains products now.
I really wish it didn't have to be that way. :(
I also bounced off of Nova for other reasons, but saying the hotkeys differ from one's favorite editor is a strange complaint
In a development context, I do not want platform-specific quirks. Consistency is really important for me otherwise it is a jarring context switch when e.g. copy-paste changes when moving between OSes (which I do hundreds of time a day - laptop is Mac, developer workstation is in the office and is Linux, so I remote desktop into it for code, but "office productivity" stuff is on the mac). MacOS is really irritating in this regard (different keyboard layout for fundamental things (copy paste etc) compared to Linux/win, different physical key layout compared to every other physical keyboard in the UK, different functions for home/end compared to Linux/win, different position of window controls compared to Linux/win, different position of menu bar compared to Linux/win etc)
I look on with confusion when I see people ranting about wanting more native UI elements - I want the opposite! VS Code & Chrome look and act identically on Linux and windows and Mac (more or less) and that's how I want it to stay! And indeed I would encourage further abstractions away from OS-specific allowances (e.g. position of window controls is still wrong on Mac)
Just remap them if you need, macOS offers great support for this.
(Personally, I love the fact that copy/paste work in my Terminal with the same keys as every other app)
And, if you weren't aware, the keystrokes and design pre-date most other GUI systems in use today (Ctrl-C/V/X and things like dialogue boxes and menus work were part of IBM's CUA standards which, in turn, were an imperfect copy of the existing MacOS guidelines).
Likewise, MacOS used to have a hugely important rule; because in English we read from top-left to bottom-right, important stuff should be bottom right and stuff we use infrequently or is dangerous at the top-left.
Which is why the Apple menu and the window close button are top-left, why the primary button in any dialogue box is bottom-right. (And there is research, for example eye-tracking studies, showing that this helps significantly with user comprehension of what's on screen). However, Apple gave up on all this research when His Steveness returned and now just wings it - but it's this user-centric stuff that people refer to when talking about the "Macness" of an app.
I'll also point out that the Mac had the same copy and paste keyboard shortcuts before Windows and Linux existed, so if any platform should be criticized for not matching, it'd be the one(s) that copied the shortcuts but added their own changes.
I don't use a Mac because everything about its UI is exactly the same as Windows and Linux, it's precisely the opposite. I use it because it's different (and IMO, better for me).
(And calling the window controls placement on macOS "wrong" is a bit rich. The platform that basically created the GUI can't be "wrong" about something so subjective as which side of the window those controls belong on.)
Creators of Nova/Panic - please extend updates for 3 years and I'll purchase it. Once it is mature up to PyCharm levels, 1 year subscription is fine.
Some people are happy building quality tools for a discerning audience.
That's pretty much what Panic has been doing for the last 20+ years.
My point is, for the effort it requires, I don't see it paying off. I would bet money that Nova will be discontinued in less than 5 years, while VS Code will not.
Keeping a company afloat, bring proud of your work, working with a good group of people, and providing for one's family sound like pretty good payoffs to me.
Much better than obsessing over all the things that FAANG-types talk about on HN: What "level" engineer I am, pre-counting stock options (fake money) before vesting, or worrying about whether the project I work on will be cancelled because it "only" makes $10 million profit a year.
Edit: Ah it seems they actually ran out of money. I'd assume the project is deprecated now as I don't see any updates in the recent past.
https://github.com/onivim/oni2/issues/3811#issuecomment-9103...
I'd love to see a company like Panic put some dollars and development power behind a native UI for neovim. Neovim is built explicitly to support these kind of custom frontend UIs. It's basically a backend for a fully-featured text editor and IDE but with a minimal console only frontend UI.
https://github.com/onivim/oni2/issues/3811#issuecomment-9103...
There aren’t many software purchases I regret, but this is one of them. (I’d never ask for a refund, because I paid for _access_. I just didn’t like what I paid for.)
I want the native app from a boutique software shop to somehow be better than the open-source alternatives.
In a very loose sense, it already is. The apps I’ve seen it compared with in this thread are VSCode and Emacs. The former has the backing of onenof the largest corporations in the world, and the latter has 40 years of development time put it it. That you can even use Nova, Emacs and VsCode in the same sentence, despite Nova being two-four years old and only have a small core dev team is really impressive.
TypeScript, though? TypeScript I love.
https://diff2html.xyz/
I exclusively use Linux and Windows; I see something like this and ... it's a disappointment.
I think what's "commendable" is cross-platform development, breaking out of walled gardens to support everyone.
I’d rather have teams start with high quality apps and branch out when it makes sense for them. Maybe it never will make sense for them and that’s okay!
And I use a ton of proprietary tools: SmartGit, Beyond Compare, DataGrip, Postman, Word/Excel, Sublime, Docker Desktop, Blender, Slack, Discord...
The only thing I can find that's Windows-only are the two tools that make up for the shortcomings of Windows shells: MSYS2 and ConEmu.
Seriously; cross-platform (or at least multi-platform) is the future. The frequent posting of Mac-exclusive apps seems to be more about Mac-snobs trying to brag about (and justify) their decision to rely on Macs.
As to strategy: If they want people to buy their app, and they're getting all of this great publicity, then "branching out" later will have missed an opportunity to market to Windows users. Heck, Windows users will likely be turned off by their heavy "Can a native Mac code editor really be that much better?" marketing message...
I know I won't be likely to try out their app ever. I mean, if I wanted to go with a well-supported, fast, and clean editor, I'd just use Sublime.
Nova seems to be specifically targeting the Mac-snob crowd as their main selling point, and I don't think that deserves the front page of HN.
https://en.wikipedia.org/wiki/Nova_9:_The_Return_of_Gir_Drax...
It's hard to see many folks switching from VSCode if the extensions they rely on are unreliable in Nova.
Maybe I just have Linux-colored lenses but I am not sure I see this product having huge growth potential given it's intentionally small target audience.
But I struggle to use it without a git diff view. It can’t come soon enough.
https://diff2html.xyz/
[0] https://github.com/so-fancy/diff-so-fancy
Even now I still hope that rumour is true - a genuinely well designed email app made the usual high standard of polish synonymous with Panic software would be amazing.