We have recently introduced a new categorization of stores in Warsaw which define the rules how often each foodsaver can sign up for a pickup. We have taken the following factors into account to assing a category for each store:
Popularity of the store defined as ease to sign up for a pickup (based on an observation of stores for a couple of weeks in random times).
Number of foodsavers ready to pickup in a given store (based on history of pickups in last two months).
We have created four categories:
Popular stores which you can pick up not more often than every 14 days
Popular stores which you can pick up not more often than every 7 days
Stores which require moderation in pickups, i.e. you can pick up once in a week (1 pickup between Monday and next Sunday)
Unpopular stores which you can pick up without any restrictions
We are quite happy with the rules, especially that the methodology used to prepare the categorization led to reasonable and uncontroversial outcomes.
However, what we currently lack is a proper mechanism to enforce imposed restrictions. Iām trying to build some automated scripts using Karrot API but, as I donāt have any experience in this area, it will take me some time to get to the point when it can be used We have had an interesting idea how a simple change in Karrot could help us (and all other Karrot communities) control the frequency of pickups in much wanted stores. This would be an option to see not only future pickups in a store but also historical pickups on the same page:
Itās still to define how many historical pickups should be displayed - would it be the same number of weeks which are set up in settings for future pickups or a fixed number or would it be a new config item. Before spending time on details I would rather know what you think about this. Do you find it useful too? And how complex is it from the development perspective?
Thanks for the nice explanation, Iām very interested in your approach!
I wonder how to load historic pickups, there can be many. So it would either just show the last 20 historic pickups or need some form of pagination, for example by āendless scrollā or āload moreā button.
This seems to duplicate the history feature a bit - I guess the history is too verbose and not very nicely displayed right now, but that could be changed.
We could
use the same way of displaying pickups as in the pickup list
allow filtering by pickup_done
Do you think that would solve the problem as well? Maybe itās easier to implement the proposal above.
What if all members collected points for unwanted pickups and spent them on much wanted pickups?
If this was strictly implemented Iād never be able to contribute, for reasons (medical) Iām probably only going to help out at the pickup(/-s) (now popular) closest to me.
The purpose is to display the latest history for validation purpose, therefore, āendless scrollā or āload moreā button are probably not needed. I think the best option is to see the same number of weeks in the past as set for future pickups or have a dedicated config item in settings for this. More history could be found on āHistoryā page.
Current āHistoryā page contains too much information to use it efficiently. Filtering history by activity type is a great feature. But the filter doesnāt have to limit to āpickup_doneā, activities like āpickup_joinā, āpickup_leaveā, āpickup_modifyā and all others could be helpful too.
Even with filter on āHistoryā page the purpose to display both historical and future pickups on the same page, as defined by option āHistorical and future pickupsā, wonāt be achieved. I believe this is the most user-friendly view to easily see when someone picked up a store last time and when he/she intends to do it next time. Perfect tool for all the members of the community to easily validate if they donāt break agreed rules or simply if they donāt overdo with pickups if such rules do not yet exist.
Itās just an idea not a complete solution Imagine each member of the community gets a number of points for āfreeā each month and they can be spent on any pickups. Then, you would also be able to contribute.