Coder Social home page Coder Social logo

braintool's Introduction

The Information Manager for your Online Life

Now with Bookmark Exchange and improved Tree editing!

Praise from users and the press:

  • "Bring your bookmarks into the 21st century"
  • "Every Google Chrome user should try this"
  • "As a current Tabs Outliner user, my first reaction is that BrainTool, even in its pre-1.0 release, is far more polished."
  • "I've used Session Buddy and OneTab. This is far superior."
  • "Behind the simplicity is a lot of power."
  • "Gave bookmarks the performance and usability boost that I'd been waiting for all these years"



Increasingly all the things you need to keep track of have a URL and you access them inside a browser. That's why you always have five windows open with 23 tabs each - they're so small you can't even tell them apart!

With BrainTool you can save and link all your online information sources (web sites, Google docs, gmails, files, photos, Slack channels, social media groups, code repos, wiki pages, task backlogs, Jupyter notebooks, etc etc etc) and then see them organized in the BrainTool SidePanel, along with your annotations and notes.

The BrainTool side panel shows your nested Topic hierarchy. A topic is a category that groups web pages you want to organize and remember. On the screenshot right you can see open tabs and Chrome windows are shown highlighted and TODO items are indicated in bold. In this example I have an open Chrome window showing the 'Kitchen Project' topic, it has the Crown Point Cabinetry site open. I also have Personal TODO to try a meditation practice thats linked but not open in a window anywhere. BrainTool sidepanel
Here's a couple of videos showing more details:
<iframe src="https://www.youtube.com/embed/K6PhRJAAdRg" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe> <iframe src="https://www.youtube.com/embed/8NZ6q5Y4Q0s?origin=https://braintool.org" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
Autocomplete tags To save a page just takes three or four keystrokes with built-in auto-complete. Click the BrainTool icon, or use Option-b, and just start typing.
Optionally add short or detailed notes to give context, aid recall or capture why the page is of interest; or just hit Enter to tear off the tab and save it with its topic-mates.

Pop (pull torn-off tab and its window to the top), Hide (don't pop) and Close, support different organizational workflows.
Notes Entry

Open, Close and Control all pages by tag with a single click in the side panel. Great for switching between tasks and projects and keeping your work-space clean!

Drag and drop to reorder the hierarchy at will. Mark pages as TODO/DONE, ToRead or create your own tags and process.

edit buttons


All your data is stored on your Google Drive in a plain text file that can be separately edited, backed-up or shared. Everything is kept securely within your Google ecosystem and nowhere else. Your BrainTool file is structured as an [org-mode](http://orgmode.org) file. If you are an orgmode user, or just a plain text note taker, the file is fully editable and can be synced with the extension. The BrainTool panel in Chrome uses the org-mode tree structure but concentrates on the links within your notes thus unifying two primary ways to capture information.

emacs org-mode

Install from the Chrome Web Store

Check it out on the Chrome Web Store or ping me at [email protected] .

There's more info in the Overview and the required official privacy policy is here. Let me know if you have any thoughts, comments, or feedback: [email protected].

Tony

braintool's People

Contributors

hwiorn avatar tconfrey avatar terryfrench avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

braintool's Issues

Allow links to be nested under other links

Quite often I just want to chose one bookmark to be parent of the others - don't want to create a topic.
Tried this by editing the synced org file - worked great, except some minor UI problems (no icon, edit doesn't show the URL).
Can this be supported officially?

Roadmap to a Firefox port?

What are the necessary steps if someone is interested in porting it to Firefox? Now that Firefox addons are also using WebExtentions, maybe it is much less an effort (compared to the XUL era)?

Tabs Outliner import discards notes

I try this as a Tabs Outliner replacement mostly. So far it has better integration and documentation.

Having I imported a fairly big and disorganized TO tree, it seems like manual notes added there did not pass to the BT notes column. That makes a shift difficult.

Filing to multiple new subtrees fails

I have a first level header Area which does not contain a header Norse. I save a bookmark with the path Area:Norse:Language. I would expect this to create a subheading Norse and within that create a subheading Language. Instead, it created a new top level heading Area:Norse and beneath that a second level heading Language. I include a screenshot to illustrate if that's not clear.

Screen Shot 2021-05-09 at 18 00 03

(also hi @tconfrey , I figured this would be more efficient than sending another email!)

Editing entry with hybrid heading (link and text) changes heading when updated

BT Version: 0.9.6 / Chrome

Problem

Discovered as part of #13 - which allows you to introduce this state entirely within BT - although I think anyone who edits the org file externally will encounter this issue.

If you create a complex heading that has a link and text, it renders fine in the tree:

2021_09_27_08_11_04

2021_09_27_08_11_43

However, editing the entry will break the structure:

2021_09_27_08_12_01

2021_09_27_08_12_34

Proposed Solutions

  • Accept as-is - the title will always be a full link - maybe add a warning that saving will change the heading irrevocably
  • Make the heading read-only if it's not in standard BT format - in which case, you can still edit the description field without affecting the heading
  • Add a toggle button which allows for editing in org syntax or plain-text syntax, which the caveat that plain-text will wipe out custom syntax (and would then default to org editing if this scenario is encountered)

Support tab groups

Tab groups seem to be a perfect match for what you built here. Consider being able to state in a node in the tree whether you can it grouped under a window, or in a tab group. Both would be useful and it would bring down the total nr of windows if you want to bring up a whole set of pages at once.
Great project.

wrong visualization in topic manager

Hi,

if I select a tab in my browser for that a corresponding page nested under a (e.g. top level) topic exists, the resulting visualization in the topic manager is strange.

Expected behaviour: The topic entry is unfolded and the corresponding page below this topic is highlighted/selected
Observed behavior: The topic entry stays collapsed/folded. The corresponding page is shown in a highlighted way as entry in the row below the topic entry.

Is the current behavior correct or is this an bug?

Best regards,
Chris

Using the TabsOutliner converter

Thank you so much for creating that converter for TO @tconfrey.

I worked with it for an hour or two earlier this week and got a clean import. It did take quite a few goes at cleaning up the data and I'm not really a JS guy but am happy to learn a bit more to make it work more smoothly. Here are some of the things that I did to get it to work:

  1. First off, TO doesn't put any new lines in its tree file, so if you've got something wrong with your data it's hard to track down. I used the jq util to pretty print the json file for me. Handy tool to have, if you've not tried it. And packages for most systems. Tip:
jq . tabsoutliner.tree > tabsoutliner.tree.json
  1. Chrome's console wasn't quite as clear about the data issues as Firefox, so I made that switch.
  2. Every time I had an error, I ended up needed to close the DevTools window and its parent window before running again, as const TabsOutlinerExport was already set and I couldn't figure out how to clear or trash it.
  3. Wouldn't you know it, the very first data it rejected were backticks. In the <title> tag of this page https://github.com/consolidation/cgr it's got backticks so I removed those manually, washed, rinsed, repeat.
  4. Then the most common errors were double quotes. I think I would remove them as they appeared, but having just done a brief search I think they need to be escaped with two backslashes, not just the single one that TO puts in. I suspect that would be easily enough dealt with regex.
  5. When I finally got the data, I couldn't simply swap it with the default BrainTool.org file. I don't know what is up with this laptop and my GDrive account but it would make a new BrainTool.org file, and keep the one I used but turn it into a GDoc or something. Very strange. Probably something to do with Gnome and the way it's connected to Gdrive. I've not tried it out on my Mac or booted this laptop into Windows yet to see if it's something to do with that. What did work, in the end, was installing InSync which I'm ambivalent about.

The TO tree I imported has 761 entries in it - it's the one on my personal account. My work account has about 1200+ but needs some pruning and does get pruned regularly as I group together windows based on Jira tickets I'm working on and I regularly clear out stuff at ends of sprints and/or projects.

Since I've got so much data in BrainDump here now, I'll have to spend a lot of time thinking about how I'm going to tag and organise it better now!

Thanks again.

Delete undo

Great project - i like the direction you're headed.
In the chrome extension window, for users doing changes in there, the delete icon is dangerously close to the open/close icon, so it's easy to misclick and delete something. After deleting, there is no undo, unless i'm missing something.
Keep up the good work - this is promising.

Feature to bring BrainTool window to "top" from extension menu

If the BrainTool window is already open, then there is no way to bring it to the top without cycling to the window. Since the window is critical to the management and access of BrainTool data, there should probably be an easy way to bring that window to the top and into focus.

I am not sure if such a thing is possible with a chrome extension, but it would be worth investigating. In plain JS, this would be trivial: https://stackoverflow.com/questions/7174222/select-and-focus-an-already-existing-window. Another way may be to keep the reference to the window

A chrome extension may have more to it, but it would be a really useful feature.

BrainTool managed web page as tab instead of window (and, a few words about basic use)

First of all, as an intensive Emacs+Org-mode user, I am enthusiastic about this project.
Nonetheless, I really struggled with the basic use of the plugin. Even after allowing the Google Drive access, first nothing happened when pressing =M-b=. Then all of a sudden there was this dialog box allowing to type in a tag and comment. But it is not obvious how to validate what you have entered, and as I had the bad idea to have a look at something else while the dialog box was open, I had the bad surprise going back to the web page, that the dialog box was closed, and the few words I had typed in were lost.
So, maybe you should write some basic instructions about how your tool is supposed to be used. Maybe this is obvious for you, but maybe not for everybody...

But the main problem for me with BrainTool is that, if a page is "managed" by BrainTool, it then opens in a new window. I would like to be able to open it as a new tab in the current window (that's how I work, one full screen window and a lot of tabs inside it, sometimes using the new tabs grouping functionality). If I ask the new window to join the existing main window with the other tabs, obviously the link with BrainTool is lost. That alone will make it hard for me to use your plugin.

Import / Export to local Org.file Keyboard shortcut

Hi there,

Really like your extension.

I'd like to use with my terminal workflow. I save my sessions in org mode file.

It would be a great time saver to have a dedicated keyboard shortcut to export current tree to a file
And of course same way other way around. Import on a keystroke.

Could really enhance session swapping

Thanks and keep up the good work !

Keyboard short improvements (and UX feedback)

Hi tconfrey
I just found your tool from reading HN (https://news.ycombinator.com/item?id=30881456). The best link I have found in a long time!

It looks awsome and just what I need (also just started migrating ORG to be my daily goto for GTD, knowledge etc).

I am sure that (after making a good Hello World! test) I will be adding a sincere(!) 5* review/blog post to qualify for your generous one-time-offer (I did read the google-discussion about the subject, good thoughts there!)

As I am only starting to test BT now my feedback is from a really fresh set of eyes.

Sorry for the long introduction, now for the actual feedback:
Being a keyboard-shortcut-aficionado I do have a few request/suggestions based on what seems to me to be the "de facto" shortcuts across most other tools I use (EG Jira, vimium plugin etc)

SHORTCUTS

  • Use 'ESC' for CANCEL (eg in Edit card, Close Help, Close Options etc)
  • Use '?' for help (can even co-exist with 'h')
  • Use '/' for search (can even co-exist with 's')

COLORS
I get confused by the same bg-color being used for a selected item as well as for the tools overlay (dark green).
I prefer the difference that can be seen when hovering (light green)

  • Consider implementing a third nuance of green to allow this distinction

ANIMATIONS (UX)
I have a very ambivalent relationship with animations often it get's implemented as a "look how fanzy this is" and not a "pay attention - now something is changing here". Your implementation is not in the first category, but :-)

  • Reduce the time animations take (subjectively - have not used my stopwatch yet - it looks like a full second is used, I think speeding it up to ~200 ms would make it feel a lot snappier
    (if I can find the place in the source code I can play with it my self)

PS.: Awsome concept(!)

Multiple tags support

It seems BT only allow one tag for each resource. It may be easy to support multiple tags in the existing tagging popup.

If we use comma as tag separator, then "photo, New York" for a picture has two tags "photo" and "New York".

Saving does not need to change at all.

On side panel display though, besides existing display as "photo New York" as a tag by removing comma, two separate tags "photo" and "New York" can be displayed as well, and since there are resources with "photo, New York", so under "photo", show another tree node for "New York". Same for "New York", show a subtree for "photo".

By doing this, this tool will be way easier to use and organize resources. People just tag as "photo, Washington D. C.", then dynamically under "photo" there will be both "New York" and "Washington D. C.", etc.

By doing this, without any file save change at all, just change UI to display more dynamic display of tags, it will be easier to navigate following tags.

[Idea] Control Chrome from emacs

This was the idea I had when I was searching for an org-mode Chrome extension and found your tool; Chrome has windows, windows have tab groups, and tab groups have tabs. It's a naturally hierarchical structure. Wouldn't it be great if this structure was just an org-mode file, where I could easily bring up my terminal with a keyboard hotkey, and start editing it?

The idea is basically to have BrainTool's sidebar's functionality available from emacs.

Some possible workflows follow:

  • close tabs by adding a :closed: tag
  • open tabs by changing that tag to :open:
  • refile subtrees to move tabs between groups and windows
    • each first-level heading is a window
    • second-level headings are tab groups
  • use org-mode's search and narrowing features to narrow the open tabs
    • (I myself am not very familiar with this functionality, as I hadn't needed narrowing searches before, but I am pretty sure it's available.)
    • E.g., we narrow to only show the tag :trip:, and then invoke a command braintool-sync-open-tabs, and all the extra tabs are closed from Chrome
      • these closed tabs retain their :open: tag, so when we cancel the narrowing, we can again restore them easily

ambiguous error message

Having got out of sync with GDrive, I got the following message on another laptop:

"There's a newer braintool.org file on gdrive - overwrite?"

I'm overjoyed to find that my data hasn't been clobbered, but if I click OK, it's not clear whether this will overwrite local with remote, or vice versa. The message needs to be more explicit.

BT thinks a url has already been added

Hi,

I am a new user of BT and have a 2 link BrainTool.org file. When I tried to add a third link, the Choose Tag
dialog tells me that the tab is already under BT control. I attach a picture and copy of BrainTool.org for your considration. Github does not like the .org extension, so I've renamed it BrainTool.txt.

I am using Chrome Version 87.0.4280.88 (Official Build) (64-bit), on Windows 10.

Hopefully, if this is an operator error on my part, someone can point it out to me.

Thanks,

BrainTool.txt

BT-UnableToAddUrl

Selection of child topics within BrainTool Saver does not seem to work in all cases

Hi,

I have seen a "surprising" behaviour within the "BrainTool Saver", that might also be a bug.
If you have

  • child topics where the one child topic name is a prefix of another child topic name
  • or one child topic name is a substring within another child topic name

you are not able to correctly select one of them. The BrainTool Saver seems to choose one of the entries and no entry is visually selected in the tree view, regardless of "clicks" in the tree view.

What is working though is the incremental search using the text field. This correctly shows all matching entries and you can select the one you want.

Braintool Version: 0.99
Chrome Version: Version 111.0.5563.110 (Official Build) (64-bit)

Best regards,
Chris

(Org-mode Interop) Clobbering Properties

This may not be a design goal, or perhaps not for 1.0, but I think it's a good idea to leave any org-mode markup that BrainTool doesn't understand unaltered, so that the BrainTool.org file can seamlessly interop with Emacs, eleventy, org-roam, LogSeq, and other apps that speak org.

The Problem

I tried adding a property drawer to one of the links:

:PROPERTIES:
:ID: this-is-my-id
:prop: value is a string with whitespace
:END:

After importing to BT, editing the link, then M-x revert-buffer in Emacs, it's been changed to:

:PROPERTIES:
:ID: this
:prop: value
:END:

The Solution

The problem is in BTAppNode.js line 595.

        const reg = /:(\w*):\s*(\w*)/g;              // regex to iterate thru props and values

Can be altered to:

        const reg = /:(\w*):\s*(.*\w)/g;              // regex to iterate thru props and values

This uses the greediness of \s* to guarantee we're not starting the value on whitespace, the greediness of .* to ensure the whole value is included, and the \w character to effectively strip any trailing whitespace (matching the behaviour of Emacs org-entry-get.

Some sections of UI cut off

See screenshots:

image

image

I tried using Ctrl-+ and Ctrl-- to see if that would make more of the cut-off text visible but it did not.

This is on Windows 10 and Microsoft Edge 110.0.1587.41.

Pressing enter in heading field breaks org link

BT Version: 0.9.6 / Chrome

Problem

Edit an already saved entry:

2021_09_27_08_06_09

Press enter at the end of the title:

2021_09_27_08_06_18

Save the entry:

2021_09_27_08_06_35
(the newline is converted to a space in the tree view)

Edit the entry again:

2021_09_27_08_07_02

You can fix the link here if you know org link syntax, and save, and everything looks normal.

Proposed Solution

  • Disable enter in this field
  • add a toggle for editing the org-syntax directly vs. editing just the displayed text (see issue: #14 )

BT does hang on first start - ungoogled/safe mode available?

hi @tconfrey

on my the quest for a reasonable mgmt-tool I reached BT today. unfortunatley it does not work at all with ungoogled chromium running on debian/KDE.

starting the topic-manager hangs on
Loading your BrainTool file

no buttons are working within, like settings, actions, help etc

I reinstalled the extension with no change.

Browser: Version 104.0.5112.102 (Official Build, ungoogled-chromium) built on Debian bullseye/11,
running on Debian bullseye/11 (64-Bit)

Thesis

all revenue-driven companys spy on you & your data and sell them without your consent.
which is proofen many times!

Is this tool for security aware People?

  1. since I read, that it's quite close entangled with google-account/drive, is it ment to run in an ungoogled/private workspace?
  2. is there a data-safe mode, which uses open-source alternatives to google? like useing selfhosted cloudspace, i.e. NextCloud, WebDav, S3-bucktes, etc?
  3. can you please move your discussion-group to a site where one hast not to sign up with BigTech to participate?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.