Skip to content
This repository has been archived by the owner on Nov 16, 2020. It is now read-only.

Feature ideas #10

Closed
ElTh0r0 opened this issue Aug 26, 2020 · 9 comments
Closed

Feature ideas #10

ElTh0r0 opened this issue Aug 26, 2020 · 9 comments

Comments

@ElTh0r0
Copy link
Contributor

ElTh0r0 commented Aug 26, 2020

Hi bkis,
I still like Sprudel and following your changes! Please find a list with feature ideas for the future:

  • Possibility to delete a comment
  • If "Admin Link" option is used, it should not be possible to update an existing entry by creating a new entry with the same name.
  • If "Admin Link" option is used, provide option to lock a poll ("read only" view).
  • Receive email after new comment
  • I intent to use Sprudel for a "online staff roster" for my sports club, so that people can register for certain tasks/events. For this it would be good to add the possibility to store contact information (e.g. email/phone number/...) with the entry. For sure this information shall not be visible in the public view.
  • Possibility to limit the number of "Yes" entries for all/each options e.g. if maximum X people are needed for certain event/task.

As you know from the past, I'm willing to help to improve Sprudel. But before start coding/creating pull requests, I want to double check with you, if you are interested in (some of) the above features. Feel free to split the feature ideas in separate issue for individual follow up.

@bkis
Copy link
Owner

bkis commented Aug 27, 2020

Hi there,

thanks for these suggestions! Let me quickly comment with my first thoughts...

* Possibility to delete a comment

Would be a nice feature and easy to implement, I agree. It's not very critical, but nice.

* If "Admin Link" option is used, it should not be possible to update an existing entry by creating a new entry with the same name.

You are right. I got used to use this as a "feature" ;) But it shouldn't work this way, no. BTW here you mean if "Admin Link" option is not used, right?

* If "Admin Link" option is used, provide option to lock a poll ("read only" view).

Nice, I didn't think of that, yet. Why not!

* Receive email after new comment

... or after new poll entries! That would be possible. We could offer a config option for using the php mail command (local server settings) or a remote SMTP with credentials. But that would be some work to do and it has to be designed rather carefully.

* I intent to use Sprudel for a "online staff roster" for my sports club, so that people can register for certain tasks/events. For this it would be good to add the possibility to store contact information (e.g. email/phone number/...) with the entry. For sure this information shall not be visible in the public view.

You mean so the admin could collect the contact information? Hm... that would expand the functionality in a very new direction. I don't know if it's too much of a corner case to become a standard feature. But yeah, it could be useful. I think it's important to not confuse users who don't need this feature, though. It should be as easy and self-explanatory as possible to open and use a poll. A feature like this would have to come with a lot of options/settings to read through, which raises the barrier to use the tool. So it would have to be kind of "hidden", you know?

* Possibility to limit the number of "Yes" entries for all/each options e.g. if maximum X people are needed for certain event/task.

I think in most (if not almost all) of the use cases this is not what you want. In my experience when polling a large group of people, you'll always have last minute cancellers and would be happy to have more people who said "yes". I don't say the cases where you could use this feature don't exist at all, though. This and some of the other features could be in a collapsible "Advanced features" component on the start page.

As you know from the past, I'm willing to help to improve Sprudel. But before start coding/creating pull requests, I want to double check with you, if you are interested in (some of) the above features. Feel free to split the feature ideas in separate issue for individual follow up.

Thank you for your ideas and for reaching out to me before putting work into this! I would love to see this project grow and I am certain I will add to it and improve it in the future when time comes. But there are two things I want to say: Firstly, I have a full-time job and a family, so my spare time is limited. I won't be very quick working on any of those things. If you like to implement stuff (and write own issues for features) you are very welcome! But it's possible that I need some time to review your PRs, for the abovementioned reasons :)
Secondly, php is not my first love. I like php for it's availability on almost any web server system, though. That's why I chose php for this. If it was only about what I like to work with, I would have built a Java (or maybe Python) backend and a nice JS SPA for a frontend. Not that it's php and I didn't want to spend time learning any real php frameworks, the code of Sprudel is very messy and far from well-designed! All this mixing of php and HTML is ugly as hell. You may have recognized I tried to separate stuff better, but it's not good enough, yet.
What I want to say is: As long as this is a small application with only few features, this messy dump of code is still manageble enough. But if we want to add more and more features (which would be cool), maybe it would be clever to do a complete re-design and re-write of the whole thing, first. It should at least have completely separated frontend and backend. So, a server API and a client app that communicates with this API instead of ugly server php composing HTML pages and JS snippets. This is far from state of the art 😞

@bkis bkis pinned this issue Aug 27, 2020
@ElTh0r0
Copy link
Contributor Author

ElTh0r0 commented Sep 10, 2020

Hi again,
many thanks for your detailed answer!
Especially due to your last paragraph, I had a look on existing PHP frameworks. During the last days I played around with CakePHP and "ported" sprudel to that framework, see sprudel-ng. I really enjoyed your lightweight code approach, so I hope that using an additional framework isn't an overkill for this little project!

I don't want to "steal" your baby, so I hope, that you might have a look in future and join the port. Php is not my first love as well :), so I'm pretty sure, that my port needs some polish as well (or could use some CakePHP features in much more elegant way).
Currently I named the port sprudel-ng ("next generation" ;)), but if you wish, that I should change the name/brand, just let me know!

@bkis
Copy link
Owner

bkis commented Sep 10, 2020 via email

@bkis
Copy link
Owner

bkis commented Sep 23, 2020

@ElTh0r0 Do you have a working live instance running anywhere?

@ElTh0r0
Copy link
Contributor Author

ElTh0r0 commented Sep 28, 2020

Hi @bkis
yes, I have. Do you need help with the setup or do you just want to have a look?

If you want to have a look: sprudel-ng.bplaced.net
This instance might be deleted in few weeks and some features are disabled (send email after new entry/comment; add admin / change admin password). The instance is using the default admin user/password as mentioned in the readme.

@bkis
Copy link
Owner

bkis commented Sep 29, 2020

I was just curious to see if you already have a runnable version. Glad to see you do 👍

When time comes I'll look into opportunities to contribute, as I think it makes more sense to follow this new path (using the framework) than to keep working on the DIY mess this little project was before 😉

If you indent to make this more than a hobby project for yourself (and possibly attract real world users), I'd still advise you to change the project's name to something else, though. It's not only that "-ng" smells like Angular (which it doesn't have anything to do with), but it's also quite unwieldy, doesn't catch the attention, you now? People will be like "What's the name again? Sprud- something...".

BTW I hereby give this project idea to you, with the opportunity for me to contribute later. Your implementation (if it works as expected) makes the original "sprudel" very, very redundant - if not superfluous 🤷
Just tell me when you feel confident with it, I'll add a hint to you project to the original README. Cheers!

@ElTh0r0
Copy link
Contributor Author

ElTh0r0 commented Oct 4, 2020

Many thanks for your comments @bkis!
I decided to rename the project to PREFERendum since I think, that the wordplay fits for a polling app. I appreciate if you could add a link to this repo in your README file.

I really hope to hear from you in future and that you are joining the ported app!

@bkis
Copy link
Owner

bkis commented Oct 5, 2020

You will, I promise.
I added said hint with a link to the Sprudel README and will archive the repo at some point in the future.
BTW I think it was a good decision rename the project. Good choice of a name, too. I am looking forward to see the project evolve!

@bkis
Copy link
Owner

bkis commented Oct 25, 2020

End of maintenance. See README!

@bkis bkis closed this as completed Oct 25, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

2 participants