Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

categories #2

Open
jancborchardt opened this issue Mar 19, 2013 · 54 comments
Open

categories #2

jancborchardt opened this issue Mar 19, 2013 · 54 comments

Comments

@jancborchardt
Copy link
Member

Currently the notes are just a long list without any filtering (hopefully improving with search though). Maybe it would be good to have some sort of categories.

For now I want to keep it simple without categories (like iOS Notes or Litewrite), but if we have a good idea how to solve it in the interface we can do it.

@jancborchardt
Copy link
Member Author

As @karlitschek just showed me, turns out Apple Notes has categories/folders, at least when you start using it on the desktop (can’t do it just from iOS).

If this is a good idea is a different question. Just for the record.

@caco3
Copy link
Contributor

caco3 commented Mar 22, 2013

Like implemented in my original app (and also used by "khtNotes" and "Papyrus Ex"), I suggest to use categories based on folders. Each folder in the Notes root dir is a category. I think one level of categories is enough so there would be no need to support subfolder.

@jancborchardt
Copy link
Member Author

Yeah, totally agree with you @caco3. Using subfolders and restricting it to one level sounds good.

Interface-wise I’m not sure how to do it yet. With visual »folders« like in the News app it seems everything will get difficult to sort automatically by date (or present it well visually) and to browse documents. Having a list with tags on the other hand seems like it gets messy, and also duplicates tags.

Other ideas? The problem is that I’d like the design to help you focus. Categories/folders seemingly accomplish that, but maybe they also just introduce a false sense of order and really an additional level of complexity.

@caco3
Copy link
Contributor

caco3 commented Apr 1, 2013

I personally like to select the category and show only the notes of that category (see my existing app).
Mostly I know which note fits into which category, so I find them quickly.
This design way how ever makes it a bit harder to implement a search function.

As for the sorting, I think notes should be sorted by name. If we can show the last modification date, that woudl be useful. But I wouldn’t sort a note by a date.
Its easier to remember the notes title as the last modification date.
The A+ solution would be if the user could select the sorting order.

@jancborchardt
Copy link
Member Author

Excuse the honesty, but I strongly oppose sorting Notes by name, because the beginning character of the title has no relation to its importance. Introducing an option to offload the decisions to users is unnecessary cruft.

Automatic sorting by last modified date is a simple mental model: Notes important to you automatically bubble up to the top and less important ones go to the bottom.

@caco3
Copy link
Contributor

caco3 commented Apr 1, 2013

What if you cant remember the last modification date of a note?
I use my notes to store informations I only once in a while need (i.e. list of command line commands for my Linux). I do not care or remember when I modified that list, but I know its titled "Linux commands".

Looking at khtNotes as well as Papyrus Ex, both of them sort the notes by title name.

Please do not get me wrong, sorting by date is not wrong, I just think sorting by date is more common and more useful.

If you want to mark important notes, put them into an "important" category.
Or we could introduce a favourites tag where you could give stars to a note. This how ever would break the compatibility to other clients.

@jancborchardt
Copy link
Member Author

It’s not more common just because 2 not particularly widely-used notes apps do that. ;) Look at iOS Notes, presumably used by a bunch of people (like me) or Evernote. Both sort by date. You do not need to remember the date (in fact we don’t even show it yet) but rather you scroll down and always roughly remember what was when.
For anything else, we just need a properly integrated search where you can type in »linux« and quickly get the note.

Introducing tags and categories and stars is just like throwing so much features at such a small problem, I think it’s ill-advised to do so.

@pyluyten
Copy link

You can still implement stars /favourites as a filtering feature only. The user flags his note as "important" or whatever, either predefined or custom flag(s). From a search bar, the user can then filter. So the feature is still there if the user wants but default UI is not polluted.

Also, regarding the filesystem, an alternative is to have all notes onto root Notes folder, but favourites subfolder with symlinks to the root folder. So the file system would stick to the same logic.

Just a random idea actually, it's far from a rant :)

@lpalgarvio
Copy link

I would prefer a "tree-tagging" instead of a "tree-category" system.

That is, notes organized in tree, but that can belong to multiple branches/tags. Like gmail.
Don't forget the "untagged notes" branch/tag please.

@reimersjan
Copy link

I like the way categories are done in ownnote.

@slashrsm
Copy link
Contributor

I am looking forward to this feature too. I agree that storing categories in a form of a folder structure brings a lot of benefits. Main one being the fact that it is easy to find notes even if accessing them on local filesystem when synced to the device.

I like "last modified" sort too. It works very well. The only problem I see is when you have 100s of notes since it could be hard to find older ones. Categorization would fix that I believe.

@Jas2Ma
Copy link

Jas2Ma commented Jul 20, 2015

This notes app is file based - to make it easily accessible by file synchronization? So I think a directory based categorization system is the logical conclusion.

Tag systems are more appropriate for databased notes systems.

I also prefer them to be sorted by date, because I want my frequently used notes on top. Also you can find a note more easily by name, than by date, using a search string.

@grefel
Copy link

grefel commented Sep 9, 2015

I would recomend Tags as for the possibility of adding more than one tag to a file. I think the Solution provides by Tagspaces http://www.tagspaces.org/ is a nice option which should work well on the file based aproach.
Basically a tag is added with [tagname] to the file name.
But with tags we need also to filter by tags :-(

@lpalgarvio
Copy link

I think that a Notes app, being referenced as having a Tagging system, but which is not really a Tagging system, is just misleading and inappropriate.

" verb (used with object), tagged, tagging.
22. to furnish with a tag or tags; attach a tag to.
23. to append as a tag, addition, or afterthought to something else."

If you can't apply multiple tags to a note, then it's not a tagging system. Quit pretending it is and call it for what it is.

I also think (radically) that using directory level categories is largely useless. Because most people are not by nature very well organized with their notes, documents, etc. For example, I try to be, but i do have a hard time with it and i find it impossible to work with the old notion of categories (in which one item can only have one category). And i think the same of notes by date. I often update my notes, so the notes timestamps would change right? Time is unimportant. What is important is having titles, tagging and searching.

I also think that copying and duplicating items to emulate the behavior of a tagging system is rather pointless and unpractical. And i don't think tagname in filenames would work. There are file system constrains and limits for example. Time is also dangerous to people with OCD.

Now criticism aside, i have a few ideas:

May i suggest something as simple as a tiny SQLite database, or a if not possible due to dependencies or synchronization/file locking issues, a metadata file per note file, with the tag information, and room for other stuff, like colors (Google Keep)? There you could store free-tagging associated to the file-based notes.

My last thoughts,
When data if being managed, from a developer perspective, i think it's better to plan the best way and develop the best solution, and not try the easiest or fastest solution. Long term problems and data loss will be avoided. And having to refactor code and ideology just sucks. As a user, i rather not use a solution if it's incomplete or taking the wrong path, and then one day in the future have to migrate to something else. It's what keeps me from dropping Keep to OwnCloud Notes ("keep" irony). Maybe one day i will be able to spare some time to help developing the Notes app. But i'll drop by now and then.

@jancborchardt
Copy link
Member Author

Well database-wise we can easily use whatever ownCloud uses. Since we use the filesystem for the notes it would be best to use folders for categorization though (instead of tags) so they can still easily be used by other apps such as the desktop sync client etc.

If we want to support more stuff like images etc, it might be best to start supporting rich text formats. But that’s a really big step someone has to develop. cc @Raydiation @LukasReschke @Henni what do you think?

@grefel
Copy link

grefel commented Sep 10, 2015

@lpalgarvio You can add multiple tags to a filename, Tagspaces is doing it successfully. In my opionion using more than five tags should lead to question if the tagging system is well thougt. But that is anothter story. With 255 Chars for the maximum path length there is some room, but probably not enough see https://tagspaces.uservoice.com/forums/213931-general/suggestions/5789542-save-tag-data-and-metadata-in-a-separate-file
I think with a database or extra-file aproach I'm in a severe lock-in (where I'm now with Evernote by the way).
My Uservoices is: Text and Mardkown files with tagging in the filenam would work well for my type of notes organization..

@pyluyten
Copy link

You can have tags in pure text. Below is an example. This remains easy to read. Otoh application has to parse each note to display labels...

But this is more flexible than filename or db.

::work::
::hr::
Hire sbdy.

@Henni
Copy link
Contributor

Henni commented Sep 10, 2015

I like that this app is currently not bound to the database and all information is available in the form of files.
On first thought I'd like to keep it this way. So tagspaces sounds tempting. But maybe we are able to utilize WebDAV here. There is an issue on tags for webdav: owncloud/core#3812
Maybe we can work with this: http://api.owncloud.org/classes/OCP.ITagManager.html

@slashrsm
Copy link
Contributor

I like that this app is currently not bound to the database and all information is available in the form of files.

I agree with that.

@pierrejochem
Copy link

Maybe a folder structure could represent a kind of grouping. That would work without db support.

@Henni
Copy link
Contributor

Henni commented Sep 11, 2015

@pierrejochem A folder structure limits the usage of categories, if we want to implement this cleanly.
If we use folders notes are not allowed to have multiple categories.

Categories in the form of tags would allow a note to have any number of categories.

@grefel
Copy link

grefel commented Sep 11, 2015

@Henni I find the idea of extending markdown with tags as suggested by @pyluyten very good.
This will work only with text-files and will limit the notes app to txt, markdown and the like. But media files still could be added via markdown.
No DB and Tool dependencies.
So

::tagname::

remains readable without a dedicated client software.

I cannot develop this solution but I'm happy to give a 20$ bounty (I know that is far from covering the real cost of the enhancement)

@Henni
Copy link
Contributor

Henni commented Sep 11, 2015

@grefel I'm not completely sold on this idea.
@jancborchardt @BernhardPosselt what do you think?

@jancborchardt
Copy link
Member Author

Using tags in the form of markdown as grouping mechanism will make this a feature for a very niche, highly technical group. So I’d rather not do that. Markdown is only an advanced feature, not something you should need to be able to do basic things.

I would say subfolders are the best way here. Sure you can’t give »multiple tags« to notes. But as it is you can’t group them at all. So let’s take small steps – have a simple solution rather than a very complicated tagging system which we might not need at all for the majority of cases.

@pyluyten
Copy link

@jan you have good points. I just want.to precise , using mardown to.stock.tags does.not mean user has.no gui . Notes.can display the propper.button and.automatically insert.text.where.necessary. also, text can be formated - i mean, text representing.tags can be red.and.bold.or.so.

All of.this is not my own! This is basically emacs.org.mode.tags system.
One.can.still.consider.this to.be too..obscure.for.the user. This remains a valid.point , unfortunately =)

@jancborchardt
Copy link
Member Author

Hehe, especially because it’s the Emacs org mode tag system it is very obscure. ;) The majority of people using ownCloud don’t even know what Emacs is.

@pierrejochem
Copy link

Only the most of the young guys don't know it 😜

@lpalgarvio
Copy link

Well, pyluyten idea is nice.

But to make it easy for users, the interface needs to be smart and the parser too, which could be a challenge.

I have questions/ideas.

What keeps us away in Notes from using a separate file for metadata info?
Example 1,
my-special-note-title.txt
my-special-note-title.txt.meta
Example 2,
have-a-file-please.jpg
have-a-file-please.jpg.meta

Since notes will not exist by the thousands, this looks feasible.
Can we reserve .meta extension (or other) for metadata for notes?
This would not create dependencies on the client.

Maybe this could be extended to other files in general in owncloud?
Then in that case, store all this information in a owncloud table in the mysql database? Thousands of extra files would not be a good idea...
Do the coding practices allow for using or creating owncloud tables?
This would not create dependencies on the client either.

In Drupal we store all the information in the database, but the files in the filesystem.
The information is stored for many objects as php serialized strings.
It's easy to implement. https://secure.php.net/manual/en/function.serialize.php

I'm thinking that the most flexible approach would be to use either a SQLite or MySQL backends, in the server side. Clients can cache results, if well prepared (just like with calendar/ical). A meta file i think would be a close competitor. If none of those are addressed, i would vote filename tagging instead of directory categories.

PS: maybe the interface could auto-suggest date tags for those that want to use date categorization?

@jancborchardt
Copy link
Member Author

What keeps us away in Notes from using a separate file for metadata info?

Pretty simple: Since we use the filesystem to store notes, this will pretty much clutter up your Notes folder.

Do the coding practices allow for using or creating owncloud tables?

Of course, please check my earlier comments. We do have a database and we use that for Files (sharing info etc). However we need to decide if we want to use that for the Notes app.

@grefel
Copy link

grefel commented Sep 11, 2015

Now the filename is parsed from the title of the Text or Markdown. With the lovely 😆 Emacs tags the first two lines would be parsed. For sure the actual Tagging needs to be hidden by a proper GUI. But without GUI for filtering etc. the whole tagging does not make sense.

Given a proper GUI I don't know if this is to obscure for the user. Editing in external Text-Editors (e.g. vi and the like (a good comment needs to adress both)) will be only for a very niche, highly technical group. But this is fine if you can have both.

@jancborchardt I think the decision beetween folder (grouping) and tag (multiple categories) is quite important and should not be taken because it's the easiest step to implement.

@greenais
Copy link

Hey guys,
I hope you don't mind me to input my little penny to discussion form the user point.

  1. I'm very interested in categorisation, as it could greatly improve user experience. The plain list of hundred notes isn't that convenient in practical use, not to mention that it looks a little bit ancient by now, eh)
  2. Since Notes uses plain files synchronization it shouldn't be that tricky to add folder sync/storage/show as well? Folder approach may be the very first little step to categorization as it doesn't confuse any tagging system you are discussing to add (or not) in the future - as one note will still have a tag in folder A or B, doesn't matter.
  3. If users won't like folder structure (which is doubt for me - as we all rooted from filesystems folder tree experience, even Mac-ers in some way, when it comes to pictures/music) they can use just root folder and ignore additional menu item "Create folder". No one will be hurt anyway
    .
    I'm not that technical guy, so I have no good idea how hard will be this folder (or tags, or whatever) approach from the point of implementation, but I have some long experience in the field of SW usability, so I hope my thoughts could be useful in some way. I really like idea of simplicity (that monster Evernote is a brilliant example from the other side) - but simplicity to the certain extent, not limiting usability. So I'm sure (according to my experience) that categories for notes app is the must - this or that way. Anyway. I want to thank devs for their hard work, good job, guys!

@greenais
Copy link

BTW, as a feature request, 2 things:

  1. parse first line of note as a title (and probably auto-filename) and showing it in a bold in the list
  2. add sort by name/date
    Both don't interfere (to my understanding) with files approach of Notes.

@rakshazi
Copy link

👍 for categories (not tags)

@sprnza
Copy link

sprnza commented Jun 20, 2016

Guys! Please add sub-folder support! QOwnNotes already does that but web and android apps miss part of notes in this case.

@jancborchardt
Copy link
Member Author

@LukasReschke @BernhardPosselt @Henni can we for now at least descend into any subfolders and make the notes in there show up?

@sprnza that’s actually a problem, as a client shouldn’t really implement a feature before the server. cc @pbek for QOwnNotes.

@pbek
Copy link

pbek commented Jun 21, 2016

In the case of tags in QOwnNotes it was meant to be done on the client side so that it also works without ownCloud. In each note folder there is a small sqlite "database" file were the tags and their link to notes are store.

the main database schema in such a notes.sqlite currently looks like this:

CREATE TABLE appData (name VARCHAR(255) PRIMARY KEY, value VARCHAR(255));
CREATE TABLE tag (id INTEGER PRIMARY KEY,name VARCHAR(255),priority INTEGER DEFAULT 0,created DATETIME DEFAULT current_timestamp, parent_id INTEGER DEFAULT 0);
CREATE TABLE noteTagLink (id INTEGER PRIMARY KEY,tag_id INTEGER,note_file_name VARCHAR(255),created DATETIME DEFAULT current_timestamp);
CREATE UNIQUE INDEX idxUniqueTagNoteLink ON noteTagLink (tag_id, note_file_name);
CREATE INDEX idxTagParent ON tag( parent_id );
CREATE UNIQUE INDEX idxUniqueTag ON tag (name, parent_id);

@Henni Henni mentioned this issue Aug 1, 2016
@spoorun
Copy link

spoorun commented Aug 1, 2016

Tags are far more efficient when working with random items (such as notes), where the user wants to see all of the items, and then narrow them down by tags, rather than drilling down directories; as well as being able to file in mutiple ways.

Please reply if this is incorrect:
But it appears that owncloud and nextcloud support tagging inately.
They uses webDAV to sync the file and metadata to either an owncloud client or other software. This should thus retain the tag information?

So what would be the mechanics of using the owncloud built-in tagging system? And what are the drawbacks?

@pbek
Copy link

pbek commented Aug 1, 2016

Using ownCloud tags seems like a good idea to me. Can you access the tags externally via an api or WebDAV?

@pbek
Copy link

pbek commented Aug 1, 2016

http://www.qownnotes.org would work with both subfolders or tags.

@Henni
Copy link
Contributor

Henni commented Aug 1, 2016

@olantrust I haven't experimented with the tagging of owncloud yet.
It would probably be possible to get these tags from owncloud via some kind of api. But you would need to use a client which supports this api.
Directories would allow to display the structure even if the files are simply synced with the owncloud desktop client.

@pbek I'll take a deeper look at qownnotes in the future. It looks really great!
The problem with both subfolders and tags is, that we want to keep this app pretty simple. And two kinds of "categories" might confuse some users.

@pbek
Copy link

pbek commented Aug 1, 2016

@Henni, oh, I also wanted to keep it simple... but then users wanted tags, then they wanted hierarchical tags and then they wanted subfolders (in addition to the different note folders that already existed)... :) implementing the subfolders and dealing with all the side effects really was and is a pain in the bum.. ^_^

@spoorun
Copy link

spoorun commented Aug 1, 2016

@pbek It's hard to see why users want both tags and folders. Surely a tag is equivalent to a folder (but better), and having two or more tags assigned is similar to a subfolder?
It seems tags haven't taken off generally because they haven't been implemented properly in various UIs.
They should be treated like filters as far as the user is concerned, but also like virtual folders, then it's easy to understand.

@pbek
Copy link

pbek commented Aug 1, 2016

@olantrust, they didn't want both. There were some who wanted tags and others already had hundreds of note file scattered in a folder structure... :)
Yes, tags are used in QOwnNotes as filters (like "virtual folders").

QOwnNotes

@ghost
Copy link

ghost commented Sep 2, 2016

I prefer .md files within a two-level folder structure with collaborative tags. ;-)
And yes, I'm using QOwnNotes. :-)

@pbek
Copy link

pbek commented Sep 2, 2016

@xraMsamohT. then QOwnNotes really seems perfect for you. :)

@ghost
Copy link

ghost commented Sep 2, 2016

@pbek Yes but I need compatible Android and Web apps with folder support.
As a first step, this app will hopefully use folders as categories and subfolders as subcategories. This would fulfill my needs perfectly .

@pbek
Copy link

pbek commented Sep 2, 2016

Just keep on asking. 😁

@dasmaetthes
Copy link

dasmaetthes commented Sep 19, 2016

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!

@bcutter
Copy link

bcutter commented May 7, 2017

I see it the same as @dasmaetthes: It´s FOUR YEARS NOW !
I newly dived in into the whole Notes thing on OwnCloud and immediately figured out there is no sorting/grouping feature - doesn´t matter if using subfolders (nice on the Windows end if you use QOwnNotes, brilliant) oder tags --> that´s an absolute basic feature... veeeeeery SAD :-( 👎

@moigagoo
Copy link

Any chance folder-driven categories will be added? Notes aren’t usable without them.

@accumulator
Copy link

Are there any iOS alternatives that do have categories?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests