On Tue, 2010-05-18 at 10:11 -0400, Gwern Branwen wrote: > Thoughts: > 1. Why not just use crontab/favorite-scheduling-utility to launch > Mnemosyne every midnight/morning? This takes care of your forgetting > problem.
No, it does not. Not always... although, granted, it could be enough for my purposes. However, I'm hoping to create something that would suit others as well. Others who would be willing to give it a go but are likely to abandon it if it gets annoying. I have no pressing need for the moment for having this myself. I am, however, looking for a practical project to implement that'd let me try my hand at some adaptive learning techniques while also actually creating something of use. The guiding principle I'm trying to follow here is to design software you don't need to think about. Also, secondarily, software that doesn't force you to think about it more than necessary. > 2. I don't think a whole special window box thing is necessary anyway. > Just run Mnemosyne itself. The idea with the box is to not interrupt you if you don't want to be interrupted. Mnemosyne suddenly appearing in front of whatever you were working with is intrusive. Small box in the corner is much less so. Box that increasingly only appears when it'll be appreciated is even less intrusive. The less annoyance, the more likelyhood of the user continuing to use it. The idea is to avoid doing stuff the user isn't expecting. Avoids getting in the user's way. > 3. You seem to want Mnemosyne to run when the user is not doing > anything, but present. How could the computer possibly know this? It > only knows if I am doing something or not; the case of me being > present but not doing anything looks exactly like when I am not > present and not doing anything. It's going to have to interrupt you in > any case. This is another reason for the box. At first, the computer has no idea, so has to rely on some default set of heuristics, like for example the one you suggest in point 4. However, every time the box is shown, the software gets more data about the user's preferences. It doesn't even have to be a very fancy algorithm to be effective. And also, the idea is not to find out if the user is doing anything or not. The idea is to find out if the user is in the mood for a couple of flashcards. So, since it's not realistically possible to have it read your mind without first getting used to you, it'll have to actively probe at first. There are much more detectable patterns in our behauviour than is immediately obvious. > 4. One heuristic might be, if an app is opened or closed, it's a good > time to interrupt. This could easily be done through your window > manager, if you have a decent one. For example, I could edit my XMonad > config to on every change of the layout, get a random number and with > a very low probability (probably have to figure it out via trial and > error) run Mnemosyne. If I happen to be busy, I simply kill Mnemosyne > with a mod-k and go on. Mnemosyne is very portable so I would prefer to match that instead of relying on a certain window manager or OS. Although, support for other platforms than my own (Ubuntu/Debian) would have lower priority at first. I'm actually also hoping to create a general library/daemon for use with adaptive computer interfaces that'd be close to as simple to use as random numbers for decisions like this. > 5. Similarly, just running Mnemosyne at random widely spaced intervals > might be enough. AI techniques like learning are often unnecessary; if > there is any value to this idea, it ought to have value even if you do > something like a script which 'runs mnemosyne every hour on the hour'. If it's the box, like I described that gets shown every hour, I do think it could work. But plopping mnemosyne on top of whatever you happen to be doing would not. Users don't like it when their computers do things they don't expect. Especially so if it requires any kind of action from them to be able to continue what they were doing. > 6. To insist on fancy adaptive techniques before the idea has ever > been tried is to make the perfect be the enemy of the good. Yes, that is my achilles heel. Going for the perfect when good would be enough. Best Regards, Joel -- You received this message because you are subscribed to the Google Groups "mnemosyne-proj-users" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/mnemosyne-proj-users?hl=en.
