A Quick Look at Panic’s Nova

I recently became aware that Nova (Panic’s next gen replacement for Coda) has been out since September, and decided to give it a quick spin.

Now, I’m currently working on an internal IDE that runs in Chrome so this is of special interest to me. In particular, I was wondering if Panic had come up with new magic sauce to advance the “state of the art” in lightweight platform-native IDEs, the way they did when they first shipped Coda.

I remember my first complaint about Coda was that its CSS editing tools were not up-to-par with CSSEdit, which Cabel (who has been known to reply to questions and suggestions directly) said was something they’d hoped to license, but ended up having to do themselves. (Turns out the CSSEdit people were working on Espresso, an ambitious and interesting but perpetually not-quite-there yet Coda rival.) Anyway, Coda’s CSS tools eventually got decent, but never caught up with CSSEdit.

Luckily, I became so ridiculously fluent in CSS (which I’d rate as the second-hardest language to learn that I’ve learned, after regular expressions) that I’ve not really needed anything beyond a basic text editor in years. (At the time, I regarded CSS with confusion and disdain and hoped to learn as little about it as possible.)

Anyway, some quick observations:

  1. It’s beautiful. Yay.
  2. It seems very much like a native vscode. Yay.
  3. It’s not interoperable with vscode extensions (and that’s likely very hard to do) and I haven’t looked into how hard it would be to “port” an extension from vscode. Boo.
  4. It doesn’t appear to leverage existing quasi-standards, the way Sublime leveraged TextMate stuff, and vscode leverages… stuff. Boo.
  5. It doesn’t handle terminals as gracefully as vscode. vscode’s terminal by default appears as needed, at the bottom of the main window, and tucks itself into a tiny space with a click. Boo.
  6. Running node package scripts is clunky (it requires a third-party extension that isn’t nearly as nice as what vscode has gotten me used to; of course vscode recently removed it). I don’t want Panic to over-focus on node users, because Coda’s over-focus on PHP users is one reason I stopped using it. Still, boo.
  7. Nova supports themes. Not a surprise. I couldn’t quickly find documentation on how to create a new theme, but I imagine it won’t be terribly difficult and it will be feasible to convert themes from other popular things to Nova. Meh.
  8. Nova lets you theme its overall UI, code editors, and terminals separately! This is awesome, since it allows you to easily differentiate panes at a glance, rather than everything looking pretty much identical. Yay.
  9. I was disappointed, when trying to open a Remote Project, that it does not automatically (or with a click) imports server settings from Transmit, of which I have been a user since 1.0). I had just made a quick fix to one of my demos using Transmit, which let me open (i.e. log into) the server, open the file (on the server) directly with BBEdit, make the fix, hit save the way I would for a desktop file, and reload the site to check the fix worked — that’s the workflow it needs to at least match. Boo.

Nova renders color swatches on the line-count column as opposed to the way vscode does it (inline in the text, somewhat disconcertingly). In both cases you can click to get a color-picker, but Nova’s is much nicer (it has spaces for you to keep common colors, for example, but seriously — use css variables!).

This is nice, but I don’t see any assistance for things like setting fonts, or borders. Although I have a license for Espresso somewhere or other, I’m not going to reinstall it just to take a screenshot, but here’s a capture from their website (yes, it lives!):

The user’s cursor is in a rule, and in addition to the text, the values are exposed as the UI shown above. This is basically a tiny part of what CSSEdit was doing, over ten years ago — my receipt for CSSEdit 2.5 is dated 2007. CSSEdit also allowed you to open a web page, edit its underlying styles live, and then save those changes directly to the sources, kind of like a better and automatic round-trip version of the workflow many of us use in Chrome/Safari/Firefox using the Elements panel.

The first extension I tried to use was from standardjs, which I love. I didn’t notice this until later:

This is not good. It reminds me of Lotus Notes telling me it needs me to do five specific things to do what I obviously want to do. Automatically loading dependencies is kind of a solved problem, and a stupid hassle to do yourself, these days… Boo.

It’s hard to compete with a free tool that’s backed by Microsoft. And vscode has become a lot of people’s, especially web-developers’, preferred editor. It’s easy to see why. Because any web developer must pretty much know all the tech that underlies vscode, it has a particularly rich extension library.

Jetbrains suite of java-based tools has also earned a huge following. (Sublime Text—once seemingly everyone’s favorite editor—hasn’t received an update since 2019. The team seems to have switched their focus to Sublime Merge.)

Overall, my initial reaction to Nova is slightly more negative than positive. I’m sorry to say this but I’m unconvinced.

Transmit 4

Not just the best FTP client, but the prettiest icon.

Panic has done it again — they’ve taken what was already the best FTP (et al) client on the Mac (or any other platform, seriously) and made it not only better but transcendently good. I have to agree with the review from Smoking Apples that the only FTP client that even remotely challenges Transmit is Flow (which I fell in love with instantly, and then abandoned because it’s simply too unstable), but Transmit has gone way beyond matching Flow’s features.

Three words: seamless Finder integration.

It’s hard to imagine how to add features to an FTP client to make a (non-free) upgrade release compelling, but somehow they’ve managed it. Aside from the above headline feature, my favorite new features are:

  • instant access to favorites via the global menubar
  • automatic inference of timezone differences (something I’ve wanted for a long time — but when I explained this to folks from the Dreamweaver team back in about 1998 they didn’t even understand the question: apparently administering servers in different time zones wasn’t a use-case they’d contemplated)
  • FXP (server-to-server) file transfer (Forklift‘s killer feature)

MacHeist, Flow, etc.

Flow in Action
Flow in Action

I’ve just paid for the latest MacHeist bundle. The funny thing is that the app I buy the bundle for is usually not the app I end up using. For example, the app I bought the last big bundle for was Espresso (the rival to Coda from the MacRabbit, developers of the excellent CSSEdit), but Espresso — while still promising — has proven very buggy (not to mention that it’s a royal pain in the ass to customize color settings, and the developer keeps changing the CSS tags so old color preferences become obsolete), and it still lags far behind Coda in most respects.

Aside: these days I live in Cornerstone and use a variety of text editors rather than Coda or Espresso.) In the end, my favorite app from that bundle turned out to be Acorn, which I had almost no interest in. I should add that Acorn also has problems — indeed, I think I email a new bug report or gripe to the developer every other day… Then, as I mentioned the other day, that bundle also includes The Hit List, which I’ve just started using (in fact it’s become one of the apps I “live” in), so that bundle has paid for itself several times over.

My reason for buying this bundle is really the Monkey Island game (which I probably won’t have time to play). But after downloading the bundle apps, the one that really impresses me is Flow. I remember a while back when Transmit first came out — Panic did a good job of publicity and so (noticing it had a nice icon) I decided to give it a shot, fully expecting to delete it immediately. After all, I already owned Anarchie (or whatever the frack it’s called these days) — The Best FTP Client In The World™ — right? And FTP isn’t exactly rocket science, what can this new app add? Well, turns out the answer was “not quite enough”. I played with Transmit long enough to decide it wasn’t quite up there, emailed some suggestions to their email address, and went back to “work” (those were the days!).

Of course, within minutes Cabel Sasser had responded to my emails (at what must have been a very odd hour), and within months Transmit had most of the new functionality I’d suggested along with a loyal user and evangelist (I think the big big that I wanted Transmit — and FTP clients in general — to do was transparently modify a test file on the server, get its modification timestamp, figure out what the time difference between Here and There is, and deal with file replacement accordingly. I once made this point at a Macromedia conference in Sydney which got a standing ovation from the audience and completely perplexed the (American) presenter. I don’t think anyone has actually done this yet, it’s very annoying. It was even more annoying back then as I lived in Australia and maintained websites on US-based servers, so timestamps were often very misleading.)

OK, what was I talking about? Oh, that’s right Flow.

Flow is a new(ish) FTP (SFTP, WebDAV, Amazon S3, etc.) client for the Mac. Its design goal appears to be to make remote servers behave as much like your local hard disk as possible, with additional — very thoughtful — goodies such as letting you bookmark a folder on a server and set it up to automatically copy the URLs of uploaded items to the clipboard. So far, my only problem with Flow is the way it morphs the sidebar from a set of local bookmarks to a local file hierarchy. I’m not exactly sure how to do what Flow is doing better, but it seems like a bit of a kludge.

It also makes me wish that its developer(s) would simply build a complete Finder replacement, since they clearly “get it”.

I think I’ve found my new favorite FTP client. Sorry Panic. (Well, we’ll see how easily I can reprogram my muscles to stop typing “command spacebar T R A N enter”.)