Quiver is a Mac app that helps programmers take notes. Its unique cell-based design makes it easy to mix text and code in one note.
I built Quiver to scratch my own itch. I have tried numerous code snippet managers over the years, but they all missed one crucial point: it's not just code that you want to store. Usually you want to mix code snippets with comments, images, and links. Nothing out there was able to do that. That's why I built Quiver.
Now Quiver 2.0 is out. This major update comes with cloud syncing, shared notebooks, Markdown preview, presentation mode, and more. With this new version Quiver is no longer just for a single user, but for team collaboration as well. You can use a shared notebook as a shared knowledge base in your company.
I've been looking for something like this I'll definitely check it out when I get home. One small feature request that I have though is if you could add some simple screen-shoting functionality. I believe it should be simple enough judging for example by this SO question http://stackoverflow.com/questions/12823489/how-to-take-regi... and this example https://developer.apple.com/library/mac/samplecode/SonOfGrab... but I might be wrong. I realize that I could just use whatever screen-shoting app and then drag the image over but sometimes I take a lot of them and all the switching gets really annoying.
You can take a screenshot with the standard OS X shortcuts (Command-Shift-3, Command-Shift-4, etc.) then paste into a text cell. Quiver lets you save images inside text cells, including web images (which will be saved locally so they work offline).
If you like a quick workflow, use Command-Control-Shift-3 to take a screenshot and save it to clipboard, then paste in Quiver.
For anyone interested in an alternative, I'm working on Brainstorm, an open-source note taking application that runs in the browser.
Its fuelled by markdown with syntax highlighting support. Since Brainstorm likes looking at things, you can also embed images (and .webm video using html <video>)
The demo currently has no restrictions on who can and cannot edit notes. This won't be a problem in the future.
You can't do syntax highlighting in Evernote. If you do syntax highlighting with another tool, then copy into Evernote, you won't be able to edit it again. That's the main reason I couldn't use Evernote for programming notes.
Quiver's code cells use the ACE editor (http://ace.c9.io/), which is a real code editor with syntax highlighting support for over 110 languages, 20+ themes, auto indent and outdent, etc.
Though it's a different beast, the (Smallest) Federated Wiki shares some similarities with this. It uses a JSON format and allows different paragraphs to use different plugins, including a code plugin:
It is also cool in that it's a federated wiki. If you're not familiar with the idea, consider listening to this recent JavaScript Jabber podcast with Ward Cunningham:
It's a great concept and you can set up a federated wiki on your own machine with "npm install wiki".
Edit: Sorry for failing to only provide an alternative without commenting on Quiver!
Though I am clearly excited about fed wiki, I also intend to buy Quiver because it meets specific needs that I have with easy image inclusion, export to HTML and I may even have a use for the presentation mode.
Nice to see ACE used this way... I worked on ACE some years back and currently work on a web tech-based desktop editor (Brackets).
The federated wiki idea is interesting. It's the first time I hear about it. The json file format does look very similar to what Quiver has. It is cool to be able to resolve note conflicts with a drag-n-drop UI.
And thanks for ACE! Without it I wouldn't be able to create Quiver. It's an awesome code editor!
You're welcome for my little bit of ACE. There were others with a much bigger hand in it than me (Fabian Jakobs and Julian Viereck come to mind instantly). It was a fun project (and probably still is!)
I use the babel package built into emacs' org-mode. It's not for everyone though.
It's worth investing in a tool like this. I find the act of keeping a journal to be invaluable to developing my skills as a programmer. I find it serves two primary purposes. It first provides me a historical record of how my thinking has been changed and influenced. And it helps me to recall difficult subject matter in deep, complex domains. I tend to have limited brain capacity so it's nice to have a "database" of my thoughts to lean on.
Emacs org-mode with babel is definitely the bee's knees.
I can intersperse org-mode markup (much richer than markdown) with syntax-highlighted and executable code snippets. I can export all of this to my wordpress blog or to great-looking LaTeX documents, or even to presentations using org-reveal.
I'm sure Quiver is slick software but so often I have seen flashy tools suck up more time and effort in using them than other, simpler solutions.
If you want to make quick notes, there is absolutely no better tool than a notebook and pencil.
It's time tested and been proven to work for the past 2,000 years. It offers the minimum possible barrier between your thoughts and the page. It allows completely free expression with no limits on what characters you can type or where you draw your lines. You can erase and rewrite arbitrary areas as many times as you want using an eraser. The battery will never run out, it's very cheap and there's no screen to smash if you drop it.
FYI this isn't the opinion of some ancient luddite who still thinks we should be programming with punch cards. I'm 25 and have been hacking and playing with computer hardware and software since I was 12.
And I still think a moleskin pad and mechanical pencil is hands down the absolute best UI for crystallizing thoughts. If you are using anything flashier you are wasting your time on the tool rather than the substance of what you are thinking.
It's code notebooks, not an idea chart. It's evernote for programmers which is something a lot of people need since all the evernote-esque tools suck at handling code.
> If you are using anything flashier you are wasting your time on the tool rather than the substance of what you are thinking.
I brainstorm at a keyboard fwiw. Different strokes.
I agree with this to some extent. I'm a sucker for a new moleskin notebook.
But, it is such a freaking pain to copy code down into a paper notebook. I've been doing it for a few weeks now and I feel I spend more time copying down the code than actually programming somedays.
I agree with you. I made my own open-source note-taking software (built it with love <3), and even though I use it a lot, it does not, will not and can not replace my notebook.
Looks neat. I'll have to try it out first before thinking about buying it.
I've been using Gollum, a project from github. It's basically a wiki using ruby brick and git to serve the md pages. I think the hassle is having to start up gollum to use the wiki and having it run.
And I keep different subjects in different repos so switching between each repo and relaunching gollum is a hassle. The code highlight isn't so great with other languages such as Erlang iirc.
Does this just have one hierarchical page in each notebook? Say the python book, it seems like there's say a collection of pages, each of those pages cannot have nested pages?
Yes Quiver has a very simple hierarchy: notebooks and notes. But you can use tags and linked notes for more flexible note organization. Also, when there are lots of notes, the only practical way to find something quickly is a full-text search, which Quiver supports nicely.
A way to convert IPython Notebooks to Quiver notes would certainly be useful (as would the other way around). Searching ipython notebooks for code is a nightmare.
edit: good work btw, I'm not completely sold on this solution but I do think there's a problem here. I'm pretty invested in evernote but think this has potential.
That is a good idea. IPython Notebook was another inspiration for Quiver. Since Quiver uses an simple JSON format for data files, it's easy to write a script to convert IPython notebooks to Quiver notebooks. I don't yet have importer scripts, but I have written some exporter scripts here, and you get the idea. https://github.com/HappenApps/Quiver/wiki/Export-Scripts
That would be cool, but would make the app more complicated. Think about all the other languages. You would have to include tons of runtimes. It's better to leave that to other apps/frameworks/tools.
I like to keep Quiver simple and lightweight. Quiver app is only 8MB unzipped, while Evernote is over 160MB unzipped.
Any thoughts on making this cross-platform (Win7, linux)? I currently use tiddlywiki to keep a journal of all my notes but it's not as seamless to use. At work, I use Windows7 but at home, I use Mac OSX. I have it synced via Dropbox which allows me to jot down notes almost anytime I'm using a computer.
I've been using the demo for the past hour and I'm really enjoying writing short code snippets with "text cell" comments. The only feature I would request is some way of inserting tables, perhaps a "table cell" option. Great app though, loving the demo so far.
How can I insert a table?
I've googled but I couldn't find the way.
It is supported only purchased version?
I want to check this feature before I buy the quiver. :)
I would love to have syntax highlighting in nvALT (~notational velocity), but wouldn't switch away from it for that feature alone. Having tried out quiver, it's not nearly as fast to use.
I built Quiver to scratch my own itch. I have tried numerous code snippet managers over the years, but they all missed one crucial point: it's not just code that you want to store. Usually you want to mix code snippets with comments, images, and links. Nothing out there was able to do that. That's why I built Quiver.
Now Quiver 2.0 is out. This major update comes with cloud syncing, shared notebooks, Markdown preview, presentation mode, and more. With this new version Quiver is no longer just for a single user, but for team collaboration as well. You can use a shared notebook as a shared knowledge base in your company.
You can find more information about Quiver here: http://happenapps.com/#quiver
A free trial version is here: http://happenapps.com/downloads/QuiverFreeTrial.zip