nextcloud / notes-android

✎ Android client for Nextcloud Notes app.
https://play.google.com/store/apps/details?id=it.niedermann.owncloud.notes
GNU General Public License v3.0
928 stars 135 forks source link

Option to change sort method #92

Closed dasmaetthes closed 7 years ago

dasmaetthes commented 8 years ago

Would be nice to sort notes by date of last edit or alphabetically

stefan-niedermann commented 8 years ago

@jancborchardt your opinion pls - an option in the settings, default "last modified"?

fxedel commented 8 years ago

My summary of possible sorting options:

For the first three options there should also be an option for ascending/descending.

jancborchardt commented 8 years ago

Here’s my take on sorting of notes:

I’d suggest that we keep it very simple and only have the sorting by modified date, like now. I can maybe, very maybe, understand the need for alphabetical sorting, but I’d wait with that until a lot of people have very good reasons we should build this in. Cause right now sorting by modified date seems clearly superior, especially on the go. With alphabetical sorting, you basically have to scroll for mostly every note. With modified date, the most important stuff is on top automatically. Keep in mind this is a mobile app used on phones etc.

@dasmaetthes @fxedel what’s your use-case and why do you need a different sorting method?

And btw @stefan-niedermann a slightly related idea: Is there an API to check if a note was favorited (has a star) on the server? We could use that info and always sort the starred files up top, also adding a small indicator.

jancborchardt commented 8 years ago

And about ascending/descending: Sorry but that makes absolutely no sense for the first 3 methods. For modified & created date this would show a stale list of the latest notes which is not useful, and for alphabetical sorting it would show things in a non-standard order with the ZYX stuff first.

We should always think thoroughly about anything we add to the app. Especially because it’s on mobile, and especially also about any setting and if it’s needed.

bvolkmer commented 8 years ago

I think you miss an option: Sort by number of launches, so that the most used are visible.

jancborchardt commented 8 years ago

Which brings me to another pro-point for simple sorting by »Last modified«: It can easily be »synced« cross-platform. It’s a sorting method even the most basic file managers have, so you can have the sorting the exact same on the desktop as well. Same for apps on other platforms, say if you have an iOS device with the Notes app or whatnot.

»Sort by number of launches« however, is an extra option which can not be synced in that way. Also it would just make the order change all the time.

Well @stefan-niedermann I’m sure you already knew what I thought when you asked.

TL;DR: People, when you request something, please describe your use-case. Don’t just say »add this and that«, »oh hey by the way wouldn’t this be nice«? Always provide reasoning first … otherwise our app will end up like this:

jancborchardt commented 8 years ago

Also, if you’re interested: I recommend reading the blog post on our ownCloud design principles. In this case especially »2. Good Defaults Instead of Options«

fxedel commented 8 years ago

@jancborchardt, I have to admit that you're absolutely right – these sorting options don't really have a good use case. Thanks for your detailed comments!

dasmaetthes commented 8 years ago

Never seen such a intolerance.

Last edit: How we currently do it. It continuously changes sort order, but keeps the relevant stuff at the top.

Wrong: it keeps only the relevant stuff at the top when I edit it. But it doesn't mean that a note I edit last time for a half year isn't any more relevant

Created: I really don’t see how sorting by the date of creation is relevant. A few months down the line, the sorting will make no sense in day-to-day working.

This make really no sense

Alphabetically (name): Alphabetical sorting in general is the lowest common denominator when it comes to sorting. I don’t think it’s a good idea to sort like this in general, especially not in a Notes app where titles can be anything. Look at Google Keep, Evernote, etc – they all do sort by modified date.

On a mobile device a alphabetically sorting makes as well sense specially when it comes with a "quickScroll" it is the fastest way to find a note.

When titles cna be anything for you you should rethink how you title your notes

jancborchardt commented 8 years ago

@fxedel sure, happy to hear that cleared it up. :)

@dasmaetthes not sure why you see it necessary to call my thorough explanation »intolerance«. Not a very positive attitude towards open source developers/designers.

Anyway:

But it doesn't mean that a note I edit last time for a half year isn't any more relevant

That’s right. But as you can also read further down in my first comment, there’s a simple solution to that – using the star/favoriting-functionality of files:

We could use that info and always sort the starred files up top, also adding a small indicator.

That is, if there’s a relevant file you don’t edit much, you can simply star it. Should work for your case much better than using alphabetical sorting, no?

stefan-niedermann commented 8 years ago

Hey guys, calm down.

I think a good compromise for a first step ist the star/unstar-solution. i opened a ticket in server-app to implement an api for that.

There are valid arguments on both sides, i think there is a use-case for alphabetical order. But i don't think the other sort options are making much sense.

So the steps are the following:

  1. Wait for server-api to star/unstar
  2. Implement star/unstar in this android app
  3. Try, use, rethink if there is really a sort option needed (4. implement switch alphabetical / recently changed if necessary)

Regards

jancborchardt commented 8 years ago

✌️ good call

moshpirit commented 8 years ago

I'm used to the current "created" sort of MyOwnNotes so I would definitely use this one if it's available

fxedel commented 8 years ago

@moshpirit, so what's your use case for this sorting method?

moshpirit commented 8 years ago

I use it for different things (note films to watch, emails, quotes, shared notes, etc) but in my mind, It's easier for me to find them if they're chronologically organized.

jancborchardt commented 8 years ago

@moshpirit currently it’s also chronologically organized, just by modification date. If you never edit the notes, then that sorting is exactly the same as the one by creation date.

I don’t know why MyOwnNotes used the sorting method by creation date however, it seems arbitrary. The web interface sorts via modification date and that’s how the clients should also do it for consistency.

fxedel commented 8 years ago

I do think that sorting by creation makes sense. It's a kind of habituation because the order of the notes does never change (except of new notes a the beginning) – you know where to find a specific note.

I would add this icon to the action bar. Clicking it will open a menu with the two options "Last edited" and "Last created", the current sorting method will be selected. Default is "Last edited" to match the web's interface, but the user can change that if he wants to.

moshpirit commented 8 years ago

Great! Thank you!

stefan-niedermann commented 8 years ago

I can't see a benefit of sorting notes by creation, sorry. as i said above, i would understand the use-case for an alphabetical sorting

because the order of the notes does never change (except of new notes a the beginning)

I think alphabetical would also cover this use-case.

moshpirit commented 8 years ago

Not if we change the title of the note. I find it useful, but this is not my app, this is just a minor request

fxedel commented 8 years ago

@stefan-niedermann you're right, alphabetical order would also cover this use-case. But I thought that implementing sort by creation might be easier because you could reuse the "today"/... dividers.

Personally, I don't need either of these sorting methods. I'm fine with sorting by edited for my purposes.

jancborchardt commented 8 years ago

@fxedel if you are fine with »sort by modification« then that’s good. :) We shouldn’t design the app on what-ifs and what we think might make sense in some scenario. That’s a recipe for a bloated app where we have a lot of functions we don’t even use. And ownCloud Notes aims to be as simple as possible.

DatGizmo commented 8 years ago

I second the option for an alphabetic order.

My use case is quiet simple. If I'm searching for an older note, which I haven't modified for some time, it would simply be easier to scroll through the notes by name. And by name I think about the first line in the note, the one which is in bold in the overview.

jancborchardt commented 8 years ago

@DatGizmo actually the already existing search feature would work for you much quicker.

DatGizmo commented 8 years ago

@jancborchardt I have to admit, that I somehow just missed this feature. Probably because normally I scroll through lists instead of searching. It's just my way I guess. Thanks for showing me the obvious :)

jancborchardt commented 8 years ago

@DatGizmo sure, no problem! :) Hope the app works nicely for you, and looking forward to any bug reports / enhancement requests. Or even code contributions, if you are familiar with Android. :)

korelstar commented 7 years ago

So the steps are the following:

  1. Wait for server-api to star/unstar
  2. Implement star/unstar in this android app

I've implemented the star/unstar feature in the server app (owncloud/notes#248) and the corresponding api is also ready in the near future (nextcloud/notes#4). Hence, we can begin with the implementation of the star/unstar feature in this android app, soon.

However, synchronization of the star attribute will require a new version of the server app to be installed by the users. Hence, there will be the possibility, that someone uses the star-capable android app and a non-star-capable server app. How to cope with it? There are two possibilities:

  1. Disable the star/unstar feature in the android app, if the server app doesn't support it.
  2. Save the star/unstar attribute only locally, if the server app doesn't support it.

I would prefer the second alternative, but what do you think?

stefan-niedermann commented 7 years ago

both options seem good for me - if someone uses an old server app he should update. @korelstar if you want to implement this into the client, feel free to do it your way (i assume it's the second way). The implementation would be very similar, and why not providing the feature locally if it does not take much more effort than a simple if for now? Of course we should consider to set a death-limit of supporting old APIs since the code otherwise gets unmaintainable.

korelstar commented 7 years ago

I think, the second alternative would be easier to implement. The good thing is, that there is no need to distinct which version of the server app is used. The additional attribute favorite in the JSON will just be ignored by the server.

If I find some time, I can do the implementation. We'll see who will be the first ... :-)

stefan-niedermann commented 7 years ago

Tribute to @korelstar, he implemented the needed parts in this app (and as far as i know in the server app, too.). Looking forward to use this new feature in v0.10.0 (will probably released after the next server-side-app release + some time for testing and bugfixing).

jancborchardt commented 7 years ago

Awesome stuff @korelstar, great to have you in the community! :)

cwmke commented 7 years ago

If alphabetical sorting eventually gets added I would just like to add that I find using the options 'A-Z' and 'Z-A' more useful than ascending and descending.

GoneoDev commented 7 years ago

Here is my use case for you question #262 sort alphabetically. I have 30+ "active" notes. NextCloud does not handle sub-folders. So I use the naming for grouping my notes. Sample:

I could use the search option but sorting is a convenient option for me.

stefan-niedermann commented 7 years ago

I see your point. There is a basic support for categories (=1-level-subfolders). Currently the support is more readonly-style.

You can create folders and move files via the files app. The notes server app and the android client will both show the files and the category/subfolder.

It is planned to increase the support so that the apps allow to edit the category itself.

Does subfolder-support/categorization solves your use-case?

GoneoDev commented 7 years ago

I have moved some notes in a sub-folder. Both server app and android are able to find them. Anyway on both server and android they appear in the main date-sorted list like before. I see no category.

In my opinion, the subfolder-support/categorization could reduce the amount of notes in the list, but I still think it would be better to offer the choice of sorting by date or by name. Sorting by date is fine if you use a few notes like post-it/reminders. If you use have plenty of documents that stay for months, the alphabetical sort sounds better.

I use the markdown format for small documentation because I don't want to open an Office Suite for that. Example : a small doc about my Ubuntu security with links to the Ubuntu wiki, and another document about my next trip in Himalaya.

_I'm also struggling with the markdown support (arrays, code block without fixed font, …). I was used to more advanced support like Epsilon Notes but your app is open source and is the only one that works "out of the box" on Zaclys NextClould. That is another group of issues, related to RxMarkdown_

korelstar commented 7 years ago

My plan for implementing the enhanced category support is:

I thought for a longer time about this and when I find some time, I would like to describe the full concept, since we need a detailed discussion about this.

GoneoDev commented 7 years ago

That sounds great. I will wait for this update.

Unfortunately I have not time for coding, but I least I have some time for testing. It's also my job in real life.

stefan-niedermann commented 7 years ago

Great to hear @DamsFR :) I will close #262 since the subfolders have a higher priority and it might solve your issue. Let's focus on that, because naming all the notes after your categories seems to be a workaround.

At least the android app shows the labels (even if it is currently hard to discover, see #204) in each list item at the bottom left.

szmt commented 4 years ago

Sorry, didn't find this issue when searching, so I am replying here instead in #683

I am using a naming convention to order my notes. Meaning I find them in a breeze on the desktop (Qownnotes) and always am losing time when I look for something on mobile, especially when it wasn't edited recently. I guess it is up to personal preferences, but at least for me it would be an incredible gain in keeping my workflow intact on the mobile version.

korelstar commented 4 years ago

when you chose a category, the app shows all notes inside of that category sorted alphabetically. Isn't this sufficient? (You can also chose Uncategorized)

szmt commented 4 years ago

But this won't work for all notes if you use categories. Furtheremore it is an extra click every time you start the app since it isn't storing the last chosen category.

stefan-niedermann commented 4 years ago

@szmt you wrote

in some cases it is faster to find notes if you can sort them by name and not the default when they were last edited

Isn't using the search bar quicker in any case? Can you better explain how it can be quicker to scroll and scan a list of notes?

Because i doubt that "some cases" neither justify the new UI option nor the code-wise maintenance efforts to be honest.

it isn't storing the last chosen category

This seems to be a separate issue. Would implementing this reduce the requirement for a new sorting option?

szmt commented 4 years ago

Isn't using the search bar quicker in any case? Can you better explain how it can be quicker to scroll and scan a list of notes?

Because i doubt that "some cases" neither justify the new UI option nor the code-wise maintenance efforts to be honest.

I see your point with "some cases". The problem is that everybody has an different approach. But at least from my pov it isn't an unreasonable amount of code maintance, especially since alphabetizing is already implemented for the categories. From my understanding, it would be a check box in the settings and then one if-condition to sort the results.

This seems to be a separate issue. Would implementing this reduce the requirement for a new sorting option?

At least for me this would be a work-around.

ghost commented 4 years ago

Isn't using the search bar quicker in any case?

Absolutely not. Two swipes of my scroll wheel and a click when sorted; versus placing my hands on the keyboard, typing, moving a hand back to the mouse, scrolling and clicking when not sorted.

It is even more tedious on mobile, where anything that requires typing is automatically more painful.

The lack of alphanum sorting is a huge (and mind-boggling) show-stopper for me. My workflows consistently favor flat lists of well-organized, alphanum names, and it's quite unusual for tools to not support this.