Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Show HN: Collate: Cross platform note taking app based on plain text data format (collatenotes.com)
85 points by patleeman on Feb 14, 2017 | hide | past | favorite | 50 comments


"Sign up for our newsletter below to get a download link [to our beta]"

No thanks, but I'd be glad to try it and give constructive feedback if you can provide a link without the e-mail requirement.

I like to think of us as a like minded community trying to help each other rather than worrying about harvesting e-mail during a beta cycle. Why not make it optional until you are v1.0?

That said, it looks like you've done some nice work.

Do you have mobile apps in progress?


Honestly, before this post went live I had no idea if anybody would be interested in yet another note taking application. I was hoping to use it as a way to gauge if people would consider giving me their email address in exchange for trying the beta. I completely understand where you're coming from though, I myself try to keep my inbox clean!

To skip the mail signup, you can jump straight to the download link here:

https://goo.gl/8ZBHQx

Thanks for the kind words!

No mobile apps yet. I know, this is a huge sore point for myself as well. It's definitely on the road map and I'd like to get the desktop app stable and some more features ironed out before I dive into the mobile app realm.


> I had no idea if anybody would be interested in yet another note taking application

I'm coming to the conclusion that the answer to this is always yes. I wonder if the correct answer is for everyone to have their own note taking app. There's a balance between using an existing tool and having one that does what you want.

I was also surprised by the email signup to try a beta. That made me think I'd have to buy a paid app in a few months. (Not that there's anything wrong with paid apps, but I'm not a fan of trial versions of software.)


I've been wanting to create a file format like this for so long. Good job!

The main thing I was thinking of doing differently was zipping the whole thing up, so that it would become a single file that you could pass around, similar in concept to a CBZ.

Edit: Haven't really looked too much at the software, just really excited about the notebook format.


Thanks! It's really good to hear that other people wanted something similar!

Zipping is a great idea, I didn't even consider that. I'll definitely look into it.

I've mainly been considering trying to integrate Git into the application for both version control and the remote features. It would auto add, commit, push and pull from remote and allow people to use a git repo they host or an already available service like github or gitlab. It would try to be as seamless and out of the way as possible.

It would be quite a bit of work and I'm interested on hearing what others have to say before I dive into that rabbit hole.


I'm not sure what backend you're using, but you might find it simpler to integrate Mercurial, as you can basically access it as a Python library [0].

Though, Mercurial doesn't have a particularly great git-export story, so syncing to GitHub or the like is harder. (Fossil has a better story there, with first-class git export, but a different workflow, and harder integration story (a RESTful JSON API)).

Git tends to be harder to integrate with, as there is sort of an expectation you'll maintain a shell process for it. [1]

As to zipping, with Git, you need to zip the whole repo.

Fossil can zip files upon storage, or you can zip the *.fossil file.

Mercurial can bundle with gzip, to simplify things a bit.

My point being, though git can give you some nice places for users to deploy to, it can be a bit of a pain to work with, and a couple other SCM systems might need to be considered. They might make your life a lot easier.

[0] https://www.mercurial-scm.org/wiki/MercurialApi

[1] https://git-scm.com/book/be/v2/Embedding-Git-in-your-Applica...


Hey thanks for the thoughtful answers! The back end is written with Electron, so I have access to plenty of libs on NPM. I was thinking of utilizing libgit2 with some popular thin wrapper out there and giving it a shot and testing it. If it doesn't work out, I'll check out the other SCM systems as well.

Git is appealing to me personally because it's just so ubiquitous and there are plenty of free services out there to use.


git has libgit2, which has bindings in most languages.


Personally, I think cross-platform support is more enticing at this stage. Especially since you could just drop the whole collection directory into a git-tracked folder, and have half of those features.

Also, how do you feel about others (i.e. me) making Collate-compatible software? Like, I'm really tempted to make a web-app for viewing/editing, or even just a vim/VScode plugin for that interface-integration.

Like I said, I'm really enthusiastic about the file format!


Cross platform support works right now but could probably get better. In terms of mobile support, that's a huge project that I would have to invest significant time into, so I'm holding off for now. It's definitely one of those things I want to do in the future for sure.

I would be absolutely flattered and would support any Collate-compatible software. The file format itself is open and MIT licensed and any contributions and discussions would be welcome!

I put a lot of thought into the file format and I'm really glad you're excited about it! Please feel free to reach out to me if you have any questions about the format or if anything is unclear at hello@collate.rocks.


For my two cents, I'd use something like tar instead of zip, if for no other reason then that you don't have to unzip a file every time you open it.


That would be something I'd pay money for.


How's its image handling? If it's just "write Markdown to display the image", that doesn't work so well for me - can't view offline, lose context if the image disappears from the Web, etc.


Currently you can attach images to notes but I really want to add a way to attach an image and have it download and save to the attachments folder. Then have an insert button available.

So one would download an image, attach it to the note, and then they could right click on the attachment and click insert into body or something like that.

Another idea was to create a web clipper 'note type' and expand past just simple markdown notes. Note types would be for example, a web clipper note type which would download a webpage for offline consumption as a note. Or a list note type which has check boxes, list items, etc. One could potentially be a gallery or image note type for attaching and viewing image.

I'm still thinking through the idea and implementation but it's one of the features I'd really like to implement. I think it would make note taking way more flexible than just markdown.


> expand past just simple markdown notes . . . list note type which has check boxes, list items, etc.

You can achieve this without leaving markdown: I currently do this in NValt using a markdown preview theme that supports Github-flavoured markdown checkbox syntax ([] or [/]) [1], amongst other extensions.

[1]: https://github.com/dg2/nvalt-prime


Inline images is a must. I usually take screenshots and pictures for ideas that are not easily expressible in text.

Next should be the web clipper equivalent of evernote.


Maybe embed images as base64 blobs?


Yes! It would be cool to compile all assets into a single html file and store that.


Have you considered Zim (http://zim-wiki.org)? It seems to check all of your points. I'm using it heavily for all kind of notes that exceed two lines. It has some amazing plugins too (e.g. For organizing Todo items across the entire notebook).


Not OP but I've looked into Zim and other Wikis several times but I can't find a good editor for mobile (iOS).


I use http://workflowy.com/

In short it's a tree with potentially infinite depth, search, tags (#work) and contacts (@mummy), and the ability to change the root of the tree.

It's also possible to share nodes in read or read/write with other users. It's exportable to Markdown and other formats.

Sadly Collate notes nor Workflowy are free software (as in libre), and I cannot install them on my server :-(


Shameless plug: I am currently working on a free (as in libre) Workflowy replacement. https://github.com/NickBusey/BulletNotes


Awesome, thanks for sharing!


(Shameless plug)

Couple of years ago I made Atea [0], a text-based note taking/TODO/time tracking app for MacOS. Since it stores everything in plain text files, synchronisation can be offloaded to Dropbox etc.

There's no sorting, attachments end everything else Collate offers, but I still use if for tracking time and managing projects.

[0] https://github.com/pkamenarsky/atea


Hi, thanks for your work on this, it looks awesome! I tried to download the precompiled dmg and it appears to be broken. When I try to open it, my computer says the file is damaged and needs to be deleted. I'm not knowledgeable enough to compile it myself and would absolutely love an easy-to-set-up dmg download I could use. I'm running Mac OS 10.11.4 if that makes a difference.

Thanks!


Hey this is really cool! I love how simple and available it is. The integration into the menubar is great at keeping tasks one click away. I dig it a lot!


I found "Standard Notes" a few days ago, could be of interest for people who're looking for apps like this: https://standardnotes.org


I was recently looking for something to replace my Evernote, and this was the list of things I have found during my search:

- Any text editor + Syncthing https://syncthing.net/ + TagSpaces https://www.tagspaces.org/

- QOwnNotes http://www.qownnotes.org/

- Nimbus Notes https://nimbus.everhelper.me/note.php

- Laverna https://laverna.cc/

- Turtl https://turtlapp.com/

- SimpleNote https://simplenote.com/

- Wiz http://www.wiz.cn/

- Google Keep https://keep.google.com

- Microsoft OneNote https://www.onenote.com/

- Quiver http://happenapps.com/#quiver

- Notation http://getnotation.com/

- FetchNotes http://www.fetchnotes.com/#/

- ResophNotes http://www.resoph.com/ResophNotes/Welcome.html

- ConnectedText http://www.connectedtext.com/

- RedNotebook http://rednotebook.sourceforge.net/

- Notebooks http://www.notebooksapp.com/

- KeepNote http://keepnote.org/

- CintaNotes http://cintanotes.com/

- Paperwork https://github.com/twostairs/paperwork

- MemPad http://www.horstmuc.de/wmem.htm

- Zim http://zim-wiki.org/

- StandardNotes https://standardnotes.org/

Collate seems to hit all the right notes though, so I'll probably switch to that.


I went with one not on your list - nvALT, backed by an encrypted Dropbox store. Love the minimal UI.

http://brettterpstra.com/projects/nvalt/


I actually saw it but forgot to add it to the list. To be honest nvAlt and Quiver are my two favorite and make me sad that I am on Windows and can't use them. They really don't have any good equivalent on other OS.


Are you using the built-in encryption?


I'd like to add treesheets (http://strlen.com/treesheets/) to the list: it's an offline tree based editor so it naturally has an infinite number of levels of details you want it to have. The format is a (custom) single file so it's easy to backup and share. While all data is in a tree, it is possible to display it as a grid. I'm not using it currently because I don't really need it, but it's the first one on my to-try list.


I went through that same list while researching note taking apps a couple months ago. I downloaded and tried a bunch but none of them really hit the sweet spot for me.

I'm glad that Collate hits the same use cases for you as it did for me!



For anyone looking, another note-taking app is http://onemodel.org. (I'm the author).

It starts from a different conception of the nature of atomic knowledge. Details at the web site. Text-only, no mobile support (yet?), bit of a pain to install, but the most efficient I've ever known of and easy to use (I hope). Uses postgresql as the back end. I'd consider hosting the db for users, with discussion.


How are conflicts handled?

Let's say I have two devices; both are offline. Now when I make changes to the same file on both devices, what happens when both devices come online? I guess there will be data loss?


Currently the user is the one to handle syncing. If you use a service like Dropbox or Google Drive, the sync will be handled however they handle it.

In the future, I'd like to integrate git into the application and have a simplified conflict resolution where a a diff would be shown and you're given a accept this version or this other version.


Is this more than a markdown editor with a file explorer built in?


Yes, it pretty much is!

It's built off the [Collate data format](https://github.com/Collateapp/collate-file-format) which is just plaintext markdown files with YAML encoded metadata. One of the underlying principals of Collate is that you should be able to traverse your notes in a file browser and edit them in a text editor manually if for whatever reason Collate doesn't work for you. The current iteration of Collate is exactly that, and I'm looking to build on top of that going forward!


I see that you allow the inclusion of arbitrary keys, but don't currently do anything with them.

I currently keep notes as Markdown files, with similar key/value pairs at the start of each. I then have a hacky script [1] that extracts all such data from each note with a particular tag, and prints the results as a table. So I have automatically generated tables for my notes on talks (with columns for the date, venue, speaker's name, and talk series), books (title, author, publisher), recipes (title, course, source, whether I've cooked it), etc. without needing any special configuration.

If I were to use Collate, I'd keep notes on talks/books/recipes in separate notebooks, so it would be a useful feature to display a table of all key/value pairs in a particular notebook.

[1]: https://github.com/jamesscottbrown/nvalt-scripts


Well, it's also a paid cloud service that hosts your data.


Until there is a web clipper that can do as well as Evernote, it's not an option for me. These days, I clip as much useful content as I write my own notes.


If you're ok with Google storing your stuff, I have recently switched from Evernote to simply using the Save to Google Drive chrome extension, and it's very good. It doesn't do the whole "remove the fluff" thing but it has the option of storing an image (PNG) of the page, or the html, or a web archive (html + resources) straight into a folder of your google drive. It's not complete, but it's a potential replacement.


Thanks for this. Most of what I web-clip are just tech how-tos that occasionally vanish from the web, making bookmarks useless.


Did you consider emacs with org-mode?

It fits all your points but come with agendas, tags, can export into a crazy amount of format and a whole bunch of useful things I use on a daily basis. It's already cross platform (without relying on electron), lightweight and can even work without any Gui installed


Yes! I've heard such good things about org-mode but I just couldn't get over the learning curve for emacs. I'm more comfortable with Vim and even tried the vim-orgmode but i just couldn't get into it. I really do need to hop in and try it again one day!


You can give Spacemacs or emacs+EVIL mode a try. It's basically emacs+vi keybindings.


Is it just me or is the site hijacking scroll? I can't tell if I'm going mad or not.


It 100% is, you're probably not going mad.


How does it compare with floss https://leanote.com/ ?




Consider applying for YC's Winter 2026 batch! Applications are open till Nov 10

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: