ankidroid / Anki-Android

AnkiDroid: Anki flashcards on Android. Your secret trick to achieve superhuman information retention.
GNU General Public License v3.0
8.67k stars 2.24k forks source link

New feature "Display a card on Screen unlock" #4709

Closed rafenciugo closed 4 years ago

rafenciugo commented 7 years ago
Research

Enter an [ x ] character to confirm the points below:

[ x] I have read the support page and am reporting a bug or enhancement request specific to AnkiDroid

[x] I have checked the manual and the FAQ and could not find a solution to my issue

[x] I have searched for similar existing issues here and on the user forum

I would like to propose a new functionality that could significantly help AnkiDroid users to boost their learning process.

Problem: Right now, to study cards, it is necessary to start a learning session manually. That means that a user has to find time to do it and be motivated. It is much more difficult to motivate children to work with AnkiDroid although they use mobile phones all the time.

Solution: Imagine that it is possible in AnkiDroid to enable a feature "Display a card on Screen unlock". If enabled, every time when a user unlocks a screen of his mobile phone a single card is displayed. The user can answer the question in the same way that he does it in AnkiDroid, and continue doing what he was supposed to do with his phone. Or, if he needs to use his phone urgently, uses an additional button "Abandon" or a main button of the phone that minimalizes all the applications. In that case, a card disappears but remains unanswered, and the user can use his phone. The card is displayed on the next screen unlock or in the standard AnkiDroid session if the user decides to do it.

Now imagine how many times, during a single day, you unlock your phone. At least 50 or more, could be 100. Using a "Display a card on Screen unlock" feature:

I have done an experiment myself, turning on AnkiDroid manually on every screen unlock during two weeks. The results are incredible. I have caught up with all my outstanding cards and have done an impressive progress, without spending a minute in dedicated sessions. Turning AnkiDroid every time manually was a pain in the a..., but the "Display a card on Screen unlock" feature would be a gift.

The next step could be implementing a feature "Display a card on Starting an application". This could work in the same way as described above but the cards would be displayed when the user starts some (configured) applications. For instance, a child starts his favorite game or youtube, before he can use it, a single card is displayed.

I would appreciate it if a person responsible for AnkiDroid backlog management could consider adding this feature to that backlog.

I am ready to provide a very detailed description of this new and powerful feature "Display a card on Screen unlock". I could also engage as a tester.

luc-vocab commented 4 years ago

Agreed, this functionality shouldn't be in AnkiDroid base.

thiswillbeyourgithub commented 4 years ago

Thank you for answering. Do you know of anyone who could be hired to do so? I understand you don't think it should be part of ankidroid but I'm sure other users would be interested in this.

JulyMorning commented 4 years ago

I could join some crowdfund party to get that separate app done, too.

luc-vocab commented 4 years ago

Just curious, what kind of crowdfunding site is appropriate for mobile apps ?

mikehardy commented 4 years ago

There is not a great deal of money to be had anywhere for donation where, in my experience with one of the bigger open source ecosystems anyway (react-native). I have seen OpenCollective used to some effect, but no one will quit their day job on it, if you know what I mean. BountySource maybe. I have direct experience with both and have seen money change hands at least so could work

unalkalkan commented 8 months ago

Heya everyone, sorry for necro-ing the old issue. I made a very simple app as a weekend project based on @mikehardy 's ideas here. Mind you, I am in game-dev industry and have little to no experience in Android Ecosystem, so the whole thing is ideas mashed together in a weekend. So don't expect much haha

Originally I was aiming for a lock-screen widget but seeing this issue made me go down the notification path. Here's how the app works:

Here's the repo for the app; AnkiDroid Companion

unalkalkan commented 8 months ago

Also, after I made the app in this "notification" way, I saw that Samsung had a new update which allows you to use Widgets in the lock screen. I use a Samsung device and tried and saw that I can add widgets to lock screen.

So next update might be a widget for the lock screen for people that can use this feature.

Here's the Reddit post about the said Samsung update: link

mikehardy commented 8 months ago

@unalkalkan I think that's great!

I notice this important bit in the limitations "Currently this app only supports simple cards with small texts that doesn't include any HTML" and that's what stopped us here basically. We aren't able to support the full Anki experience so it is hard to do, for us.

But as a companion app with known limitations that works for a lot (but not all) use cases, hey, that's fantastic.

Really well done.

You might want to add yourself in here? https://github.com/ankidroid/Anki-Android/wiki/Third-Party-Apps (I assume it's using our AnkiDroid API - the low-level integration method for apps)

thiswillbeyourgithub commented 8 months ago

Thank you very much. Ill keep an eye on your project that looks awesome!

unalkalkan commented 8 months ago

@unalkalkan I think that's great!

I notice this important bit in the limitations "Currently this app only supports simple cards with small texts that doesn't include any HTML" and that's what stopped us here basically. We aren't able to support the full Anki experience so it is hard to do, for us.

But as a companion app with known limitations that works for a lot (but not all) use cases, hey, that's fantastic.

Really well done.

Thanks @mikehardy! Also thank you guys for the great app and taking extra mile for the API, yes it does use AnkiDroid API, I'll include the project in the Third Party Apps as well.