indentlabs / notebook

Notebook.ai is a set of tools for writers, game designers, and roleplayers to create magnificent universes – and everything within them.
http://www.notebook.ai
MIT License
375 stars 76 forks source link

Folders for worldbuilding pages #361

Open drusepth opened 5 years ago

drusepth commented 5 years ago

A lot of people have asked for folders (and/or nesting pages under other pages) over the years. Now that we have page tags (which function very similar to folders) and we're considering document folders (#332), we should figure out how page folders should fit into Notebook.ai.

Opening this issue as a placeholder to dump feedback and request commentary. 👍

thetrumper commented 5 years ago

WARNING THIS IS EXTREMELY LONG I MADE A VERY LONG COMMENTARY ABOUT MY SUGGESTIONS FOR THE FEATURE, POSSIBLE USE-CASES AND NICHES, ETC. ALSO IM TIRED AND WROTE THIS ALL IN ONE GO SO APOLOGIES FOR ANY SPELLING MISTAKES OR PLACES WHERE IT JUST DOESN'T MAKE SENSE

I think folders for documents AND worldbuilding pages is a great idea! I also feel that tags should definitely be expanded to function somewhat like folders, but in a slightly different way that augments folders. They should exist alongside folders for both. Pages should also be able to nest under other pages which would be possible in the way I imagine folders possibly working. I'll try to explain how I imagine them working using my own worldbuilding goals. Ultimately, though, I feel like folders/nesting paired with tagging and linking will ultimately make notebook infinitely useful as it aids in showing the relationship between everything created in the world/universe. I apologize for the long entry but I actually have a lot of ideas about this as this is one of the features I feel is really necessary in notebook due to the way world-building pages are setup.

Folders & Nesting

Folders are extremely important in any organizational system, and this is especially true in worldbuilding, where the creation of a literal fictional world is done. Worlds require all kinds of relationships, which is why page-linking is so important. Adding folders and nesting to this makes notebook more visually appealing, organizationally useful, and amazing :)

Documents

Folders for documents would be useful as it would allow for better organization of documents, thus allowing notebook to be used for both the worldbuilding pages AND writing/document creation. Essentially, it would allow for books to be developed inside of notebook with folders acting as Chapters/Sections and so forth. It's an important QoL feature that allows for easier categorization of stories. Document tags alongside this would then allow for an extra "layer" of categorization. For example, lets say the folder structure is as follows:

The chapters would serve as a folder structure, while the documents could be tagged as "planning" or "writing" or even "characters" allowing for users to search for those tags and have all of their planning materials in one place. Alternatively, the folders could correspond as different "books" being created in the fictional world, with the documents being different pages. The pages could then be tagged as relating to magic like necromancy or being even tagged as relating to a certain character or plot point.

While on the subject, this would be extremely useful if Documents or even whole document folders could be nested under a worldbuilding page. For example, if a character journal (folder) and corresponding entries (documents) could be nested under that character's worldbuilding page. Tags would still be useful here as the tags could again be things like "necromancy" or "war" or "1984 (time period)" or really anything to help users display relationships between certain pages and make those relationships/pages more easily searchable, or generally help organize and plan out their world. I'll talk more about tags later.

World-Building Pages

Folders in world-building pages would be extremely helpful in categorizing pages and showing relationships between them. For example, in my fantasy world, lets say I want to create two magical systems "Rune Magic" and "Shape Magic." It would be helpful to create a folder and categorize them both as "Geometric Magic."

Furthermore, lets say I want to do a large category of magic "Elemental Magic" then do the four elements as different magical systems underneath them, and then go further and categorize different spells underneath those four elements. Essentially, world-building folders would be useful in categorizing related systems.

Similarly, rather than having Universes be separate from planets which are separate from countries which are separate from cities, they could all be nested. Universes > Planets > Countries > Cities. This would show the relationship between them all and make it more easy to visualize and organize rather than just page-linking them all.

Finally, folders could be expanded by allowing for a simple folder to become a page which everything is nested under. For example, in the elemental magic example, allow for elemental magic to go from being an organizational folder to becoming its own page where I can describe it. I'm not really a developer so I can't say its "simple" to do but I'd imagine that this would be do-able by just creating a nesting system. Blank pages, then, would just be displayed as folders. Adding information to them would then make them look like normal pages but retain its nesting.

Essentially, world-building folders would allow for better organization of content, and even some worldbuilding categories could be nested under other categories. If this is done, however, it's important to allow for the subcategories (such as a city) to be unnested. Therefore, if there is a world where someone has a city that does not belong to a country, it can be uncategorized and stand on its own when viewing all cities. I'd imagine that viewing the "cities" category would have all city cards listed under big bold headings which have the country names. All other cities could be listed under an "Unaffiliated" heading. It would be useful, however, to still allow cities without a country to still be categorized under a planet. Perhaps on the editing page for a city, create fields where a universe can be linked, then a planet, then a country. This would still allow for proper nesting and relationship creation while preserving the possibilities for things like unaffiliated cities.

Tags

Tags are useful in the sense that they allow for increased organization. They should definitely exist alongside folders, not be replaced by folders.

Documents

Tagging documents, as I mentioned under the Documents section in Folders, would be useful alongside the nesting system as it would essentially allow for the documents to be organized in a way outside of the primary nest. For example, lets say I had the original folder structure from the documents section:

The primary way I would be nesting all my materials is by chapter if I was using these documents for writing a book. Tags existing alongside this allows for the materials to be more easily searchable or visualized. It would essentially allow for a secondary nesting of documents where I can group them together. For example, I could tag all character sketches, character plannings, plot plannings, etc. under "planning" or "character planning." Searching this tag or viewing the tag "Character Planning" should then allow me to see all of these different cards together, though perhaps still separated by chapter as that is where they are nested. Using tags as a filter this way would essentially allow me to view them as if I nested them this way:

Using tags AND nesting by chapter would be easier and allow for several different ways of organization. For example, if I had the original setup but had tags on all the character planning documents, then searched by the character planning tag, I should see the following:

Now, of course, there are several ways I could use tags, but allowing tags to exist alongside nesting for documents gives the users more control over how they want to organize and allows them to essentially have multiple ways at once to group their documents. Nesting/Folders would simply be the primary way.

Tags in documents should also be expanded to allow for linking pages. For example, lets say I have a character planning sheet in chapter 1 about my character Scott. I would, of course, link Scott's character in the document whenever I mentioned him, but it would be helpful to tag the document as relating to that specific character worldbuilding page. On top of this, it would be a nifty feature if pages linked in the document were automatically added as tags. Tags could then be expanded further by creating something like a "mentioned here:" category listed on each worldbuilding page, with all the pages where the specific page is linked or tagged would be listed.

That idea may seem like I just want to expand linked pages by allowing the worldbuilding pages to have a spot where I can see other linked pages, but tags would extend beyond this. For example, let's say I didn't necessarily mention or link a page in my document, but still wanted to tag it underneath a page. It is important, then, to allow linked pages to automatically become tags, but also allow manual tagging where pages can be linked. For example, lets say one of my documents was a spell for raising the dead. Perhaps my primary method for nesting is under "Scott's Spellbook" and I don't actually mention "necromancy" in the document. It would still be important for me to tag "necromancy" and perhaps have that tag as a link to the page "necromancy," which would be a "magic" worldbuilding page.

World Building Pages

Tagging would also be useful in world-building pages. Perhaps less so, as they already exist in a categorized way. However, they would still be useful in acting as an additional way of grouping.

For example, let's say I have a cult as a religion on a world-building page. If I have it nested, perhaps I have it nested underneath a wider religion to show that it is a sect that split off. Now, I could use a tagging system to tag different characters that belong to that cult (bringing in that idea of using existing pages as tags using the linking system). In this example, my tag acts as a way to show the relationship between character and religion without necessarily nesting that character under religion (which I don't think would ever really work as the nesting system shouldn't really allow for just free-reign nesting like that). Other tags could be useful as way, such as creating several different cults under different religions, then tagging those cults as the "New World Order." This shows a relationship between the different cults without necessarily using that as the primary nesting system.

In doing this, it's also important to consider adding the "linked pages" or "tagged pages" to each page. For example, the cult would show up under "linked/tagged pages" on the character in the first example and the character may show up under "linked/tagged pages" on the cult. Keeping this in mind, it may be a good idea to expand this into perhaps allowing for the creation of linking fields as custom fields. Already, you can create additional text fields, but in expanding the tag system it may be useful to create additional linking fields. Then, in the cult example, I could create a custom field of "members" and link all the characters.

The "linked pages" field would still exist, but serve as a way to show ALL pages that were linked and all pages where it is linked. That is, "linked pages" section on the sidebar that I'm proposing would have two sections. A section where all the pages linked from that page and a section where that page is linked from all other pages. In other words, a section where all pages I linked on the cult page is present, which allows for easier visualization, and a section where all the pages where the cult itself is linked.

It may also be a good idea to allow tags to have their own descriptions. For example, allowing me to add a brief description to the "New World Order" tag where I can briefly explain how all of the pages that share that tag are related. Perhaps a way to implement this is similar to folders by having each tag become its own page. A tag without a description would simply display all of the pages with the tag while a tag with a description would do the same thing but underneath the description. The best way to visualize is this reply itself. Right now, I have it organized like the following.

Essentially, the tags in this example would be "tags" and "folders/nesting." In this reply, I've added brief descriptions underneath "tags" and "folders/nesting" BEFORE subdividing into "Documents" and "World Building." Similarly, tags that AREN'T linked pages would become their own sort of "tag page" where the relationship can be described and then where all the pages with that tag are listed. An example would be in this: https://imgur.com/a/Fg1DEB5

All the cards with "main character" are listed, and a way to implement may be that having above the cards be a brief description of what "Main Character" is if I added a description for "Main Character"

General

Overall, tagging can be expanded to act as another layer of organization on top of nesting/folders. Allowing them to have descriptions or even expanding tags so far as to allow for the creation of different "subcategories" (I.e. creating a whole "cult" category which would fall under "religion" world-building pages allows for increased organization and display of information.

Folders, meanwhile, act as a primary way of organizing and showing relationships between different documents and pages.

I know this is a lot of information and It's ultimately a lot to consider and design but I wanted to share my opinion of this feature with you and also list some possible use-cases or exceptions that may be important to keep in mind when designing your tagging system. I hope my feedback helps but I also want you to consider other avenues. While I feel like this system would ultimately be useful, I also really like the current card-based design and the way the site looks right now, and I don't want this system of tagging/folders that I'm proposing to necessarily change the look of the site or change the look of the organization too much, though who knows perhaps it could end up even better.

Also note that some of what I recommended/suggested falls under the umbrella of #344 and #350 and of course #332

Further expansion upon tags and folders may also be allowing for entirely new category types, which falls under the umbrella of #206 and #331

drusepth commented 5 years ago

This is awesome and I really appreciate the breakdown/brainstorming. I'm traveling a bit this weekend but plan on reading and responding next week; just wanted to give you a heads up so you didn't write pages into the ether. :)

thetrumper commented 5 years ago

Thanks for the response and enjoy your travels! Stay safe :)

drusepth commented 5 years ago

Thanks for the input, @thetrumper. Please forgive me if I missed anything while consolidating the above into a few actionable points.

Tags vs Folders

Tags/folders on documents

Nesting pages

Giving tags/folders their own page

drusepth commented 5 years ago

In light of the above, I think this would make sense as an implementation; feedback welcome:

Adding folders

Browsing folders

Tags within folders

Deleting folders

thetrumper commented 5 years ago

I really like this idea!

You're right that nested folders/pages should be separate. While they all work together to create a unified system of organization I feel like folders is definitely a better place to start.

I agree wholeheartedly with adding folders. They should appear above cards and adding should add within the current directory.

With browsing folders, I also agree. To see files in subfolders you should have to go into the subfolder; not all files. When you go into nesting pages and folders, however, I feel like there should be a setting to maybe change between the view. For example, if you have a characters folder, then you have main characters, villians, heroes, side characters, etc. it may be helpful to change view between seeing ALL characters (listing everything in subfolders) or having it seen as folders nested underneath (the way you recommended, which should be default).

As for moving folders and pages up a level, it really depends on how you want people to move items in general. You could implement a system like Google Drive where you have a "move to:" menu which just pops up the entire folder structure and you browse to where you want it. Alternatively, if you want them to drag and drop, then you might have at the top something like a file path where they can just drag the folder up one level. They both have their advantages. Dragging folders may feel better to users vs. having to navigate the entire folder structure to move their files. The only trouble may be when moving horizontally to other subfolders that stemmed from a high directory (ik this is confusingly worded... thing like a cousin folder but it really becomes a problem if you want to move to your 3rd cousin or something). Again, perhaps implementing both functions (like google drive, they have drag and drop and move to in a context menu) would be beneficial but that's also a lot of work and may become confusing to users.

Deleting folders I agree with, mostly. I agree that will definitely help prevent accidental batch deletions (oops i deleted all my main characters!!) but for those that perhaps want to scratch an entire magic system may want to delete all subfolders and pages underneath that folder in the "Magic" category. There are multiple ways to go about this to. When deleting a folder you could have a confirmation that pops up. On that confirmation to delete, it would default to move pages and subfolders to the parent folder, but have the option to delete subfolders as a checkbox. What you suggested, with having it move children to the parent level and having batch deletion as a separate multi-select page deletion menu in the UI would work, but again may be confusing to users who just want to delete things and expect it to just be done from the folder deletion menu.

As for tags, I don't know that it would be good to have all folders displayed at all times. I feel like when searching by tag there shouldn't be any hunting through folders for content rather I feel that it may be best if it only displays folders with that tag, then navigating through those folders will only show cards with that tag or subfolders with cards that match that tag. Expanding upon the tag system by allowing folders to be tagged, with that tag being replicated to all children (including grandchildren) may help with "batch tagging" and make having folders and tags coexist flow better.

Also sorry that I didn't really present all my ideas in a consolidated, workable format in the initial post. I know I threw a lot of ideas out there that asks for a lot of work (and probably some things that just don't work with the foundation of what notebook was built on) but I figured I'd provide as much feedback and ideas as possible for you to work with and get more opinions on :)