Closed Henni closed 5 years ago
The old discussion has shown, that such a feature is very popular. However, there were disagreement how or even what to realize. Therefore, I give an overview, of what was discussed:
Personally, I'm not sure, what's the best way. For me, the categories approach would be sufficient. But I understand people, who argue for the tags approach. However, the tags will definitely make the UI (a little bit) more complex than using categories, and I'm perceiving that simplicity was an important design goal of this app.
I would like to cite @dasmaetthes from the old discussion:
Since 2013 you discuss if sub-folders or tags. Like this you will never go on and other's can't help with implementation. Just decide what will be the simplest one to implement and do it!
👍
@korelstar thanks for summing up the old discussion thread. Let's go for subdirectories for now. I'm already working on it and I believe that this should suffice for most of the use cases.
It's a shame, because the benefit of tags are they represent a more modern approach to managing date (folders only existed because tagging was not possible with paper documents!) Also the nextcloud tagging framework and user interface could be used to give a more consistent approach. Users can more easily use tags across apps, and have the same set of tags without needing a different set of folders for each app. Other apps use tagging categories more than folder categories. It is appreciated that the code is more complex, but the most functional and streamline way is tagging. Subfolders and indents also look less aesthetically pleasing it could be argued.
Another open question is how the categories should be integrated in the user interface. @Henni, do you have any concrete ideas how to integrate the categories into the existing sidebar (as you wrote in https://github.com/nextcloud/notes/pull/6#issuecomment-255964422)? My approach would orient on the contacts app design (i.e. the sidebar is a list of categories, the main window a list of notes and the editing area are can be a big overlay or take the right half of the viewport).
I'd like to keep it out of the way. Adding an additional column just for categories would add to much noise in my opinion. I have discussed this with @jancborchardt and an idea we came up with was to keep the structure as it is, but show the directories in small text below each note. Let's see, maybe I'll come around to create a mock-up for this or do you wan't to create a sketch, @jancborchardt ?
Okay, sounds interesting. But an important feature for people with many notes is the possibility to easily filter notes by category. Please consider that, too!
May i propose to get some inspiration from the Nextcloud News App?
They have some kind of folder management, too. Of course the icons for the feeds are not needed, but some things like the "Starred" view could be adopted to provide a better cross-app-UX since the News-App seems to be very popular at Nextcloud.
@stefan-niedermann yes, we considered that of course. :) The big problem with the folder tree is that the simplicity of »most recently edited files are up top« falls away.
And favorites are always sorted at the top anyway, just like @ryanwr did for the server https://github.com/nextcloud/server/pull/1860 – this is the best seamless integration of favorites.
1) Having a collapsible category menu to the left would be ideal. Users who categorise items generally want to see a list of categories to click on for search, or to drag items to. They don't want to, or can't, use their memories, that defeats the point of the computer :s Also, without categories in the left-hand column, moving notes around becomes an unnecessary ordeal - requiring far more steps than a simple drag-n-drop (of one or more selected notes).
2) It's hard to see why people think fixed subdirectory categories are better than tag categories?
From a user perspective, tags are superior, and can use an almost identical interface, but just have more flexibility for those who need it. Also, other apps all use (or are planning to use) tags not subdirectories (tasks, contacts, events). It's unwise to break the Users' expected interface.
For example, why does a user need to decide, and remember, whether a finance note for their park project is tagged under park or finance? That's seriously old skool; a throwback from when it was essential with paper files.
I would propose a compromise: singular categories (which can be translated to directories in the NextCloud filesystem), and then tags on top fo that, which can add additional categorization. Many pieces of software uses this structure, such as the NC Todo list, and I'd like to propose it for use here in the future.
In any case, no matter what method is chosen, I'll be very happy, as it will be usable for my school and meeting note-taking purposes. As is, it's difficult to use, sadly....
Using markdown as the storage format would add tag functionality. See: https://github.com/nextcloud/notes/issues/24
Using markdown as the storage format would add tag functionality. See: #24
@fmikker I don't see any connection between the file extension and tagging functionality. Can you please explain this in more detail?
@korelstar Sorry, I wasn't thinking quite clearly, I was thinking of the tagging functionality in static HTML generators such as jekyll and hugo. Disregard my previous statement.
Couldn't tags be emulated, using folders approach, by symlinks to note file? I.e. if note is tagged with "foo" and "bar", there is symlinks to this note in "foo" and "bar" folder, while real note file lies in root Notes folder.
I would like to add +1 for a tag based approach. I see two possibilitys for the implementation...
I'm quickly joining the discussion between tags and folders .... it feels more logical to go for tags now that they are part of the framework. But then, it would be nice to offer an option to export them as well ! Also, it could allow some auto-generated tags (like notes edited in the last 10 days or whatever else, which could be nice)
My main comment would be on the UI. How about a tag / folder selector right next to the "+" button ? By default the selector in on "All Notes", you can choose your subfolder / tag to filter the notes, and it keeps the UI pretty simple, does not get in the way of the classification by last edit or whether it's starred or not ... Also, it works for both subfolders and tags, so if the devs change their mind about it down the road, the UI can stay !
Regardless if you go with tags or folders, one of both is really needed for a better overview. So +1 for the topic :)
Maxnor
Yes! It's almost unusable as is, as sad as that is to say.
When will this be implemented?
Folks, sorry but your comments don't really help. Everyone works on this in their free time. Any contribution, be it time or in the form of a monetary bounty through https://bountysource.org is very appreciated.
Hi everybody, I'm really curious to get a tag-feature working. Currently (neither in the web interface, nor in the Android App I can see the "category") I would even try to implement it. I've seen that you can tag already files in nextcloud, and I strongly assume you can somehow read this information and write it back to the files. They only question would then be: how to display it. I made a short mockup on that (quite similar to the file-tag-feature): What do you think about that?
Any big concerns or issues with that?
As step one (and to get the layout working) I could even start to display the current "category" (= folder) as a tag.
Is it okay if I do that? Or is anybody else currently working on that?
=== technical analysis (not sure where to store this, I will probably fork it to make pull requests to the original) https://github.com/nextcloud/server/blob/master/apps/files/js/tagsplugin.js seems the position where the tag handling occurs parts of that need to be included into https://github.com/nextcloud/notes/blob/master/db/note.php I suppose; or if I see that correctly, the favorite-function is already working with the tags?
Looks good. Just as I would expect it.
@derschneewolf Great that you would like to contribute to this issue!
Some words about the current state of implementation:
You see, there is already much work done using the "sub-directory as category" approach. Therefore, I suggest to go on this way further and don't implement tags, since two orthogonal approaches would be very confusing for users.
However, I like your mockup and maybe this approach can be used for displaying and changing the category of a note. I've thought on how to display categories in the navigation for a long time and made a mockup, too:
The idea is to show the first-level categories, only (like in the Android app). The navigation consists of two parts:
Instead of splitting the navigation into an upper and lower part, it's also possible to introduce a second navigation.
However, I've not implemented anything on the GUI, only the backend (API, see above) is there. The mockup is just an idea which is oriented on how to work with a big bunch of notes.
Thank you @korelstar for your long message and the very good overview. Indeed I was on an old version of the Notes App. Just bought it in the App Store and now I see the categories there. Okay I agree, having tags AND a category hierarchy might be to much. Maybe we can switch the tags on later via a user setting or something like that if a user wants to have them.
I like your mockup, so the first part expands automatically somehow when you want to change the category? Okay, then you don't have to scroll so much for the actual notes. I'll set up my development environment and give it a try :)
I think folders is a critical thing to really make this usable - I just can't use this app for my use case without something like that.
But realistically, I could see tags and folders implemented as two distinct features. Folders should be much easier, as it just changes the structure in the filesystem, but tags would require the database to provide the one-to-many relationship.
TLDR: If you're looking for suggestions, I suggest starting with just folders, without worrying about tags right away.
@korelstar @derschneewolf we should start with only one system of organization. Either folders/categories or tags. :)
If we go with tags (very nice mockup @derschneewolf). I'm not sure about the sidebar change since it will vastly complicate the interface away from the simple notes list we have now.
We could for example, when a note is open, either automatically show notes with the same tag up top in the navigation, or do that on click of the tag.
If we do go with the navigation change to entries and not notes, I wouldn't make it folder-style with notes in there, but then directly go with how Mail and Contacts do it with the second level navigation. That is a really big change from the simplicity too though. :/ cc @Henni
Either way I'd say we need to do this step by step and not all at once. :) The tagging is a fairly non-invasive first enhancement it seems, if we make sure it's subdued when you don't use it at all.
I agree with @jancborchardt and I also think it's a good idea to start with displaying and providing an interface for changing the category of the current note (e.g. like in the mockup from @derschneewolf).
However, to be clear:
Either folders/categories or tags.
Since there are already many things in the notes app (especially in the public API) that uses the "folder as category" concept, this means that we go on with categories and do not realize tags!
@korelstar so that means that a note can only be in one folder/category. Then instead of a tag list like in the mockup, it should be a single dropdown with the categories. The rest of the style can stay similar like @derschneewolf mocked up.
Also should mention: it might be nice to have a 'magic' folder name called 'archived.'
Personally, I'm using this to replace google keep, and I often archive notes I don't need in view, but want saved for archival or future search purposes.
@benyanke maybe it's best to integrate that with the "Deleted files" app. And show it on the bottom of the sidebar just like in files. cc @schiessle, you wrote that component, right?
I thought that at first, but on second thought, I'm not sure it really makes sense. 'Archived' has an entirely different connotation than 'deleted'/'trashed'.
For example, you might auto-empty a trashcan, but you'd absolutely never want to empty an archive.
(I've also edited my above comment to be more clear)
I would like to see a simple tagging & filtering feature like in the mockup from @derschneewolf (https://github.com/nextcloud/notes/issues/8#issuecomment-342983278)
Threw in a bounty as well.
Count me in for $10 as well, this would be a critical feature for me being able to move away from Google Keep.
@benyanke you can find it here. You can register and be a "backer" on the right, iirc.
Thanks, just figured it out and edited my comment above. Checking out now on the bounty site.
I would pay to see both coming! Folders are good for sharing. Tags are good accessibility.
Came looking for a tagging feature, I appreciate categories are easier to implement and more backwards compatible but from a usability perspective tagging that then allows notes to appear in multiple categories is far more desirable. One approach will only get some of your audience and the other approach will get both camps as you can use tags like folders but can't use folders like tags. Adding myself a reminder to add to the bounty for this feature.
Edit: Forgot to mention that I would prefer to be able to tag within the file itself so I could create and tag notes via any text editor using markdown. The first line of the file could be read for tagging For example: !#Journal#Ideas#Money
This would then create 3 tags for the file.
Not sure how helpful this idea is but it would make me happy :)
@derschneewolf Did you find some time to work in this?
FYI: I started with the implementation of the navigation and will provide a PR, soon.
Please have a look at #210: There you find the implementation for integrating categories into the navigation. Please give feedback to this over there!
i can't contribute by my time or my knowledge to this projet, so i've joined the bountysource as i think this is a really needed functionality.
Thanks for your Notes app :-)
We're done! I just created a new release v2.5.0, which contains a new front-end for organizing notes in categories.
Just for your reference: I've implemented this in these PRs: #228, #210, #265.
continued discussion regarding owncloud/notes#2
First steps in #6 Will be implemented with subdirectories.