Highlights v. MarginNote v. LiquidText v

LiquidText is about to see an update, according to their Twitter page and they are working on a macOS and Windows app, which also soon to be released. I’m not sure how this will affect their pricing structure.

Personally, MarginNote 3 has the best feature set on paper, but the interface is obstructing me to use it.

I don’t disagree with that in the slightest – but at times, when spending several days reviewing PDFs, one can (depending on the task/environment/context) spend many continuous hours inside the PDF annotation process – and it is here that my comments were directed at. I still feel that most of them are too similar, simply since their point of departure is focusing on the PDF, rather than the process.

So, whilst it remains a mere link in the chain, I still wish that the apps within this space (or a new one – such as seemingly being designed by @msteffens) would give some thought to who would most frequently use their app, and what their workflows would entail/require.

I acknowledge that it is almost impossible to please everyone – but then, that’s what the they all(?) end up doing – targeting the middle of the road, and not catering for use-cases… Which is possibly another reason why so many look/function the same…
I cannot but help thinking that If the market is already rich with PDF annotators that seemingly cover the ‘general’ approach, and do it well – then, in the absence of changing the emphasis, why would another one bring anything different?

I actually tried to build my app around a typical research workflow. Before getting started with my app, I’ve talked to many researchers, and read many posts where researchers described their own workflows. And I could draw from my own experience during my time in academics.

As a result, I’ve come up with a list of principles that I consider crucial. I will have to write a longer post to go into more detail. This is just a short summary:

  1. Free annotations from the PDF & work with them: As @quorm mentioned, annotations get only useful when they are extracted from the PDF. So my app gets them out of the PDF immediately, and you then interact with the resulting plaintext notes.

  2. Notes are plaintext: This ensures maximum longevity, avoids lock-in, and allows for easy integration with other apps. The plaintext notes also give you a good data exit strategy.

  3. Notes are atomic: One note per thought. This allows you to tag to the bullet point level, and it enables you to freely filter, rearrange and reuse them.

  4. Notes are self-contained: Notes should be as self-contained as possible. I.e., the note’s body text (or its metadata) should contain all relevant information (like its tags, creation date, linking & citation info, related file info, and of course the Zettel ID). This way, you can do lots of things with your notes but don’t loose anything. All relevant info always travels with the note. E.g., you could transfer your notes somewhere where there’s no file path info, like a database, a single text file, or an app that stores files internally using its own naming scheme. Your notes would still remain intact and can be retrieved again w/o loss.

  5. Notes keep their context: This means one should be able to easily see the context of one’s note. I.e., easily jump to the quoted text in the PDF source, and back again. Also, always keep the reference info in the note. Ideally, the reference info would be extracted automatically.

  6. Notes can be inter-linked: Directly linking notes to other notes is crucial since this actually captures your thought trains (tagging does not). Also, by creating a network of semantically rich and linked notes, your note relationships can be visualized. The visualization graph also shows the note’s backlinks, and it can even be used to navigate your notes.

  7. Notes are human- and machine-readable: Both are important. The structured plaintext note is your data format. Having it not only human readable but also machine readable allows to build a data model from it, which in turn allows for all kinds of advanced features.

  8. Notes can be reused in other applications: It’s very important that the app (your notes) can integrate with other apps, via import/export but Really also directly via scripting/automation.

Each of these points could be a post by itself. I had to type this quickly, so apologies for being somewhat terse. But my point is that I tried to build the app around these principles. And these were deducted from analyzing other researcher’s workflows.


I started using Highlights recently because it’s app is everywhere, simple, and clean.

The macOS app is a little frustrating because you can’t move pages of a document around or pull a page out of the document and save it separately. When you try to pull a page out form the side bar it creates a copy of that page in the document, which you are unable to delete. I contacted them about a month ago and they said they would “look into it.”

It’s been working great otherwise.

1 Like

I think your effort is comprehensive and interesting – looking forward to see it develop. You might want to ask the admins to move your post to a separate thread so it doesn’t get buried and forgotten in this thread?

Please make zettel-anything entirely optional and configurable. The whole Z-mania will die off in a few months (as it usually does) so optional will be nice.

Ambitious and difficult, so how you pull this off will be interesting.

I am not sure how you can accomplish plain text portability (assuming it is based on some commonly used markdown library) at the same time as accomplishing the two requirements I quoted above. This would indeed be very useful.

I mentioned my own, perhaps niche, use case of needing to have a set of notes that cover multiple PDF documents (many to many) – which MarginNote does quite nicely, and LiquidText somewhat less well. Looking forward to seeing how to accomplish this sort of meshing with your solution.

Keep us up to speed as your work develops, please.


@msteffens Sounds promising.

To echo @Ben_Wah comment, editing (deleting, moving, extracting subsets of) document PDF pages is a great feature. When it gets down to business and reference, having a shorter or reorganized PDF can make it far more efficient, e.g., getting rid of cruft, illustrations, chapters, or just keeping a key page or pages from a doc. I.e., make the document one’s own for the task at hand.

Also, on the source citations (linking). Highlights does this well, but superficially. Highlights (pleasantly) surprised me with links in the Notes to the source documents by default. Awesome. Unfortunately, the links do not inherit to subnotes that I split. So the source reference gets lost. Ouch. I would suggest by default (?) having the source document inherit to subnotes, even after edits. That way the source material, inspiration, reference remains handy.

Finally, I am glad you are focused on workflows. I believe the PDF programmers don’t eat their own dog food, get lost in the weeds as they program. For the bigger companies, the feature list is probably all about marketing (new sales, laundry list), not real workload realities, and the programmers 1) don’t know any better (are not part of the target market), and 2) just do what they’re told. So if you can stay on target and raise the bar, that would be great!

Good luck!

1 Like

@occam Yes to me “Killer App” akin to App Killer such as a specific app kills every other app with the same functionality. For example, I personally think Excel is a Killer Spreadsheet app.

In this category, say Note Taking apps, there is a lot of different UI’s being tried out that segments the market and still has different feature sets that align with different user requirements.

I am still waiting for decades for the Killer email app. that’s a game-changer :nerd_face:


Thanks. To avoid hijacking this thread any further, I’ve opened a dedicated thread where I’ve tried to describe the aspects of this app in more detail:

1 Like

Your app(Keypoints) sounds really promising. I am also using these apps only for academic reading. Automation of the edit of highlights and availability to export bullet by bullet would be crucial for me, which I prefer highlights app for the latter.

Interestingly, the creator of Highlights app is also a researcher like you. Which rises some concerns about longevity of the app. And the improvement and new features down the road. Good luck!!

I’m not in academia anymore (I esp. miss the field trips to the end of the world…) but instead have been working as a developer since many years.

That said, I fully understand your concerns. App lifetime & longevity is an often neglected issue. My impression is that many users feel that bigger companies guarantee better chances of longevity. But in fact, apps belonging to (or getting bought by) bigger companies have their own threats. If the app is just some product in the company’s product portfolio, it may not have the focus it needs. Or the new owner doesn’t really understand the product and its values. Or the company’s priorities change which may cause the app not getting attention anymore. Or, a company merger brings in a competitor and some top-level manager thinks that only one product can survive, etc. The above are all examples that I experienced first hand. There’s only perceived safety.

IMO, the ideal setting is often a small company (maybe 3 to 12 persons) where the app is the company’s only (or its major) product.

In any case, as a user, it’s good to think about exit strategies right from the beginning:

Agreed, I think all of us experienced a favorite software being gone and as @msteffens states big does not mean any better how many software apps has Goggle decommissioned as Sunrise calendar bought up by Microsoft never to see the sun again.

There are some very good 1 man operations Drafts
Drafts and 2Do come to mind

Read 2Do’s BLOG and you can gain insight in this difficult way to make living.

So what is a person to do?

As mentioned besides having a backup strategy you need to have an exit strategy. Looking at history the only thing that really changed has been the media storage structure movies on film, VCR, DVD’s now steams, Music on wire, wax, vinyl, CD’s MP3 etc…

Now I am faced with one of my favorite outline programs vanishing.
My Tree has died and my Apple has fallen on the ground and rotted as this is the icon display on my Mac

Maybe a victim of global warming so onwards to my old Mac mini that I have not upgraded the OS yet to run this program to export the outlines in OPML format to read into another program.

So the Tree user is out on a limb but knock on wood I have a data exit strategy but no solution for all the bad puns

1 Like

Following this conversation because I’m looking for a good app to allow for building an original outline as well as link to imported reference material.

  • I’ve been trying to learn Marginnote but the curve is steep and I can’t figure out how to create a blank document and edit it reliably to save my life. Doesn’t seem to be the point of the app - more for collecting, less for writing?
  • Looking at Scrivener again but it seems to lack PDF markup, bookmarking, and linking.
  • Like @occam mentioned, I’ve had LiquidText crash on me; just as I was about to give a presentation to about 40 people, and all my PDF notes disappeared when the app crashed. I tried to reclaim the last good version but somehow the versioning system wrote over it with a blank document and all my annotations were suddenly vapor. I never trusted it again, but maybe they’ve improved the backup system since then (three years ago, maybe?).
  • @quorm makes a decent point about “Z-mania” but I think the desire to avoid proprietary software lock-in is very real. How someone can create a program that can link everything we want in a research app and still remain both non-destructive and portable has to be a tall order.

I’ll speak for myself when I admit to a perfect storm of Princess and the Pea syndrome and the Goldilocks conundrum. There’s always a minute detail I won’t like about a particular app and it will drive me crazy, and the best offerings on the market will be “too cold” or “too hot” or “too soft” or “too firm.” Laura Miller wrote about this rabbit hole in an article I love and loathe because I can relate to it so well. Do we all want a program written specifically for our own exact use case, and then expect it to be commercially viable and universally-adored? I think I do.


You’re right. That’s not what MarginNote does. And even if you managed to write a new document in MarginNote, the export is so crappy that you’d throw a fit. I love MarginNote and use it extensively, but it’s pretty much a self-contained app.

I’d love to love MarginNote and use it extensively, but it’s pretty much a self-contained app. :slightly_smiling_face:



I haven’t tried it yet, but it looks quite promising. Does it have an API ( JavaScript , AppleScript, whatever) to get the name and path of the current PDF? And to the notes too (i.e., not just UI scripting) ?

Looks a bit similar to Skim PDF app. How do they differ? So your notes are saved as separate linked files? (not just in .xattributes?)

(I do R&D in the note-taking space.)

Hi Luc! (we know each other from my time as a Mac dev at Papers Mekentosj…)

Keypoints will have comprehensive scripting support. The app exposes most of its data model properties via scripting. I.e., one can use AppleScript/JXA to access all the basic (and many more) properties of all important “knowledge elements” (notes, files, publications, keywords, labels). Of course, the element IDs are exposed as well, so it should be easy to integrate with Hook.

Since Keypoints builds a data model from its notes & other knowledge elements, the scripting support also allows to form advanced queries or to directly set a note’s property (like its title, label or rating etc). Keypoints will then automatically update the note’s text accordingly. Batch updates are also possible, of course.

1 Like

They differ a lot. Skim is a classic & fully-featured PDF reading & annotation app (and offers many more PDF-related annotation features than my app ever will offer). However, Skim keeps the highlight annotations per PDF, whereas my app extracts them as plaintext notes and collects them in a document. So you can search/filter/gather your highlight notes independent from the PDF. But selecting the note will again open its source PDF and jump to the original annotation in the PDF.

While my app stores the notes in a Core Data document, it will also automatically expose all of its notes as plaintext notes on disk. This allows for basic integration with other apps. The scripting support will allow for more fine-grained integration. E.g., I’m planning to work on export (or even sync) scripts to easily exchange/sync notes with DEVONthink, Tinderbox, OmniOutliner, Bookends, etc.


I’d love to see more when you’re ready to share! I’m deeply embedded in MarginNote but open to trying something new. You noted that you’re focused on “plain-text” for PDF annotation. Are you talking only about the annotations or the PDFs? A vast majority of the PDFs I need to organize and annotate have extensive figures that I may also want to annotate, so I often draw with Apple Pencil as part of my process.

By “plaintext-focused” I’m referring to the notes that my app creates from text highlighted in a PDF. In its current state, my app only supports extraction of text from highlight annotations, and it can’t yet extract images from the PDF. Support for images is, of course, very important, and I will try to facilitate image extraction for my app. But for now, my focus is on text. And, for the foreseeable future, my app probably won’t offer any recognition capabilities of handwritten annotations, or an OCR feature.

MarginNote is very good app after overcoming steed learning curve. Keep in mind iCloud sync issue has been there for a long time, still not fixed