LibraryView (testing, ideas, and feedback needed)

This won’t happen for the Library View example app … I’ve just created it to quickly test the library view and it has no infastucture for handling links, etc. But I plan to add things like this to TaskPaper. The library view solves sandboxing problems that make linking between separate documents difficult … should be nicer once this code is integrated.

1 Like

Hum … I’m not sure if this is correct behavior or not. On one hand it seems sensible to open in same window… on other hand it seems that opening a document should never replace an existing document view. I’m not sure, but think I’ll probably keep current behavior as it seems a little less confusing.

Yes, just one root folder per view.

I’m not quite sure what you mean, can you give some examples?

Yeah this is a case that I haven’t quite found a solution to yet.

Unfortunately I can’t implement as you suggest because of Sandbox restrictions. When the user opens a file the system gives my app read/write access to that file, but not to it’s owning directory. That’s why it works if you drag the owning directory to the app … then you are giving the app read/write access to that entire directory hierarchy and I can show a library for that folder. (My app always has read/write access to it’s iCloud library, so that’s why I’m able to always show that).

I just looked at iA Writer and they solve the problem by showing an import button and explanation text in the library view when you are viewing a document that’s outside the library. But that seems kinda funky to me.

Another option might be to just disable the library view (hide it and don’t allow showing it) when you open a document that’s not already in the library. That’s a nice clean solution, but maybe confusing because you’ll wonder why “show library” doesn’t work.

Anyway, I’m open to suggestions… but alas when you open a file outside of the library I can just show the containing folder as the library as would seem to make the most sense.

Is there a way you could open a directory rather than a file through the File > Open menu? So the end result would be the same as if you dragged the folder to the app icon, but you could do it from within the app instead of having to navigate through Finder first.

I’m not able to reproduce this last part. For me when I drag a file out of the library view and into the finder it is also removed from the library. Can you try to recreate this behavior and give me the exact steps to reproduce the problem? Thanks!

OK, I am now wondering if this is due to Mac OS Sierra and its tendency to suck things up into iCloud. My Desktop finds itself in iCloud.

I’ve done two tests, which have different outcomes depending on whether my document originates purely on my hard drive, or in a folder that happens to reside in iCloud.

Test, document originates in iCloud:

  1. Use TextEdit to create new document in Finder called Dummy.txt (ensuring it is on a folder held in iCloud)

  2. Close document
    —Outcome: Dummy.txt visible in Finder folder

  3. Drag document to LibraryView
    —Outcome: Dummy.txt visible in LibraryView
    —Outcome: Dummy.txt no longer visible in Finder folder
    —Outcome: Dummy.txt visible in iCloud folder “LibraryView”

  4. Quit and reopen LibraryView

  5. Drag Dummy.txt to Finder folder
    —Outcome: Dummy.txt visible in Finder folder
    —Outcome: Dummy.txt no longer visible in LibraryView
    —Outcome: Dummy.txt visible in iCloud folder “LibraryView” and is labelled as an ‘Alias’

Test, document does NOT originate in iCloud:

  1. Use TextEdit to create new document in Finder called Dummy.txt (ensuring it is on hard drive and not in iCloud)

  2. Close document
    —Outcome: Dummy.txt visible in Finder folder

  3. Drag document to LibraryView
    —Outcome: Dummy.txt visible in LibraryView
    —Outcome: Dummy.txt no longer visible in Finder folder
    —Outcome: Dummy.txt visible in iCloud folder “LibraryView”

  4. Quit and reopen LibraryView

  5. Drag Dummy.txt to Finder folder
    —Outcome: Finder asks if Dummy.txt should be removed from iCloud
    —Outcome: Dummy.txt no longer visible in LibraryView
    —Outcome: Dummy.txt visible in Finder folder
    —Outcome: Dummy.txt no longer visible in iCloud folder “LibraryView”

I think it makes the UI harder to understand when it works [the BBEdit] way. It seems to me that if you drag and drop a file into the library it should move to the library.

It works for me with some of my project work—files that live under a certain folder structure can quickly be pulled together under a different (usually flat) structure to get a particular project or piece of work done.

1 Like

just catching up on this and initially it reminded me of an app i’m beta testing. i still haven’t spent that much time with it but initially i wished that it’s “tasks” system was like Taskpaper.

might be worth a look cause i think there is some good ideas within.

Like a preference to control how it is automatically named. Perhaps the option to prepend or append a date. For instance, if you started typing “Lorem Ipsum”, the file could be named :
2017-01-06 - Lorem Ipsum.txt 2017-01-06 : 10:00 CST - Lorem Ipsum.txt
This would make it easier to do stuff like meeting minutes or call logs that are required by ISO 9000 standards. I keep on going back and forth between different programs trying to find the best solution to do notes with.

Folding Text is a favorite because I don’t want to rely on databases or binary file formats. ASCII Text files should be the standard for this kind of record keeping because they are one of the most reliable file formats. Sadly I see too much reliance on Doc/Docx files which are very susceptible to corruption.

Love that Library View is getting some attention - can’t wait.

I downloaded the LibraryView app, and I love its simplicity. But my personal use-case for a library view would be heavily dependent on a quality search feature. I would love something like notational velocity’s search, although I don’t care for NV’s style of file naming.

I have a big directory of 500+ text files that I use for notes, “worklog”-style memos, etc. I have an AppleScript app that generates a new file with a guid name and opens it in FoldingText. I frequently just sort that directory by modification date or grep thru it to find particular notes.

I also use a FT tag @quick combined with a dumb perl script that creates symlinks for files that have that tag - e.g. if a file HKGBP0UQTZQSP6K9FZYG.ft has @quick(shell-reference) anywhere in it, the perl script will create a symlink in my ‘quick’ directory shell-reference.ft pointing to HKGBP0UQTZQSP6K9FZYG.ft. For me this is much nicer than renaming a file or having to worry about filenames which adds friction to jotting something down. If something turns into a a “living”/“working” file I can easily add @quick(xyz), and I can simply remove that tag when the contents aren’t relvant daily; the content is still in the note but the symlink gets removed.

I mention this in case it sparks a useful idea. My dream “library view” would quickly let me create a new file in my “library” directory, would let me quickly search through all items (without having to use the mouse), and would let me be able to quickly identify and open tagged items in a fashion similar to @quick above.

My usage of FT could be pretty specialized and nerdy, though, so I won’t be upset if it turns out different :slight_smile:

Looking forward to keeping track of this feature.


I can already tell I love the Library idea. I can see why the one fellow is suggesting the look of the Ulysses view. It is like a centralized DB to which you create folders, groups and sheets or files. I find this a very logical format and set things up by month and year. Moving sheets from one place to another is simple.

Your library is right on in terms of what you’re trying to do. I think from a use perspective the more things between apps are consistent the easier it is to get onto them. You mentioned you can’t relate to the Ulysses view. It is really straightforward and extremely flexible. I think it is exactly what you are trying to accomplish.

Personally, I love the idea of a shared library as it is like a centralized DB that takes you to whatever you’ve done instead of scanning the disk trying to figure out where you’ve found something. So the idea is great: the only thing I see as open would be the most effective way to implement the library fro a design perspective.


Maybe disregard the preference feature and just make it extensible when the feature is added to Taskpaper / Folding Text. That way it stays lightweight and performs well.

I just modified the date plugin example for Folding Text. It was pretty easy to do because it is javascript.

I really like this implementation and I don’t think that aping after Ulysses’ style is a good idea. That model is implemented so well there already there is no need to replicate it in my opinion. For me, the possibilities for LibraryView will have the greatest benefit for FoldingText, as I have many more files in that app (even though I use TaskPaper more frequently because it’s my sole task manager).

I store my FT files in dropbox and index them in DevonTHINK and it would be nice to continue to do this. To view them in an open FT document (or TP) without having to keep a DT window open is definitely an advantage. My only reservation is that I still trust dropbox a bit more for important documents.

I also think it would be nice to separate todos and calculations into different FT docs, and then switch between the main draft and these supporting docs as required, instead of including all the information in one place.

Please note that the library view isn’t restricted to iCloud … that’s just the default location. You can drag and drop any folder (such as your Dropbox folder) onto this test app and have it open as a library view.

Ah great, I understand. I’ll give it a try with some dropbox folders. I think there’s definitely a case for this method of presentation for users who prefer a file/library system over a database. I use both approaches for different modes of writing i.e. FT (TP) for technical writing where the files can end up anywhere (converted via pandoc/ and are often shared/ uploaded etc. and Ulysses for fiction when I’m writing for an audience of one :wink:

Looking forward to it’s implementation into FT and TP!

I’m thinking about a “Go to File” palette (like “Go to Project”, “Go to Tag”, etc.) that would be populated with the files on the Library. Is this what you are planning to implement @jessegrosjean?

1 Like

Wow @jessegrosjean , thank you for all this great work. I think that one of the things that some of the users would appreciate is the ability to use some of this through scripts. This is what I mean.

  1. Return a list of all the files and their locations opened by the Library view. Also, 2, be able to run queries on a list of file names.
    I am imagining that this would it make it easy (easier) to do global searches on Scripts. To see where the results come from, there could be a function that adds the file name as the root element and then it appends the results from the query.
    (Maybe later in the future)Those “global” queries may be written in any file using a special tag like @searchall(), although I am not a very creative person coming up with tagnames. But I am sure that having a file (Nothing special with the file, just the searches saved there) with just a bunch of queries that return results from all files opened in the Library when a global query is run would be super useful and follow your vision for TaskPaper.
    Later, TaskPaper could also just add a Search all open projects to the menu and like most UIs that do something similar, have that option when one clicks on the little magnifying glass in the UI.

  2. Smart Folders.
    I understand that adding something like Ulysses is not where you want to go, but since Finder has Smart Folders as fas as I can remember, could this be something that could be added? Instead of a complicated mechanism to create the queries, again, one could use the Syntax TaskPaper already uses. Put a query and if any file opened in the library has a result, just list the files inside the “smart folder” like structure. The smart folder would also show you the query when clicked. Just like what we have right now; but instead of showing nothing when a folder is clicked, when you have a “smart” folder, you can see, edit, or type a new query.
    And even if you think this idea is kind of too complicated to implement in your UI tree view, if the core functions to do this are in place, this would be super useful. Think of a scenario like,

A. Give me a list of the file names opened in the library that have hits for query X.
B. Using that list of files, run query Y on those files and show the results.

Honestly, I think that most of the power you have baked in your engine to do complicated queries and paths is lost to most users because once you start to compound things, it gets very complicated to most people. I have spent quite a bit of time getting used to them, but if I could do something like,

A. Run a query.
B. Run another Query on those results.

Your program, which I think is already amazing and super powerful, would become even more amazing and powerful to a greater percentage of people.

Even if none of my recommendations are taken, let me tell you thank you for all it has been done already.


The zoom for font size will be active later?

2017-01-15: You will not be able to show files if Default Folder X is active.

What would really be great for a filter would be to be able to return all tagged lines from all searched files with a few lines of context.

With a few other features (or maybe as a parallel product) this could become a reasonably priced alternative to qualitative data analysis (QDA) software costing $500-1000. 90% of what people do in these packages is paragraph-level coding (of interview transcripts etc.) & a program which could filter multiple text files by tag/code would cover that.

Fantastic development Jesse thanks!

One thing I haven’t seen mentioned and would intrigue me to see:

Open file by application association (in lieu of double-click taken, perhaps CMD+SHIFT+E). For instance (and just follows the Finder’s set app associations):

  • Taskpaper (Taskpaper)
  • Markdown (Folding Text).

This would replicate the one unified Text folder I currently sync in Dropbox, but potentially eliminate the step of starting in NVAlt first then jumping off to preferred editor (which is cool in of itself but obviously more friction).

Digression (but pretty excited about this): I was using Keyboard Maestro shortcuts for a while to quickly achieve this, but lately I’ve switched to custom Touchbar buttons assigned using BetterTouchTool:

After ESC you can see icons for Edit With…Folding Text|TaskPaper|Ulysses

I’ve just posted a new top for a new version of LibraryView that addresses many of the suggestions posted here. Please try it out!

1 Like