BlackyHawky / Clock

Privacy-conscious open-source clock, based on AOSP Clock
Apache License 2.0
178 stars 11 forks source link

FR: compact and better timer list #30

Closed woj-tek closed 4 months ago

woj-tek commented 4 months ago

(This is a somewhat of a followup to https://github.com/BlackyHawky/Clock/issues/7)

Is your feature request related to a problem? Please describe. It would be great if list of the Timers were more compact.

Describe the solution you'd like I would imagine that a list of stopped/inactive timers could be done as just timer name + timer value without the circle.

Once the timer is started it would (optionally) switch to expanded view with the elapsed time circle.

Additional benefit would be better way to distinguish which timer is started and stopped.

Also, maybe started timers could be placed on the top of the list?

BlackyHawky commented 4 months ago

@woj-tek: Can you try the attached apk and give me your opinion please?

Please note:

Clock_2.2-debug.zip

woj-tek commented 4 months ago

Looks awesome! <3

Not sure if this automatic sorting is all that much needed with compact list though :-)

Btw. would it be possible to make taping on the timer (the circle) pause/start the timer?

BlackyHawky commented 4 months ago

Looks awesome! <3

I'm glad you like it, especially since I like it too. 😉

BlackyHawky commented 4 months ago

Btw. would it be possible to make taping on the timer (the circle) pause/start the timer?

Done with commit abd1cea8

woj-tek commented 4 months ago

I'm glad you like it, especially since I like it too. 😉

Done with commit abd1cea

Awesome! Thank you so much! <3

woj-tek commented 3 months ago

(not sure if it's better to comment here or open new "follup" issue)

I've been using new version a bit more and indeed compact list is much more handy but I find it a bit cluttered by label and delete button. I was pondering collapsing it into single line (putting duration only with icon next to the label) and removing "x" and moving deletion to a pop-up.

I looked at screenshot in https://github.com/BlackyHawky/Clock/issues/45#issuecomment-2142641675 and to be honest simple line with "duration + " would be more than enough (I don't use labels and I choose timers based on their time so that concept without "label/" top line would be perfect).

BlackyHawky commented 3 months ago

@woj-tek You were right to put your comment here because I won't accept your request. Indeed, if you don't use the labels, it doesn't mean that nobody else does.

woj-tek commented 3 months ago

Indeed, if you don't use the labels, it doesn't mean that nobody else does.

I wasn't implying that noone is using them :-)

BlackyHawky commented 3 months ago

When you say "to be honest simple line with "duration + " would be more than enough" this means that people who use labels will no longer be able to benefit from this feature.

So what I wanted to say is that you need to think about all users before making a change like this.

woj-tek commented 3 months ago

When you say "to be honest simple line with "duration + " would be more than enough" this means that people who use labels will no longer be able to benefit from this feature.

I agree that I worded it wrongly. There should be huge IMHO before. Though I still think the UI could be optimised to benefit all sides.

clock

1) "Add label" placeholder could be removed (adding the label could be done via taping on label pill or via context menu) 1b) (v. optional) - if no label present then don't display the pill+label text? 2) remove [x] button and hide the action on long-press (removing action is rather infrequent, same like adding/editing label) 3) move the Duration to the same line with label, but only with icon (we can assume that the time next to hourglass on timer screen is duration thus saving space); it could be aligned next to start/stop button.

So in this compact view with single line there would be (square bracket denoting optional element) either:

🏷️ ⌛ 0:5:00 (▶️) 🏷️ MyLabel ⌛ 0:5:00 (▶️)

Or with optional label editing on long-tap:

⌛ 0:5:00 (▶️)

BlackyHawky commented 3 months ago

I still have the feeling that you're only making this request because you don't use labels... 🤔

In German there are some very long words; I don't want these words to be truncated just because the reduced timer has to be on a single line.

Furthermore, to delete a timer item, I absolutely do not want to perform a long press. Previously, this was the case for deleting a custom ringtone, and it was really annoying. Put yourself in the shoes of someone who doesn't know the application; the first question he'll ask himself when he adds an item is "how do I delete it? ". You can be sure that a new issue will be created to ask you to add a X button because it's there on the Google application.

FYI : In the next release, the word "Duration" is removed and the remaining timer text is bigger to highlight it.

woj-tek commented 3 months ago

I still have the feeling that you're only making this request because you don't use labels... 🤔

Well, obviously :D

In German there are some very long words; I don't want these words to be truncated just because the reduced timer has to be on a single line.

Uhm, indeed German can be quite funky when it comes to vocabulary ;) But still - it should be rather short-ish?

Let's flip the argument on the head - when selecting the timer how often do you look for particular label and not for particular duration?

You can be sure that a new issue will be created to ask you to add a X button because it's there on the Google application.

I don't use Google application (I try to use FOSS…) so I have no notion how it works - sorry. Long-tap is not that uncommon in Android, though quite typically is used for multiple-selection-actions. There is also swipe-action on item, but given swiping is used to switch between section it won't work.

I just checked Fossify Clock (from the Fossify suite) and their approach to timers management is quite interesting - whole timer line can be tapped to be edited - it only gives you option to change its settings in a modal window but such modal could have [delete] action?

(and to answer why stick with Clock and not switch to Fossify) - I do prefer Clock UI with circles :) )

BlackyHawky commented 3 months ago

...when selecting the timer how often do you look for particular label and not for particular duration?

In my personal case, every time for the timers I use frequently. For the timers that I use at the moment, I delete them as soon as they are finished.

I just checked Fossify Clock...

I already tested Fossify Clock and their timer UI is very ugly. 😬 Furthermore, as said above, I don't understand the point of doing a long press to delete an item when a very small icon does the same thing. Additionally, there is only one feature that uses long-press in this app: the one that starts the screensaver in Clock tab. (BTW: maybe I'll add some text when there are no cities added to this view to notify the user that this feature is present.)

Remember: the application must remain consistent. Labels are used for alarms so it makes sense that they are used for timers. In addition, the time of the alarms is highlighted so it is logical that it be highlighted for the timers as shown in this screenshot:


(and to answer why stick with Clock and not switch to Fossify) - I do prefer Clock UI with circles :) )

Don't worry, I would never have told you to change to another application. I'm actually quite happy that you're using Clock.


I've just come up with a great idea that could avoid adding many lines of code: use the labels!! 😂

More seriously, maybe I'm very tired from my work week and I'm not thinking properly. At this point, I don't think your request is a good idea for all users. In any case, feel free to open a new issue. Maybe other users will want to share their thoughts on this topic.

woj-tek commented 3 months ago

In my personal case, every time for the timers I use frequently. For the timers that I use at the moment, I delete them as soon as they are finished.

Oh! Kinda interesting... I tried using labels (well, 2 of them) but then just creted a bunch of timers and didn't bother with naming them as actual time is more important.

I already tested Fossify Clock and their timer UI is very ugly. 😬

Well, I like that it's mostly square but yeah, I'm sticking here ;)

Furthermore, as said above, I don't understand the point of doing a long press to delete an item when a very small icon does the same thing.

I think it's result of two thing colliding - liking KISS/rather simple and clean UI and basically almost never removing the timer (thus making delete button kinda obsolete and pointless here). But as you said - you are often adding and removing them so in your case it makes more sense.

Additionally, there is only one feature that uses long-press in this app: the one that starts the screensaver in Clock tab.

Yeah, I just ran into that and was kinda suprised what's that :D (another thing that I don't see much point of in ;) )

Remember: the application must remain consistent. Labels are used for alarms so it makes sense that they are used for timers. In addition, the time of the alarms is highlighted so it is logical that it be highlighted for the timers as shown in this screenshot:

Actually I haven't paid much attention to alarms tab (as you maybe remember I opted for optional display of selected sections) but now when I compared it indeed the label is kinda consistent with that section. HOWEVER ( ;) ) I did like the tap-to-modify action: it gives you options to edit/configure/remove the alarm. Maybe something similar could be applied to timers? With the possibility to edit label (and if no label is present just hide it from the main view?) and also remove/duplicate timer there?

BlackyHawky commented 3 months ago

Time is important to you but maybe not to everyone. Maybe people want to know what their timers correspond to; I don't know, I'm not in their shoes.

What's more, if we're going to make this kind of change, why keep them for alarms? What's the difference between alarms and timers? You create different alarms for different reasons that can/should be identified; you also create different timers for different reasons that can/should also be identified.

On the Google and LineageOS application, it is imperative to extend the alarms to edit the title. One more useless manipulation.

In any case, I'm not going to hide labels just because a single user tells me "I don't use them".

To conclude: if I put unused timers on a single line, this means that the text of the time to elapse cannot be bigger as requested in this comment. So what should I do? Accept his request or yours? Unfortunately, I have to find compromises that may please some, displease others, but in the end please most. No application satisfies 100% of people. This one will (unfortunately) be no exception.

As I said in my previous comment: feel free to open a new issue. I'm sure others will share their wish on this topic.

(another thing that I don't see much point of in ;) )

If a user doesn't have the "Always On Display" option on their device to display the time, this is still a quick and efficient way to access it. Again, this isn't useless for everyone.