nextcloud / polls

🗳️ Polls app for Nextcloud
https://apps.nextcloud.com/apps/polls
GNU Affero General Public License v3.0
256 stars 73 forks source link

I don't see a button `Close poll` - how do I close a poll? #1138

Closed tessus closed 4 years ago

tessus commented 4 years ago

I've just upgraded to 1.5.4, but there's no way to close a poll or to select a result.

So here are my questions:

Or maybe I'm missing something here. I can provide logs, but I don't see this as a bug, since this is rather a usability question.

tessus commented 4 years ago
image
dartcafe commented 4 years ago

Just set the expiration. But your question says, it is not transparent.

tessus commented 4 years ago

Hmm, I don't want to set an expiration, because it has no expiration.

I want to have it open until everyone I asked to answer it has done so and then I close it. Setting an expiration in such a case is absolutely the wrong workflow and approach.

Let's say you set it for a week. Afer 3 days all is done. Now I have to wait 4 more days or change the expiration to exactly the time/date I currently have? What about if it takes longer than 7 days? I open the poll again?

I think somebody missed the simplest and probably the most common use case.

Please don't get me wrong, the app is otherwise great, but this just doesn't make any sense. Unless you think backwards and are convinced that taking turns is faster than going a straight line.

tobyps commented 4 years ago

What dartcafe probably meant, set the expiration date when you want to close the poll with the current date and time. No need to set it in advance, but you could and reopen the poll or reset it to close earlier/later.

tessus commented 4 years ago

This is still wrong. Why would I set an expiration date that requires me to enter a date and a time to the current date and time, instead of clicking a button Close poll? This workflow is illogical.

Even better: Make the result check boxes available all the time. There's no reason whatsoever to tie those to an expiration date.

Btw, when I click set expiration date and then click it again to uncheck (or actually that happens with all the checkboxes), I get : image I can open another issue for that. This one is for closing a poll properly.

dartcafe commented 4 years ago

@tobyps Thanks for clarifying my comment. @tessus That is not wrong, this how it is designed. As you may have seen, I added the UX tag because I agree this may not be understandable for all users.

The option confirmation will only appear, if a poll is closed/expired. Other wise to much controls are presented to users, while a poll is open.

Automatically closing a poll after all users have voted is rather complicated and much work. I guess, we will not see that.

Regarding to your issue: Please open another issue and add more information (log entries and/or error messages from the js console), because I cannot reproduce this.

dartcafe commented 4 years ago

This is still wrong. Why would I set an expiration date that requires me to enter a date and a time to the current date and time, instead of clicking a button Close poll?

You just have to click the checkbox in the moment, when you want to close the poll. The current time will be used as default and the poll is closed immediately.

tessus commented 4 years ago

I think there's a misunderstanding what I was saying:

The option confirmation will only appear, if a poll is closed/expired. Other wise to much controls are presented to users, while a poll is open.

Those controls should only be shown to the person who creates the poll. If the person who sets up a poll can't handle a few more checkboxes, they probably shouldn't start one in the first place. So users won't see the "choose the result" checkboxes anyway. If they do, it's a bug.

Automatically closing a poll after all users have voted is rather complicated and much work.

This is not something I have ever suggested or requested. I said I will close the poll as soon as I know everyone has answered.

The only thing I want is that I - as the creator of the poll - can select a result whenever I choose. Not AFTER I have set an experiation date (when I don't need an expiration date).

Your workflow is to set an expiration date to be able to choose a result. That's not how polls work.

tessus commented 4 years ago

Regarding to your issue: Please open another issue and add more information (log entries and/or error messages from the js console), because I cannot reproduce this.

I will do that tomorrow or on Monday. (I just wanted to mention it, but certainly not hijack this topic.)

dartcafe commented 4 years ago

This is not something I have ever suggested or requested. I said I will close the poll as soon as I know everyone has answered.

Thanks for clarification.

Your workflow is to set an expiration date to be able to choose a result. That's not how polls work.

No. The workflow is, chose the result, after the poll is closed. In my definition, the nature of a poll is that you decide after all voters have voted.

If you want to close the poll now, just click on expiration. As the default time for the expiration is now, you can close the poll with one click. And then you can select the winning options.

Comming back to your topic 'I don't see a button 'Close poll' - how do I close a poll?' Simple Anser: Just click on Expires and the poll is closed.

tessus commented 4 years ago

If you want to close the poll now, just click on expiration. As the default time for the expiration is now, you can close the poll with one click. And then you can select the winning options.

I think you still do not underatand the issue here. This moves every poll in the category poll with expiration. Don't you see that this makes no sense? Especially, if you want to clone a poll.

It's correct, we don't need a close poll button, but the choice to select a result when there is no expiration date set. Your argument that these additional checkboxes overwhelm people is not valid, because 1) only the creator of the poll can see them 2) they show up when you set an expiration date.

dartcafe commented 4 years ago

I think you still do not underatand the issue here.

Hmm, seems so. There is no property poll open or poll closed. If a poll is open or closed is only decided by the expiration date. Even if we would have a button to close the poll, it would only set the expiration date to the moment when you click the poll. Same result.

This moves every poll in the category poll with expiration. Don't you see that this makes no sense? Especially, if you want to clone a poll.

There is no category poll with expiration. We have exact three kinds of polls:

Of course, we could rename the navigation section from Expired polls to Closed polls. But this does not change the usage. If you clone a poll you can easyly remove the expiration date in the cloned poll with a single click.

It's correct, we don't need a close poll button, but the choice to select a result when there is no expiration date set.

It is not depending on the fact that an expiration date is set, it is depending on the fact, that the poll is closed.

Your argument that these additional checkboxes overwhelm people is not valid, because 1) only the creator of the poll can see them

Polls is designed that the winning options can be selected after a poll is closed, which IMHO makes sense. And as long, as these selections would have no effect, we hide them until they have.

2) they show up when you set an expiration date.

No, they show up after the poll is closed, not when an expiration date is set.

I still don't understand your problem with the expiration date.

tessus commented 4 years ago

I still don't understand your problem with the expiration date.

Because the workflow is incorrect. Participants will see that the poll has expired, even though there was no expiration on the poll (while the poll was active) - yet it had to be set so that I could choose a result.

The problem is that you mix up terms like expiration and closing in your mind. Those are 2 different things. On the other side, you yourself mentioned that one has to mark the poll as "expired" so that it is closed. You are re-using an action that is logically meant for something else.

So there are 2 issues here. You think that setting an expiration date for closing a poll is ok. It isn't. And there's the problem that one can only choose a result, after the poll is closed.

The combination of both leads to this weird workflow. I'm not sure how both came to be. Maybe you thought you had to minimize the UI. Maybe you thought you made things better. Or maybe it was just easier to code. Either way, both issues are issues, otherwise I wouldn't have run into them.

Polls is designed that the winning options can be selected after a poll is closed, which IMHO makes sense.

In most cases this is certainly true. But it is not written in stone. I can give you several examples to the contrary. I still have a problem with the fact that the poll has to be "expired" for it to be closed.

Maybe my problem is because it just isn't correct in terms of the language. Maybe that's different in other languages, but in English this makes no sense. For something to be expired, it had to have an expiration set. Expiration is the end of a (fixed) period of time. But I don't think it's only a language thing and I'm not quite sure how else I can explain this. Maybe this way: A poll can have either one of 2 status. It can be open (people can vote), or it can be closed (people cannot vote anymore). A poll can have different characteristics: open ended, fixed end date, public, private, anonymous.

One does not mix a status with an attribute. However, an attribute can influence/change the status. e.g. an expiration date will close the poll automatically. Please note: one does not change an attribute to change the status. One does not manually set an expiration date to close a poll manually.

At the end of the day, when you come back to your closed polls, all of them will have an expiration date, even though they were open ended (no expiration date set). So you re-classify a poll just to be able to choose a result.

dartcafe commented 4 years ago

So we talk about terms and how they could interpreted ? If we would replace the term expires at and expiry date with closing date and expired with closed, we have less confusion?

The problem is that you mix up terms like expiration and closing in your mind.

I understand the different meanings. But in the end there is effectively no difference. The poll is closed, whether expired by time or via setting an expiry date in the past.

tessus commented 4 years ago

It's like talking to a wall. I also mentioned that it's not just a language problem.

I really hoped I would have a polling app that I can use with Nextcloud. I guess I will have to go back to other solutions. It's really too bad. This app was really promising and looked really great. I was so excited when you added the possibility to choose a result. I would have never imagined that this was hidden behind manually setting the poll to expired.

I don't know what it is with Nextcloud devs that they don't understand that what people want is not necessarily what they provide. If you don't want to make it the default, give people an option (in settings) to be able to choose the final result at any given time.

Please, check all the other polling apps. NONE of them handle selecting a final result like you do.

Once again. The workflow is wrong. But I'm not getting through to you, I have understood that much. I think we can close this, because I'm not getting anywhere. Maybe I'll revisit this app in a few years - and hopefully it will make more sense and give me the option to choose a result without having to change the charateristic of a poll.

There are 2 ways to fix the workflow:

Both things are easy to do (when you know the code base), although the first one would probably require an additional status column in the db table. If I knew more about the code, I'd maintain my own fork, but I don't. So I will have to use Doodle instead of an app that runs on my own server. What a pity.

dartcafe commented 4 years ago

I don't know what it is with Nextcloud devs ...

First of all, I and also @v1r0x are no Nextcloud devs and not related to Nextcloud. What we do here, we do it in our free time. And especially I in the beginning didn't have a clue of JS or PHP (except some basics).

... that they don't understand that what people want is not necessarily what they provide

I can't speak for all devs, but I can speak for me. I want to know, what is really neccesary and what not. And that is, why I ask questions.

To roll this up a little bit: You started with a question, how you can close the poll and how you can select the final results. I simply answered, that the closing is done with setting an expiry date in the past (or to now which is the default, which turns in a past date within a second). And then you are able to select the final result. I just explained the mechanism how you can manage this. All seconded by @tobyps, which is an indicataor, that he is fine with the current solution.

But this doesn't mean, that the current solution is fine for everyone and that it is coherent. In the following discussion some more aspects of your intention got revealed.

What I try is to understand the real problem and then find a solution for this. I am - just a little bit - inspired by the five whys method. But this can go the wrong way, if the involved persons aren't familiar with it. It can be annoying and wrong intentions can be assumed.

Until here I do not judge, who is right or not. But I have a deep belief: If someone addresses a problem and the solution together, there might be a better solution. If we have an agreement about the real problem, we find a good solution. And discussions help, if the ego stays outside.

The priority is then decided by comparing value and costs.

But to pick up the constructive thread: What I think, I understood until now.

Until here accepted from my side. Therfore I asked, if using other terms could help.

Did I understand you right?

So I will have to use Doodle instead of an app that runs on my own server. What a pity.

Of course you decide which is more valuable for you.

tessus commented 4 years ago

Thanks for getting back to me.

I am not familiar with the 5 whys method.

If we have an agreement about the real problem, we find a good solution. And discussions help, if the ego stays outside.

I agree. I know that my writing is often perceived as harsh or even hostile, but if you just read the text without reading anything into it, you will see that it's rather facts. I say what I think without a filter. This can be a problem for many people. e.g. most people in North America require sugar coating.

It is not easy to understand, that closing a poll is done via adding an expiry date

Correct, if you are used to other polling apps.

Using an expiry date sends a wrong information because the expiry is suprising afterwards if it was not set before and so not announced. This could lead to unneccesary discussions

Yes, this is the gist of it. We change the characteristic/meaning of a poll. One that was open ended becomes one that had an expiry date, even though that was never the case. In the end you only have polls with an expiration date.

You request (which in fact is a separate issue), that the final result option should be selectable at any time. Here I disagree as I have the opinion, it is in the nature of a poll, that a result bases on all counted votes.

Yes, this would also solve the expiration date issue. In most cases I would agree with you, but there are exceptions, as always. Without giving people the choice you take that away. On the other hand this approach would definitely solve the other problem. You can also make it that choosing the result would close the poll automatically.

Look at the following scenario:

I want to organize a video call between a few people. It's open ended and when most of them or all of them have answered, I'd choose a result. (A B C D E F are the options and are dates in linear progression, so I choose C). The poll is closed automatically. Now, I run into an issue and can't make the call and thus must cancel it. At this point I have 2 options. Start a new poll or re-open the old one, which would make sense, since the choices people made for D, E, and F are most iikely still valid or at least close to it.

Showing the result checkboxes by default is not necessary. But you could create an option in settings. e.g. I would always want to see them. Especially when I could use them to close poll. e.g. just because there's an expiration date, doesn't mean I shouldn't be able to close it early.

dartcafe commented 4 years ago

It is not easy to understand, that closing a poll is done via adding an expiry date

Correct, if you are used to other polling apps.

Using an expiry date sends a wrong information because the expiry is suprising afterwards if it was not set before and so not announced. This could lead to unneccesary discussions

Yes, this is the gist of it. We change the characteristic/meaning of a poll. One that was open ended becomes one that had an expiry date, even though that was never the case. In the end you only have polls with an expiration date.

And what do you think about renaming the usage of exipry?

Mockups grafik grafik

Of course, a button can always be added, but I don't like to use them too extensively. In this case clicking this button does the same as adding a closing date. If a poll is closed or not is only decided on the epiry date. An additional status adds more complexity to the app in different places, where the status is checked.

grafik grafik

dartcafe commented 4 years ago

You request (which in fact is a separate issue), that the final result option should be selectable at any time. Here I disagree as I have the opinion, it is in the nature of a poll, that a result bases on all counted votes.

Yes, this would also solve the expiration date issue. In most cases I would agree with you, but there are exceptions, as always. Without giving people the choice you take that away. On the other hand this approach would definitely solve the other problem. You can also make it that choosing the result would close the poll automatically.

Let's separate the issues and please open a new one for that.

tessus commented 4 years ago

And what do you think about renaming the usage of exipry?

This is a good idea and would make the wording (and meaning) better - especially when it is closed.

In this case clicking this button does the same as adding a closing date. If a poll is closed or not is only decided on the epiry date.

Yes, this is true, if you don't add a separate table column with the status. I would have thought that this would actually make some queries easier, but you know the code better. Although I see one slight issue with that approach. You mentioned that when you click on the closing checkbox it is pre-filled with the current date and time. (Which means you can use it as a close button.) But this also means that the poll is closed at that exact moment. Example: You send out a poll that does not have a closing date. But then you decide that you want to add one and at that time someone is actually working on their answer. So at that point the poll is closed until you change it to a date in the future. Not very likely to happen, but it could.

This has nothing to do with the renaming. Just something that came to mind when going over the workflow. I'm pretty sure this eventuality can be ignored.

But I agree, a closing button would only make sense, if you changed the database schema. I would have taken that approach, because I'm a database and performance person. Restricting a query even further is usually faster in retrieving the result set. But we are not talking about billions of records, so I think that's negligible.

Somehow people should know that they can close the poll by just clicking the check box. A button would make that more obvioius, but as you mentioned before it is not really necessary.

Let's separate the issues and please open a new one for that.

I can do that.

dartcafe commented 4 years ago

But this also means that the poll is closed at that exact moment.

Something, I have in my mind, because I ran to it by myself.

Somehow people should know that they can close the poll by just clicking the check box. A button would make that more obvioius, but as you mentioned before it is not really necessary.

As someone has a problem with the usage or does not understand something, it is an UX issue and I take it serious. And to be honest: I am sure, there is room for a lot of more improvement here.

dartcafe commented 4 years ago

See #1157 I will close this one here...

tessus commented 4 years ago

@dartcafe with an explicit close poll button, it's no longer absolutely necessary to allow the owner of the poll to select a result when the poll is still open. It would be a nice option (which can be set in settings), but I can live without it. Thus, if you find this redundant, I won't open another issue. Please advise.

dartcafe commented 4 years ago

As I have to change a lot of the behavior it is a small value compared to the effort to make this working properly. I think, there are more valuable things to do. But you can open an issue anyway. If it gets an amount of vote, maybe the value is higher than I think.

github-actions[bot] commented 5 months ago

This thread has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.