Wikipedia:Bots/Requests for approval/RemindMeBot
- The following discussion is an archived debate. Please do not modify it. To request review of this BRFA, please start a new section at WT:BRFA. The result of the discussion was Request Expired.
Operator: Enterprisey (talk · contribs · SUL · edit count · logs · page moves · block log · rights log · ANI search)
Time filed: 04:29, Thursday, July 7, 2016 (UTC)
Automatic, Supervised, or Manual: automatic
Programming language(s): Python
Source code available: https://github.com/APerson241/RemindMeBot
Function overview: Reminds editors upon request.
Links to relevant discussions (where appropriate): WP:BOTREQ#ReminderBot
Edit period(s): Half-hour intervals
Estimated number of pages affected: 10, maybe?1,000
Exclusion compliant (Yes/No): Yes
Already has a bot flag (Yes/No): No
Function details: When you ping the bot by saying {{u|RemindMeBot}}
plus a time interval, the bot stores the location of the ping in a databasein your space and puts a reminder on your talk page with the location after the time interval.
Discussion
[edit]- Nice, was this the original inspiration for the task? :) I can see such a bot being very useful. -FASTILY 06:25, 7 July 2016 (UTC)[reply]
- Yes, it was! Good eye. Yeah, I really missed not having it here. Enterprisey (talk!) (formerly APerson) 20:06, 7 July 2016 (UTC)[reply]
- Unfortunately I'm inclined to agree with Earwig in the linked discussion. This would be better fit for a new feature to mw:Extension:Echo, which would not be very technically difficult to implement. What Echo does, is it allows us to no longer need to place {{talkback}} on people's talk pages. This bot's task is functionally analogous to that, and hence belongs in the MW extension as well. →Σσς. (Sigma) 06:29, 7 July 2016 (UTC)[reply]
- This bot may indeed be a better fit for an Echo feature, but unfortunately I don't know PHP, so I wouldn't mind at all if you want to get someone who knows PHP to implement this. Enterprisey (talk!) (formerly APerson) 20:05, 7 July 2016 (UTC)[reply]
- This functionality seems useful, but the implementation seems way overkill. Why not some JS gadget that stored reminders in localStorage (or similar) and displayed them at the right time? Seems a lot cleaner and less abusable to me. Legoktm (talk) 07:27, 7 July 2016 (UTC)[reply]
- I see problems with this approach that would arise if a user a) edits with multiple computers and/or web browsers, b) clears their browser cache/history. -FASTILY 09:17, 7 July 2016 (UTC)[reply]
- Aye. I edit with quite literally at least 20 browsers, on at least 7 machines, running 6 operating systems, at two fixed locations, plus three of them are mobile devices. Cookies? What are those? LOL. — SMcCandlish ☺ ☏ ¢ ≽ʌⱷ҅ᴥⱷʌ≼ 14:22, 7 July 2016 (UTC)[reply]
- Legoktm, I opted for the more "heavy" approach because I want to build a web frontend for this that allows deleting and modifying reminders, as well as some proper database code. Enterprisey (talk!) (formerly APerson) 20:05, 7 July 2016 (UTC)[reply]
- Okay, that's reasonable. Instead of localStorage, it could use a user's subpage for persistent storage across devices. Legoktm (talk) 22:38, 7 July 2016 (UTC)[reply]
- I like this idea, because it would also allow you to manage reminders en-masse (including changing or removing them, which I don't think you could do with this bot as currently designed). Also, it would avoid cluttering user talk pages. — Earwig talk 22:51, 7 July 2016 (UTC)[reply]
- So you're saying the bot itself should ping users from the same page they were stored? (So, just to clarify it a bit for myself, I'd ping the bot on some Wikipedia page, the bot would edit my subpage (without a ping) immediately, and later on, the bot would add a ping to the same subpage.) Sounds good, although archiving would then become a problem to solve. Enterprisey (talk!) (formerly APerson) 23:08, 7 July 2016 (UTC)[reply]
- SMcCandlish, as a likely power user of this bot, do you have any preference between getting pings on your talk page or a subpage of your user page? Enterprisey (talk!) (formerly APerson) 23:10, 7 July 2016 (UTC)[reply]
- APerson ideally user-selectable. May people are talk-page focused, but I would definitely prefer a subpage, so I could transclude it and do stuff with it, like I do with the to-do list on my userpage (both my user and user talk page have a bunch of transcludes; it's an ugly mess, design-wise, but serves my functional needs. Ideally the entries would be very minimal, fitting on one line. The notices a lot of wikiprojects leave, huge boxes of stuff that fill half the screen, are not so hot. — SMcCandlish ☺ ☏ ¢ ≽ʌⱷ҅ᴥⱷʌ≼ 02:46, 8 July 2016 (UTC)[reply]
- Sounds good to me. Enterprisey (talk!) (formerly APerson) 02:47, 8 July 2016 (UTC)[reply]
- Request params updated. Enterprisey (talk!) (formerly APerson) 04:30, 9 July 2016 (UTC)[reply]
- Sounds good to me. Enterprisey (talk!) (formerly APerson) 02:47, 8 July 2016 (UTC)[reply]
- APerson ideally user-selectable. May people are talk-page focused, but I would definitely prefer a subpage, so I could transclude it and do stuff with it, like I do with the to-do list on my userpage (both my user and user talk page have a bunch of transcludes; it's an ugly mess, design-wise, but serves my functional needs. Ideally the entries would be very minimal, fitting on one line. The notices a lot of wikiprojects leave, huge boxes of stuff that fill half the screen, are not so hot. — SMcCandlish ☺ ☏ ¢ ≽ʌⱷ҅ᴥⱷʌ≼ 02:46, 8 July 2016 (UTC)[reply]
- Actually, my suggestion was in line with Lego's; there is not bot that edits to ping with Echo in this situation, but a user script or MediaWiki extension that produces notifications directly. — Earwig talk 04:37, 9 July 2016 (UTC)[reply]
- Huh. Yes, that would definitely be ideal. However, I have no clue how to produce Echo notifications myself, and hence why I opted for either sending Echo pings or regular user talk page messages. Enterprisey (talk!) (formerly APerson) 04:42, 9 July 2016 (UTC)[reply]
- SMcCandlish, as a likely power user of this bot, do you have any preference between getting pings on your talk page or a subpage of your user page? Enterprisey (talk!) (formerly APerson) 23:10, 7 July 2016 (UTC)[reply]
- So you're saying the bot itself should ping users from the same page they were stored? (So, just to clarify it a bit for myself, I'd ping the bot on some Wikipedia page, the bot would edit my subpage (without a ping) immediately, and later on, the bot would add a ping to the same subpage.) Sounds good, although archiving would then become a problem to solve. Enterprisey (talk!) (formerly APerson) 23:08, 7 July 2016 (UTC)[reply]
- I like this idea, because it would also allow you to manage reminders en-masse (including changing or removing them, which I don't think you could do with this bot as currently designed). Also, it would avoid cluttering user talk pages. — Earwig talk 22:51, 7 July 2016 (UTC)[reply]
- Okay, that's reasonable. Instead of localStorage, it could use a user's subpage for persistent storage across devices. Legoktm (talk) 22:38, 7 July 2016 (UTC)[reply]
- Legoktm, I opted for the more "heavy" approach because I want to build a web frontend for this that allows deleting and modifying reminders, as well as some proper database code. Enterprisey (talk!) (formerly APerson) 20:05, 7 July 2016 (UTC)[reply]
- Aye. I edit with quite literally at least 20 browsers, on at least 7 machines, running 6 operating systems, at two fixed locations, plus three of them are mobile devices. Cookies? What are those? LOL. — SMcCandlish ☺ ☏ ¢ ≽ʌⱷ҅ᴥⱷʌ≼ 14:22, 7 July 2016 (UTC)[reply]
- Wow, I could never do that. By the way, I'm sorry if I never got to finishing the code, I just couldn't do it. PhilrocMy contribs 11:43, 7 July 2016 (UTC)[reply]
- No problem at all - the code's on GitHub, and pull requests are always appreciated! :) Enterprisey (talk!) (formerly APerson) 20:05, 7 July 2016 (UTC)[reply]
- You really think only 10 people will ever use this? — xaosflux Talk 11:52, 7 July 2016 (UTC)[reply]
- I'll add another order of magnitude. I also have code in another branch for using an actual database on Labs, if that's needed. Enterprisey (talk!) (formerly APerson) 20:05, 7 July 2016 (UTC)[reply]
- Updated. Enterprisey (talk!) (formerly APerson) 04:30, 9 July 2016 (UTC)[reply]
- I'll add another order of magnitude. I also have code in another branch for using an actual database on Labs, if that's needed. Enterprisey (talk!) (formerly APerson) 20:05, 7 July 2016 (UTC)[reply]
- I would use this bot [or other implementation] heavily. — SMcCandlish ☺ ☏ ¢ ≽ʌⱷ҅ᴥⱷʌ≼ 14:23, 7 July 2016 (UTC)[reply]
- This idea is #32 on the 2015 Community Wishlist. It's filed as phab:T88781 for potential implementation within Echo/Notifications. It would be best if we could implement this in a way that works for all our wikis, rather than just Enwiki. I do like the idea of the simple and public way for triggering a reminder-request, though I wonder if that's discoverable enough, given that many people will want to use the feature? This bot idea might work on a small local scale, but we should also continue thinking about ways to implement it on a larger scale (probably at that phab task). HTH. Quiddity (WMF) (talk) 18:29, 7 July 2016 (UTC)[reply]
- I actually did read that ticket, and the bot probably could run on other wikis with a bit of localization. Enterprisey (talk!) (formerly APerson) 20:05, 7 July 2016 (UTC)[reply]
- Did you read that ticket before filing this BRFA? →Σσς. (Sigma) 18:53, 9 July 2016 (UTC)[reply]
- No, I didn't. I apologize if my wording was unclear. Enterprisey (talk!) (formerly APerson) 19:10, 9 July 2016 (UTC)[reply]
- If there is agreement that Echo would be the best and proper way to do it then efforts to address this should be in parallel directed toward Echo; if this bot would be used as an interim solution until new features are added to Echo, and we are actually taking actions to move toward it, then that may be acceptable as well. That said, it is evident that this is not entirely uncontroversial. Multiple users other than me have suggested not using a bot for this task due to various reasons. →Σσς. (Sigma) 20:09, 9 July 2016 (UTC)[reply]
- Enterprisey would not be the one to implement it the better way, so working on this bot as a temporary solution shouldn't slow progress on other implementations. KSFTC 20:17, 9 July 2016 (UTC)[reply]
I don't think you understand what I'm saying. Let me clarify:
If you intend to solve a problem, you should take into account the present facts and the past attempts to look at it. Actions should be in response to the past in the context of the present. The Phab link describes implementing it directly into MediaWiki through Flow/Echo/some form of an extension. In the Phab link, there is no discussion of using a bot for this. The BOTREQ discussion linked to two archived discussions. Both described a bot and the second eventually linked to the Phab task, but it was not further discussed.
You were not aware of the phab link at the time of this BRFA—nothing wrong with that—but now that the phab link is brought to light, it would be greatly beneficial if you could incorporate the data from it into this discussion.
Implementing this bot may give the appearance that the task is complete, and so someone who knows how to write MediaWiki extensions might not start work, thinking that it's best not to create redundant software. Multiple users have suggested making a gadget or adding new features to Echo. In the BOTREQ link, Earwig expressed that if we did it by bot it would end up being a strange hack that would probably have other issues, which I agreed with in my first comment here. Creating this bot without addressing all this is fundamentally flawed.
→Σσς. (Sigma) 20:56, 9 July 2016 (UTC)[reply]
- For what it's worth, I agree with your main points. The fundamental question here is whether it's better to have a suboptimal solution now, or an optimal solution later. It is my belief that the optimal solution will take too long to finish. Even if this BRFA didn't exist, it would still take too long. The village pump discussion linked to in the BOTREQ discussion is from 2010. Anyone who wanted to make an extension has had at least six years. Let's make a bot. Enterprisey (talk!) (formerly APerson) 02:43, 10 July 2016 (UTC)[reply]
Right. I'm not trying to prevent this bot from being approved—worst case scenario, you've done some prototyping and edge-case discovery for the future echo feature—all I want is an effort to help ensure a smooth transition from the bot to the echo feature (I understand that this will take significant product design/planning). And I agree with the "we're all volunteers" philosophy alluded to below, but we should be trying to make things that don't impede other work, even unintentionally.
I don't have much of an opinion on an n-month shutoff, but as a general idea I think it should be heavily underlined (somehow) that this bot isn't meant to last forever. Maybe a huge notice on the bot's userpage would be all; I don't know, ideas are welcome.
→Σσς. (Sigma) 05:06, 13 July 2016 (UTC)[reply]
- I would absolutely be in favor of putting as many notices on the bot's user page as we want if it means moving this task forward. Enterprisey (talk!) (formerly APerson) 03:39, 14 July 2016 (UTC)[reply]
- For what it's worth, I agree with your main points. The fundamental question here is whether it's better to have a suboptimal solution now, or an optimal solution later. It is my belief that the optimal solution will take too long to finish. Even if this BRFA didn't exist, it would still take too long. The village pump discussion linked to in the BOTREQ discussion is from 2010. Anyone who wanted to make an extension has had at least six years. Let's make a bot. Enterprisey (talk!) (formerly APerson) 02:43, 10 July 2016 (UTC)[reply]
- Enterprisey would not be the one to implement it the better way, so working on this bot as a temporary solution shouldn't slow progress on other implementations. KSFTC 20:17, 9 July 2016 (UTC)[reply]
- If there is agreement that Echo would be the best and proper way to do it then efforts to address this should be in parallel directed toward Echo; if this bot would be used as an interim solution until new features are added to Echo, and we are actually taking actions to move toward it, then that may be acceptable as well. That said, it is evident that this is not entirely uncontroversial. Multiple users other than me have suggested not using a bot for this task due to various reasons. →Σσς. (Sigma) 20:09, 9 July 2016 (UTC)[reply]
- No, I didn't. I apologize if my wording was unclear. Enterprisey (talk!) (formerly APerson) 19:10, 9 July 2016 (UTC)[reply]
- Did you read that ticket before filing this BRFA? →Σσς. (Sigma) 18:53, 9 July 2016 (UTC)[reply]
- I actually did read that ticket, and the bot probably could run on other wikis with a bit of localization. Enterprisey (talk!) (formerly APerson) 20:05, 7 July 2016 (UTC)[reply]
- We all agree that implementing this as part of Echo notifications is ideal, and we all agree that this is a beneficial feature that should ideally exist in the short-term. How about a temporary bot approval to get this feature going in the short-term but not remove the impetus for the Echo solution? After three months from the date of approval, the bot stops taking new reminder requests, no exceptions. This wouldn't disincentivize developers from working on Echo reminders, and it may even increase interest in developing that solution as editors get a taste for how reminder notifications would help them in their workflow. Could this be a compromise solution? ~ Rob13Talk 19:27, 10 July 2016 (UTC)[reply]
- (edit conflict) Sounds a bit abrupt to me, but I would support finding someone who wants to work on the extension before having the bot approved. Enterprisey (talk!) (formerly APerson) 19:30, 10 July 2016 (UTC)[reply]
- As we've said, this bot isn't an ideal solution to the problem, but it's not a bad one either. I don't have a problem letting it run indefinitely until an Echo implementation is written. My main concern right now is the lack of interface integration, and the scaling issue I brought up with Enterprisey earlier regarding the need to frequently check X subpages. It would be nice to have a concrete plan for developing the replacement, but given the "we're all volunteers" philosophy, this isn't a prerequisite for approval if we can't find anyone willing to do it. — Earwig talk 22:22, 10 July 2016 (UTC)[reply]
- To address your main concern, the one major architecture choice we face is what storage medium to use: user subpages or a database on Labs. I lean towards the latter, but the former was suggested over the course of the BRFA. It would be great if people would comment which they prefer so a decision could be made on the merits of each. Enterprisey (talk!) (formerly APerson) 03:39, 14 July 2016 (UTC)[reply]
- I agree, using a Tool Labs database seems most efficient, and with that you could create a simple web interface to register notifications. One issue there is you could have people registering unwanted pings to you, and the same is true with a wiki solution, unless the bot checked a .js file in the userspace, let's say. At the same token you could use OAuth for the web interface, and also add cross-wiki support with i18n.Regardless of the implantation, I see no reason why this volunteer work should be held back by the possibility of a MediaWiki extension. The bot might offer inspiration, or even some features that never make it to the MediaWiki version due to lack of development time — MusikAnimal talk 01:09, 18 July 2016 (UTC)[reply]
- False pings shouldn't be a problem; the bot already checks that the name of the user who made the edit and the username in the signature are identical before it saves a reminder. Enterprisey (talk!) (formerly APerson) 01:13, 18 July 2016 (UTC)[reply]
- If you have access to the editor that made the request, what are you looking for in text of the signature? — xaosflux Talk 20:08, 18 July 2016 (UTC)[reply]
- I believe MusikAnimal was talking about the case where an editor would sign with another editor's signature to send the latter a fake reminder, but I may have misread his statement. Enterprisey (talk!) (formerly APerson) 01:21, 19 July 2016 (UTC)[reply]
- That is what I was referring to, and I think we can probably all agree that on this wiki that's bound to happen unless we do some checks! :) — MusikAnimal talk 01:42, 19 July 2016 (UTC)[reply]
- I believe MusikAnimal was talking about the case where an editor would sign with another editor's signature to send the latter a fake reminder, but I may have misread his statement. Enterprisey (talk!) (formerly APerson) 01:21, 19 July 2016 (UTC)[reply]
- If you have access to the editor that made the request, what are you looking for in text of the signature? — xaosflux Talk 20:08, 18 July 2016 (UTC)[reply]
- False pings shouldn't be a problem; the bot already checks that the name of the user who made the edit and the username in the signature are identical before it saves a reminder. Enterprisey (talk!) (formerly APerson) 01:13, 18 July 2016 (UTC)[reply]
- I agree, using a Tool Labs database seems most efficient, and with that you could create a simple web interface to register notifications. One issue there is you could have people registering unwanted pings to you, and the same is true with a wiki solution, unless the bot checked a .js file in the userspace, let's say. At the same token you could use OAuth for the web interface, and also add cross-wiki support with i18n.Regardless of the implantation, I see no reason why this volunteer work should be held back by the possibility of a MediaWiki extension. The bot might offer inspiration, or even some features that never make it to the MediaWiki version due to lack of development time — MusikAnimal talk 01:09, 18 July 2016 (UTC)[reply]
- To address your main concern, the one major architecture choice we face is what storage medium to use: user subpages or a database on Labs. I lean towards the latter, but the former was suggested over the course of the BRFA. It would be great if people would comment which they prefer so a decision could be made on the merits of each. Enterprisey (talk!) (formerly APerson) 03:39, 14 July 2016 (UTC)[reply]
- As we've said, this bot isn't an ideal solution to the problem, but it's not a bad one either. I don't have a problem letting it run indefinitely until an Echo implementation is written. My main concern right now is the lack of interface integration, and the scaling issue I brought up with Enterprisey earlier regarding the need to frequently check X subpages. It would be nice to have a concrete plan for developing the replacement, but given the "we're all volunteers" philosophy, this isn't a prerequisite for approval if we can't find anyone willing to do it. — Earwig talk 22:22, 10 July 2016 (UTC)[reply]
- (edit conflict) Sounds a bit abrupt to me, but I would support finding someone who wants to work on the extension before having the bot approved. Enterprisey (talk!) (formerly APerson) 19:30, 10 July 2016 (UTC)[reply]
- What sort of throttling do you plan on using? As this is feedback-controlled, having single people cause hundreds or more edits at a time could be disruptive. — xaosflux Talk 04:10, 29 July 2016 (UTC)[reply]
- The edits would only be to individual editor's user talk pages, so it would only be disruptive to the users requesting the reminders. If you think throttling is necessary, I'd be happy to implement it - maybe only one reminder per time interval per user? Enterprisey (talk!) (formerly APerson) 02:48, 1 August 2016 (UTC)[reply]
- I suppose it depends on how you are going to send them - If I trigger 10 messages that will hit in one interval, will the bot reflect 10 messages to me - or just 1 message with the 10 pieces of data? If the former then yes, throttling should be in place #of messages/interval that can be sent (maybe 5/interval?); if the later there should be a maximum as well (maybe 20 link-backs/interval?). Users exceeding the throttle should be told so. What do you think? — xaosflux Talk 04:53, 1 August 2016 (UTC)[reply]
- The latter makes more sense. Something like "You have reminders for X, Y, Z, and n more that you can see here", with a link to the web frontend where (presumably) all of this would be visible. Enterprisey (talk!) (formerly APerson) 01:33, 3 August 2016 (UTC)[reply]
- I suppose it depends on how you are going to send them - If I trigger 10 messages that will hit in one interval, will the bot reflect 10 messages to me - or just 1 message with the 10 pieces of data? If the former then yes, throttling should be in place #of messages/interval that can be sent (maybe 5/interval?); if the later there should be a maximum as well (maybe 20 link-backs/interval?). Users exceeding the throttle should be told so. What do you think? — xaosflux Talk 04:53, 1 August 2016 (UTC)[reply]
- The edits would only be to individual editor's user talk pages, so it would only be disruptive to the users requesting the reminders. If you think throttling is necessary, I'd be happy to implement it - maybe only one reminder per time interval per user? Enterprisey (talk!) (formerly APerson) 02:48, 1 August 2016 (UTC)[reply]
- Consider this scenario:
- What reminders, and to who, would result from making the revert? →Σσς. (Sigma) 21:07, 31 July 2016 (UTC)[reply]
- I've adjusted the above after reviewing the source code. →Σσς. (Sigma) 22:39, 31 July 2016 (UTC)[reply]
- Σ, pardon my ignorance, but is it true that the revert of the page-blanking would result in the notifications being sent? If not, I can't see the bot having an issue with that. Enterprisey (talk!) (formerly APerson) 02:48, 1 August 2016 (UTC)[reply]
- That's exactly my question. Should my revert result in notifications being sent? Will it? →Σσς. (Sigma) 03:00, 1 August 2016 (UTC)[reply]
- According to mw:Manual:Echo#Technical details, I don't think so. Enterprisey (talk!) (formerly APerson) 03:03, 1 August 2016 (UTC)[reply]
- That's exactly my question. Should my revert result in notifications being sent? Will it? →Σσς. (Sigma) 03:00, 1 August 2016 (UTC)[reply]
- Σ, pardon my ignorance, but is it true that the revert of the page-blanking would result in the notifications being sent? If not, I can't see the bot having an issue with that. Enterprisey (talk!) (formerly APerson) 02:48, 1 August 2016 (UTC)[reply]
- {{BotTrial}} (including participating user_talk pages). Ok to start trials, please include a link on reminders to this BRFA for feedback. (Wikipedia:Bots/Requests_for_approval/RemindMeBot#RMB-Trial). — xaosflux Talk 13:14, 5 August 2016 (UTC)[reply]
Trial Feedback
[edit]Feedback from the trial:
- Request Expired. The trial never began. If you wish to reactivate this in the future, please bring back to BRFA. — xaosflux Talk 21:10, 20 August 2016 (UTC)[reply]
- If resubmitting - a new trial approval will be needed - but if there are no other changes will be swift. — xaosflux Talk 14:29, 21 August 2016 (UTC)[reply]
- The above discussion is preserved as an archive of the debate. Please do not modify it. To request review of this BRFA, please start a new section at WT:BRFA.