• # What I already really like

• Tree Search!
• Great job managing screenspace
• LaTeX works
• Hotkeys are intuitive
• # New features I would like

• Import
• Global and local Undo
• Selection by Card
• # Bugs and semibugs

• Splitting a card with content, followed by Esc in the new card deletes the split content permanently.
• # Changes to existing functionality

• Cleaner Card drag n’ drop
• Text Selection
• Background color contrast
• # The only thing left to try is…..

• How does it handle large files? The UI currently feels very responsive, I hope it stays that way!

EDIT: I’ve now tried reading Romeo and Juliet in gingko. It felt fast.

• # Wild questions

1. Is it even remotely possible to create an extension for the Atom text editor which allows the user to view Markdown content using gingko?

2. Would it be possible to view the “diff” of changes made by my collaborator showing only the Cards which have been changed and their parents? (just like in Search)

• I can’t overstate how cool this is. I love watching the info I’m looking for bubble up to the surface as I type. This is so much better than being forced to jump around to different points in a file. It keeps just the info that you need including parent cards for context and throws away the rest. Awesome. This is definitely the killer feature IMHO.

• ## Screen Space

I get relevant, readable text all over my screen. This is awesome. Most documents only give you text down the middle, because moving your eyeballs across the entire width of your screen is a pain in the ass. And usually if they do try and use up the screen area the content on the side is not text, or it’s text from a different document.

• ## LaTeX

LaTeX test $\ldots$

Awesome! And working with a structured document gives us all the benefits of Markmon style quick-rerendering (for equations in different cards) without having to perform any diffing! (or is markmon used internally?)

• It would be nice to be able to add links which would take you to another card. Also, cross-references like in LaTeX. I know mathjax has some ability to do numbered/labeled equations and cross referencing. Is it just a matter of exposing MathJax to the global state instead of just the current card?

• ## Undo

This one is obvious. I think it’s even mentioned in the FAQ. I appreciate that it’s hard to do. I recommend looking at the IPython Notebook’s implementation of undo as a good starting point.

1. A global undo that manages the creation/deletion of cards,
2. A local undo when in editing mode which remembers the local Card’s history.
• ## Card Selection

I’d like to be able to select and (multiple) entire card(s) for copy and paste. Additionally, having the ability to paste this into my desktop text editor would be pretty groovy.

• ## Import

Why can’t I import markdown/structured json documents from my computer?

Also, how about importing images and stuff via drag n’ drop?

• ## Search jumping FIXED!

Narrowing down the branches/leaves as I search is awesome, but I should be able to jump around between selected cards/pieces of text easily.

EDIT: A simple workaround is to follow up my Gingko search with a normal browser search, although this does not set Gingko’s focus on the card containing the selected text.

• ## Card Drag n’ drop

Moving Cards around is clunky, especially if I want to change depth in the tree.

• ## Text selection doesn’t work well

When I drag my cursor anywhere things begin to look funny. Pasting copied content to a text file includes + signs and $\, \times$ signs…

• ## Colors can be a little hard on the eyes.

I know this is personal preference, but sometimes I find it hard to tell if the next card in the column is a part of the same parent node. The 1px hline and slightly darker color are usually sufficient, but sometimes I wish my current branch would stand out a little more from the rest of the tree… Honestly though my opinion changes with the room lighting.

I agree with you. The color scheme, oddly enough, was the result of much intense debate with my ex-cofounder. I always thought that the goal of the UI and color scheme was to enhance readability, and so a slightly higher contrast would be better.

I’ll play with the scheme, and see what comes up. Note that you can too: just add a <style> element to any card (like I did with the first card in this tree) and have at it!
• My most used tree has 800+ cards, and is still very smooth.
• It would be possible to make an extension, I’m sure. But I won’t be looking into this any time soon.

The diff is an important one (as the horrendous “yellow div” approach I’m using right now demonstrates). I might try to hack just this feature of collaboration, rather than wait for full version control.
• The idea here is, I’m trying to solve offline, version control, and full undo simultaneously, since they’re all related.

I’m taking a free week after my phd defense next week, so I’ll be able to dig into this problem and see.
• Noted. One among many features I’d also love to implement.
• If you mean, why do you have to copy/paste the markdown/JSON into a card, and then press Ctrl+Shift+Enter?

Answer is: haven’t gotten around to it.
I’ll look into using this, maybe, as a solution:
https://www.filepicker.io/
• Aha! I didn’t know about the Ctrl+Shift+Enter feature! That’s exactly what I was looking for.

• Noted, and agreed. I’ve moved it up higher in my backlog.
• My main gripe with Gingko as is, is the clunky Drag and Drop.

Two solutions for this I’m considering:
1. Rewrite our whole DnD code.
2. Add more/better move by keyboard options to make it irrelevant. (since card moving happens in discrete steps, move by keyboard can be very fast. Especially if I implement a “Move to” feature that lets you move current card to the first card to match a search term.
• I know, but right now too small a detail to worry about.

If I’m wrong and you have a specific and common use case that needs this, let me know.
• ### Low contrast causes Column Confusion

Additionally it would be nice to hit spacebar to hop to the next suggested panel, which means:

• to the right if hasChild() == true
• down if hasChild == false && hasSibling() == true
• left + down otherwise

EDIT: learning how to use + and - really helps here, but only in edit mode. This should also be available in read only mode.

EDIT2: Now that I’ve paid to try this out for a month the + and - features are available in read only mode. :-)

• Interesting idea. I’ll keep it in mind when I look to revamp/improve our navigation shortcuts.
{"cards":[{"_id":"4860cc4f2fec59c7be000057","treeId":"5409987fd46197976059ae8b","seq":3639952,"position":1.125,"parentId":null,"content":"# What I already really like\n\n- Tree Search!\n- Great job managing screenspace\n- LaTeX works\n- Hotkeys are intuitive\n\n<style>\n.adri {\nbackground-color: none;\npadding: 20px;\nborder: 1px solid #fcfca4;\n}\n.adri.unread {\nbackground-color: #f1f1dc;\npadding: 20px;\nborder: 1px solid #fcfca4;\n}\n.card-active .adri {\nbackground-color: #ebebd0;\npadding: 20px;\n}\n.card-active .adri.unread {\nbackground-color: #fcfca4;\npadding: 20px;\n}\n</style>"},{"_id":"4861ee8ec79ecb0a5a000032","treeId":"5409987fd46197976059ae8b","seq":587952,"position":0.5,"parentId":"4860cc4f2fec59c7be000057","content":"## Tree Search\n\nI can't overstate how cool this is. I love watching the info I'm looking for bubble up to the surface as I type. This is so much better than being forced to jump around to different points in a file. It keeps just the info that you need *including parent cards for context* and throws away the rest. Awesome. This is definitely the killer feature IMHO."},{"_id":"48629bc66b4da2961900004e","treeId":"5409987fd46197976059ae8b","seq":589723,"position":0.75,"parentId":"4860cc4f2fec59c7be000057","content":"## Screen Space\n\nI get relevant, readable text all over my screen. This is awesome. Most documents only give you text down the middle, because moving your eyeballs across the entire width of your screen is a pain in the ass. And usually if they do try and use up the screen area the content on the side is not text, or it's text from *a different document*."},{"_id":"4860cdfa2fec59c7be000058","treeId":"5409987fd46197976059ae8b","seq":588093,"position":1,"parentId":"4860cc4f2fec59c7be000057","content":"## LaTeX\n\nLaTeX test $\\ldots$\n\n$$\\partial_t \\phi = \\mathbb{D} \\nabla^2 \\phi$$\n\n$$\\vec{\\bf x}$$\n\nAwesome! And working with a structured document gives us all the benefits of [Markmon](https://github.com/yyjhao/markmon) style quick-rerendering (for equations in different cards) without having to perform any diffing! (or is markmon used internally?)"},{"_id":"48625ad4c79ecb0a5a000038","treeId":"5409987fd46197976059ae8b","seq":605613,"position":1.3125,"parentId":null,"content":"# New features I would like\n\n- Import\n- Global and local Undo\n- Selection by Card"},{"_id":"4b911f0f01ea7e3b340000a6","treeId":"5409987fd46197976059ae8b","seq":963111,"position":0.1875,"parentId":"48625ad4c79ecb0a5a000038","content":"## Internal Links and References\n\nIt would be nice to be able to add links which would take you to another card. Also, cross-references like in LaTeX. I know mathjax has some ability to do numbered/labeled equations and cross referencing. Is it just a matter of exposing MathJax to the global state instead of just the current card?"},{"_id":"4861ff30c79ecb0a5a000036","treeId":"5409987fd46197976059ae8b","seq":963033,"position":0.375,"parentId":"48625ad4c79ecb0a5a000038","content":"## Undo\n\nThis one is obvious. I think it's even mentioned in the FAQ. I appreciate that it's hard to do. I recommend looking at the [IPython Notebook's](http://ipython.org/notebook.html) implementation of undo as a good starting point.\n\n1. A global undo that manages the creation/deletion of cards,\n2. A local undo when in editing mode which remembers the local Card's history."},{"_id":"48a69e4a4a74d79c370000a9","treeId":"5409987fd46197976059ae8b","seq":618963,"position":1,"parentId":"4861ff30c79ecb0a5a000036","content":"<div class=\"adri unread\">The idea here is, I'm trying to solve offline, version control, and full undo simultaneously, since they're all related.\n\nI'm taking a free week after my phd defense next week, so I'll be able to dig into this problem and see.\n</div>"},{"_id":"4860bc492fec59c7be000055","treeId":"5409987fd46197976059ae8b","seq":963032,"position":0.40625,"parentId":"48625ad4c79ecb0a5a000038","content":"## Card Selection\n\nI'd like to be able to select and (multiple) entire card(s) for copy and paste. Additionally, having the ability to paste this into my desktop text editor would be pretty groovy."},{"_id":"48a6a09e4a74d79c370000aa","treeId":"5409987fd46197976059ae8b","seq":618923,"position":1,"parentId":"4860bc492fec59c7be000055","content":"<div class=\"adri unread\">Noted. One among many features I'd also love to implement.</div>"},{"_id":"4860b06f2fec59c7be000052","treeId":"5409987fd46197976059ae8b","seq":963031,"position":0.4375,"parentId":"48625ad4c79ecb0a5a000038","content":"## Import\n\nWhy can't I import markdown/structured json documents from my computer?\n\nAlso, how about importing images and stuff via drag n' drop?\n\n![missing?](http://www.money-top10.com/Data/Sites/1/Money/Money-Business-Card.png \"Having drag n' drop import of local images would be ...\")"},{"_id":"48a699b94a74d79c370000a8","treeId":"5409987fd46197976059ae8b","seq":618973,"position":1,"parentId":"4860b06f2fec59c7be000052","content":"<div class=\"adri unread\">If you mean, why do you have to copy/paste the markdown/JSON into a card, and then press Ctrl+Shift+Enter?\n\nInstead of a file-picker?\n\nAnswer is: haven't gotten around to it.\nI'll look into using this, maybe, as a solution:\nhttps://www.filepicker.io/\n</div>"},{"_id":"4945d66e1038be163100002f","treeId":"5409987fd46197976059ae8b","seq":691932,"position":2,"parentId":"4860b06f2fec59c7be000052","content":"Aha! I didn't know about the Ctrl+Shift+Enter feature! That's exactly what I was looking for."},{"_id":"4b90c3cbbd3daa14ac0000b0","treeId":"5409987fd46197976059ae8b","seq":3671736,"position":1.40625,"parentId":null,"content":"# Bugs and semibugs\n\n- Splitting a card with content, followed by Esc in the new card deletes the split content permanently."},{"_id":"4860a1712fec59c7be00004f","treeId":"5409987fd46197976059ae8b","seq":963040,"position":1.5,"parentId":null,"content":"# Changes to existing functionality\n\n- Cleaner Card drag n' drop\n- Text Selection\n- Background color contrast"},{"_id":"4860a3a42fec59c7be000050","treeId":"5409987fd46197976059ae8b","seq":3639904,"position":3.625,"parentId":"4860a1712fec59c7be00004f","content":"## Search jumping FIXED!\n\nNarrowing down the branches/leaves as I search is awesome, but I should be able to jump around between selected cards/pieces of text easily.\n\n**EDIT**: A simple workaround is to follow up my Gingko search with a normal browser search, although this does not set Gingko's focus on the card containing the selected text.\n"},{"_id":"48a6a6c74a74d79c370000ad","treeId":"5409987fd46197976059ae8b","seq":618928,"position":1,"parentId":"4860a3a42fec59c7be000050","content":"<div class=\"adri unread\">Noted, and agreed. I've moved it up higher in my backlog.</div>"},{"_id":"488af19a1c51445d76000031","treeId":"5409987fd46197976059ae8b","seq":605610,"position":3.75,"parentId":"4860a1712fec59c7be00004f","content":"## Card Drag n' drop\n\nMoving Cards around is clunky, especially if I want to change depth in the tree. "},{"_id":"48a6a1774a74d79c370000ab","treeId":"5409987fd46197976059ae8b","seq":618924,"position":1,"parentId":"488af19a1c51445d76000031","content":"<div class=\"adri unread\">My main gripe with Gingko as is, is the clunky Drag and Drop.\n\nTwo solutions for this I'm considering:\n1. Rewrite our whole DnD code.\n2. Add more/better move by keyboard options to make it irrelevant. (since card moving happens in discrete steps, move by keyboard can be very fast. Especially if I implement a \"Move to\" feature that lets you move current card to the first card to match a search term.\n</div>"},{"_id":"4860d7362fec59c7be000059","treeId":"5409987fd46197976059ae8b","seq":605597,"position":4,"parentId":"4860a1712fec59c7be00004f","content":"## Text selection doesn't work well\n\nWhen I drag my cursor anywhere things begin to look funny. Pasting copied content to a text file includes + signs and $\\, \\times$ signs..."},{"_id":"48a6a5484a74d79c370000ac","treeId":"5409987fd46197976059ae8b","seq":618926,"position":1,"parentId":"4860d7362fec59c7be000059","content":"<div class=\"adri unread\">I know, but right now too small a detail to worry about.\n\nIf I'm wrong and you have a specific and common use case that needs this, let me know.\n</div>"},{"_id":"4860a9572fec59c7be000051","treeId":"5409987fd46197976059ae8b","seq":618939,"position":7,"parentId":"4860a1712fec59c7be00004f","content":"## Colors can be a little hard on the eyes.\n\nI know this is personal preference, but sometimes I find it hard to tell if the next card in the column is a part of the same parent node. The 1px hline and slightly darker color are usually sufficient, but sometimes I wish my current branch would stand out a little more from the rest of the tree... Honestly though my opinion changes with the room lighting.\n\n<div class=\"adri unread\">I agree with you. The color scheme, oddly enough, was the result of much intense debate with my ex-cofounder. I always thought that the goal of the UI and color scheme was to enhance readability, and so a slightly higher contrast would be better.\n\nI'll play with the scheme, and see what comes up. Note that you can too: just add a <style> element to any card (like I did with the first card in this tree) and have at it!\n</div>"},{"_id":"4860c3bf2fec59c7be000056","treeId":"5409987fd46197976059ae8b","seq":963039,"position":1,"parentId":"4860a9572fec59c7be000051","content":"### Low contrast causes Column Confusion\n\nAdditionally it would be nice to hit spacebar to hop to the *next suggested panel*, which means:\n\n- to the right if hasChild() == true\n- down if hasChild == false && hasSibling() == true\n- left + down otherwise\n\n**EDIT**: learning how to use + and - really helps here, but only in *edit* mode. This should also be available in *read only* mode.\n\n**EDIT2**: Now that I've paid to try this out for a month the + and - features are available in *read only* mode. :-)"},{"_id":"48a6a8f04a74d79c370000ae","treeId":"5409987fd46197976059ae8b","seq":618828,"position":1,"parentId":"4860c3bf2fec59c7be000056","content":"<div class=\"adri unread\">Interesting idea. I'll keep it in mind when I look to revamp/improve our navigation shortcuts.</div>"},{"_id":"48610da6c79ecb0a5a000030","treeId":"5409987fd46197976059ae8b","seq":588003,"position":1.875,"parentId":null,"content":"# The only thing left to try is.....\n\n- How does it handle large files? The UI currently feels very responsive, I hope it stays that way!\n\n**EDIT**: I've now tried reading *Romeo and Juliet* in gingko. It felt fast."},{"_id":"48a6aabe4a74d79c370000af","treeId":"5409987fd46197976059ae8b","seq":618804,"position":1,"parentId":"48610da6c79ecb0a5a000030","content":"<div class=\"adri unread\">My most used tree has 800+ cards, and is still very smooth.</div>"},{"_id":"4862642fc79ecb0a5a00003a","treeId":"5409987fd46197976059ae8b","seq":604401,"position":1.9375,"parentId":null,"content":"# Wild questions\n\n1. Is it even remotely possible to create an extension for the [Atom](https://atom.io/) text editor which allows the user to view Markdown content using gingko?\n\n2. Would it be possible to view the \"diff\" of changes made by my collaborator *showing only the Cards which have been changed and their parents*? (just like in Search)"},{"_id":"48a6d7954a74d79c370000b0","treeId":"5409987fd46197976059ae8b","seq":618974,"position":1,"parentId":"4862642fc79ecb0a5a00003a","content":"<div class=\"adri unread\">It would be possible to make an extension, I'm sure. But I won't be looking into this any time soon.\n\nThe diff is an important one (as the **horrendous** \"yellow div\" approach I'm using right now demonstrates). I might try to hack just this feature of collaboration, rather than wait for full version control.\n</div>"}],"tree":{"_id":"5409987fd46197976059ae8b","name":"Gingko Wish List","publicUrl":"wish-list","latex":true}}