Nova by Panic: Native Mac code editor
nova.app
nova.app
I still use VS Code the most, but I don't enjoy tinkering with endlessly customizable tools to get the perfect environment. I like an opinionated tool that has a solid handful of niceties, and doesn't abdicate features to a bazaar of plugins. Nova's good like that, but I miss Espresso, which I consider even more Mac-like for being a little offbeat but also had some genuine innovations like a GUI for CSS attributes. It hasn't been updated in several years, but I'm trying it again to see if it works better for the kids (learning web design) than Nova.
I find it a bit sad that the boutique and indie apps market on Macs seems to be languishing.
There are still some great things around, but I think it was overshadowed by iOS.
Macs had a very healthy boutique and indie app scene at some point, with lots of attention to detail, because users were happy to pay for good quality software. The Omni Group, Panic, Cultured Code, etc. all delivered outstanding things. GNOME 2 was pretty nice too in its own ways. After a lot of churn and changes, it is again re-emerging as a noteworthy desktop ecosystem. See https://apps.gnome.org.
While SwiftUI apps do feel different from what came before, the underlying UX feels different too. A SwiftUI app intentionally built for macOS isn’t nearly as disjoint an experience as say Catalyst, let alone Electron. And given how much the non-native experience has taken hold, there’s no reason a new baseline native experience couldn’t be established. The reason it won’t isn’t because of any specific technology, it’s largely because there’s basically no market for a rich native app ecosystem as that baseline. The entire economy of desktop software is stagnant.
I do wonder if desktop as a use case becoming even more niche than it already has could see that trend start to reverse. It would be a smaller market, but that’s exactly how the older macOS experience thrived.
I do think that a niche will continue to exist as long as Apple offers an official way to build for it, for a variety of reasons.
Swift Charts actually seems pretty good so far, but the basics fall somewhere between chonky and just ok.
The iOS App store is a monopoly that is breaking down in Europe. I expect the landscape will continue to evolve globally and it will fall in other markets as well.
Not sure what you mean. Everyone I know with a Mac gets their stuff from MAS and brew, only if forced go to some separate installer, like Adobe shit and specialized apps. From hardcore system programmers to graphic designers to home users...
(Although I think the program still needs a bit of time to smooth out the edges, plus not everyone may be a fan of the AI and collaborative features, which get a lot of care in the GUI. You can turn all of it off, but still.)
But I don't like the implication that Nova is abandoned or less modern compared to Zed. Nova is arguably one of the sexiest apps on the Mac right now – it looks gorgeous and it's far more "Mac-assed" than any of Apple's software, for starters. And in terms of development / maintenance, it should be in VERY good hands at Panic.
You're 100% right on open-source vs closed-source, though.
Really? Looking at the screenshots from the front page it looks like a custom GUI framework and doesn't even look like a native macOS app, even the folder icons in the file tree are wrong. The only way I can tell it's a macOS app is by the traffic lights on the top left.
But it gets better when clicking around the app – all the different settings, modal sheets and sidebars feel very much like home.
The filetree icons are… a choice, yes. They kind of lean more into the "smooth skeumorphic squircle" look which is normally applied to apps, NOT files and folders. I'm guessing they didn't want to and/or weren't allowed to use the plain icons that Xcode does.
Then people are surprised many devs rather target enterprise customers with "call me" for sales.
Sublime runs flawlessly working with this same codebase...
You personally list this particular (mis)behavior as a "plus" since you like the PC convention better. But another person will think the opposite. Objectively, it's simply just inconsistent.
What we need is "good platform citizen" apps which respect the local conventions, and you as the user get to choose the platform with its set of conventions you prefer.
What we DON'T need is apps "unifying" behavior across operating systems based on their own opinion of what's better, ultimately just creating more mess.
Many of us on the Mac are there in part because the environment and conventions make more sense to us than the conventions on other platforms. X-platform apps typically ignore this.
See also
https://daringfireball.net/linked/2020/03/20/mac-assed-mac-a...
However for keyboard shortcuts said conventions are defined for crippled keyboards without dedicated navigation keys and the extension for PgUp/Down is simply inefficient when programming.
Up / Down: move cursor one line up or down Left / Right: move cursor one character left or right
Option+ Up / Down: Move cursor up or down a whole paragraph Left / Right: move cursor left or right a whole word
Command+ Up / Down: Move cursor to the beginning of the document Left / Right: Move cursor to the beginning or end of the document
Page Up / Page Down: Move the scrolled display area up or down a "page" without moving the cursor
Home / End: Move the scrolled display area to the beginning or end of the document
The latter two are nice to have because it means you can scroll up through a window to view something, and start typing to have your view snap back to your cursor position.
I don't think they ever had PgUp and PgDown. Same thin/small fetish as today. Jobs wasn't typing much, I think.
Apple Extended Keyboard M0115 (1987): https://en.wikipedia.org/wiki/File:Apple_Extended_Keyboard_M...
Apple Extended Keyboard II M0312/M3501 (1990): https://en.wikipedia.org/wiki/File:Apple_Extended_Keyboard.j...
Apple Adjustable Keyboard M1242 (1993): https://en.wikipedia.org/wiki/File:Apple_Adjustable_Keyboard...
Apple Design Keyboard M2980 (1994): https://en.wikipedia.org/wiki/File:AppleDesign_Keyboard_blac...
Apple USB Keyboard M2453 (1998) (not in their usual position, above the number pad instead): https://en.wikipedia.org/wiki/File:Apple_USB_Keyboard_B.jpg / https://deskthority.net/wiki/Apple_USB_Keyboard
Apple Pro Keyboard M7803 (2000): https://en.wikipedia.org/wiki/File:Apple_Pro_Keyboard_black....
Apple Keyboard A1048 (2003): https://en.wikipedia.org/wiki/File:Apple_Keyboard_(A1048).jp...
Apple Keyboard A1243 (2007): https://en.wikipedia.org/wiki/File:Apple_iMac_Keyboard_A1243...
Apple Magic Keyboard w/ Numeric Keypad A1843 (2017): https://en.wikipedia.org/wiki/File:Apple_Magic_Keyboard_with...
Additionally at least as far back as the Powerbook G3 "Wallstreet" in 1998, and including the iBook lines from the same time period, to the best of my knowledge every Apple portable since (as well as any wireless/compact keyboards with Fn keys) then has supported Fn + Left/Right for Home/End respectively and Fn + Up/Down for Page Up / Page Down respectively. They were even marked as such through the early non-unibody MBPs but continue to function that way today even without the markings. While these aren't dedicated keys, they're convenient enough in combination with the other modifiers that you'd be using to move the cursor that I don't personally consider it a significant difference.
Answer 2: I bought a general purpose computing device and I don’t need the manufacturer to dictate how I use it.
I used MacOS briefly 2000-2004, and then got a Macbook in 2022. Even among Apple's built-in apps, I can't identify why they would be considered "native".
For example, Apple's Music app is surely "native", but does not appear to use the DEs default elements, and performs like an electron app might.
One would also expect Applescript / Automator (Apple's built-in macro tool, a-la AutoHotkey / xdotool) to work with native apps, but it doesn't work on ARM Macbooks.
Compared to Linux, I think anyone with no experience in it could sort native GTK vs native Qt vs native xMotif applications. But I think "native" as a quality is more of a dependency management and consistency question.
The only thing I can recognize from Panic's screenshots that appear "native" is the Preferences page, in the older "grid on a shelf" format. (edit) And the "install applications by dragging to the Applications" folder workflow, which I appreciate very much.
All this is to ask, what does "works and feels native" mean and what makes it desirable?
For the grey beards of MacOS:
This guy trashes the HIG [Apple Human Interface Guide] the way Johnny Depp trashes a hotel room. He even sports a custom radius on his window corners. No other window on the system has a shape like this. It’s wild. Just wait until the HIG zealots get a load of this guy.
[0] https://developer.apple.com/design/human-interface-guideline...
For me, it has three parts:
1) Does it look native at a pixel level? In other words, does it use a standard Mac window and title bar and buttons and widgets and all the rest?
2) Is it organized according to Mac UX conventions? Does it put commands in the menu bar rather than inside of windows? Are menu items where you'd expect? Is the "Settings..." command where you'd expect, and is the Settings dialog laid out in standard tabs or icons across the top, rather than something else (like a list box on the left)?
3) Does it respect all standard gestures and shortcuts and animations? If I press opt+left in a textbox, will the cursor jump to the previous word? If I press cmd+right, will it jump to the end of the text? If I scroll down, will it bounce at the bottom?
That's what it means. And it's desirable for 1) aesthetics, 2) understandability, and 3) usability directly corresponding to those three points. Aesthetics is less important but it's still nice. Understandability is important because I don't want to hunt for a command when it's not where I'd expect. And usability is critical because when I cmd+right in a text box and it doesn't work, it's incredibly frustrating.
Obviously, "native" is not a binary but is rather a continuum. And yes, even Apple's own apps are not always 100% at the "native" end, especially with stuff they've designed in conjunction with iOS. Which I think a lot of Mac users find frustrating.
But I would actually add, on a more fundamental level:
0) Does it actually run on my metal? I.e. not in a VM, not any sort of "thin client", and CERTAINLY not Electron… but rather an actual solid piece of software compiled for the computer it's running on?
You say "native is not a binary" but actually, in my opinion yes, it is also very much the binary!
Or worse, a huge plain old JSON with tons of multi line comments explaining what one particular key does.
Like, I get it, its l33t and haxx0r to use a text file for settings, and yeah, you can easily transfer it to other platforms unlike an XML Plist file, but I despise apps that don't even bother providing a basic UI for changing settings. Ctrl+F "autocomplete" (30 results) is a *terrible* experience vs a natively drawn "Autocomplete" tab in a settings modal.
https://daringfireball.net/linked/2020/03/20/mac-assed-mac-a...
The sibling comments gave some great answers and especially `crazygringo` summarized pretty much exactly what I was gonna say, so I'm not gonna go into detail.
But I just wanna add: "Mac-assedness" totally includes of some strict, non-negotiable rules, but it also involves lots of loose, abstract "vibes" where even if your app isn't exactly guideline on paper, it just feels right in spirit and paradoxically, by being more custom, the app comes out more native in the end. This takes a certain personal taste to pull off as a developer. And it is the opposite of design by committee.
This is completely false, I use Automator, Applescript, and Folder Actions near daily on my Apple Silicon Macs.
Everyone's aware of the normal clipboard: select some text, press ^C (⌘C on Mac) to copy and ^V (⌘V on Mac) to paste it. It's system-wide, so you can copy in one app and paste in a different one (or several).
On Mac, there is a similar pasteboard (or "clipboard") for search strings. Select text, select "Use Selection for Find" or press ⌘E (this sends it into shared find pasteboard, overwriting its contents), and ⌘G to "Find Next" occurrence of that string, or ⇧⌘G to "Find Previous".
The shared find pasteboard is also system-wide, you can use ⌘E in one app and ⌘G/⇧⌘G in another app. When you use ⌘F to "Find ...", it is expected to already open up populated with the contents of the shared find pasteboard.
The majority of the cross-platform apps are lacking this feature, since they are designed to a lowest common denominator (which does not have the shared find pasteboard). On VS Code you'd find yourself doing ^C/^F/^V followed by several "Enter" keys, while overwriting whatever you've had on your clipboard and also polluting your clipboard history.
I hope all that explains how I'm stuck with iTerm2, Safari, Mail, and TextMate. I'd pay for a native Slack client (the Electron abomination uses ⌘F to "Find" and ⌘G to "Search" while lacking ⌘E completely) but sadly they don't make it.
I'm sure VSCode and others can be configured or extended to come close to the experience, but 100$ for something well-made that fits your workflow out of the box is a pretty great deal for a professional.
I’m paying for jetbrains now. I’m on Linux but it’s clearly a non-native application, which has some issues. Actually it integrates really well considering. I can run in any os and it’s the same. I tried eclipse (free), but the experience wasnt good and it was worth buying jetbrains software. This probably has a quite polished experience.
Panic also made transmit, which was my goto file transfer solution for a long time and a really decent piece of software.
I don't know if I would use Nova to actually develop anything more serious. Haven't looked to deep into it and I like my devtools to be opensource or at least have the feeling of them being maintained for very long. (Text editors tend to die very often).
Nope. I use Rider on Mac and Windows and it's better than Visual Studio on Windows in almost every way it's different. I've used Pycharm and Datagrip extensively on Mac and Windows as well, they're excellent tools. I haven't used Webstorm much though.
For auch a “heavy” IDE it’s also surprisingly responsive.
Is Panic done with Nova? (Native Mac text editor) - https://news.ycombinator.com/item?id=41506472 - Sept 2024 (1 comment)
Nova – a native macOS code editor from Panic - https://news.ycombinator.com/item?id=37902938 - Oct 2023 (1 comment)
Nova 9 - https://news.ycombinator.com/item?id=30701613 - March 2022 (99 comments)
Nova by Panic - https://news.ycombinator.com/item?id=30066298 - Jan 2022 (257 comments)
Nova by Panic - https://news.ycombinator.com/item?id=24495330 - Sept 2020 (542 comments)
1. Plain text editors that can be extended and turned into semi-IDE/IDEs. This includes tools like VS Code or Sublime Text.
2. Opinionated editors with some type of extensions/plugins (normally more limited that the other 2 sections). This includes tools like Coda or Nova.
3. Full IDEs with extensive extension support. This includes tools like JetBrains, Eclipse, etc.
I prefer #3 but have used all 3 at different parts of my career. Started with Notepad++ then moved on to Coda, then Sublime, then Idea. Coda was really nice and I'm sure Nova is too if your needs are met by it. Meaning if you don't need support for anything outside of the core offerings or extensions available. Once you do need more then you have to either jump to 1 and build it yourself or jump to 3 and get most of it out of the box. #1 can be incredibly powerful if you are willing to put in the time and effort to set it up and keep it updated. Personally I want more "out of the box" than #1 and I'm very happy with the extensions/plugins available to me.
Another observation I have is that #1 is going to be the most cutting edge followed by #3 with #2 bringing up the rear (largely due to market share). #2 can be an amazing place to be if what you are writing is well supported but if you need to step outside of the "happy path" you are going to have a rough time whereas #1/#3 can handle that without issue.
Lastly, I will probably end up buying Nova at some point just to support Panic. I own a lot of their software (I use Transmit for pretty much all my file transfer needs) and their level of polish is unrivaled in the space they compete in. Their software always puts a smile on my face. Something that a lot of people don't seem to know is they are also the company behind the games Firewatch [0] and Untitled Goose Game [1] as well the Playdate [2]. They are a really cool company.
This is the first thing I look for when considering the alternative
Emacs has TRAMP+plugins but plugin support is iffy in my experience. Both Emacs and vim work great over terminal, but then you’re using a terminal editor and all that comes with, and you have to copy your settings and configurations to every new machine. I still use Emacs sometimes but prefer a GUI nowadays.
Zed has a remote edit feature in alpha but it relies on sending code to externally hosted servers which is against my company’s policy.
Nova has editing over SFTP but I tried Nova out for a day and found it to be really lacking. SFTP is very slow to edit and many plugins didn’t work with it. Overall language support is quite bad for non-web languages which doesn’t work for me as I regularly write in a bunch of languages.
Sublime Text has several SFTP edit plugins but they are usually paid, and didn’t look appealing enough to me to purchase, so I can’t say yet if they work.
I just straight up couldn’t get Pycharm/IntelliJ’s remote edit feature to work. I honestly think there must have been some network/firewall issue at my company because it would seemingly start up and then just never connect. This makes no sense if it is using SSH in the backend because other SSH programs work, but still debugging…
VSC is buggy, uses lots of RAM, sucks battery life, and is owned by shitty Microsoft. But for me it really is the best tool for the job. I’m optimistic about Zed.
There are a lot of great and fast IDE-like programs on Mac (CodeEdit, CotEdit, etc.) - try those before forking out $99 for a text editor.
Finding free stuff can be a fun hobby. There's nothing wrong with using free time in that pursuit. Other people make different choices.