Mnemododo: Android client for Mnemosyne released!

114 views
Skip to first unread message

Timothy Bourke

unread,
Feb 20, 2010, 11:26:29 AM2/20/10
to Mnemosyne Users
Mnemododo v1.0 is now available!

Find screenshots, a screencast of dubious quality, and details at:
http://www.tbrk.org/software/mnemododo.html

Mnemododo allows cards from Mnemosyne to be reviewed on an
Android-powered mobile phone. Mnemododo does not replace Mnemosyne:
cards are still added, edited, and deleted using a desktop or laptop
computer. Rather, cards for several days are exported using the
Mnemogogo plugin and then transferred to a mobile phone where they can
be reviewed on the go. When those cards have been reviewed, they are
imported back into Mnemosyne, and more cards may be exported.

Mnemododo has a few limitations:
* Sound is not supported.
* Cards cannot be edited.

But many advantages:
* support for HTML Markup,
* support for Images including LaTeX markup,
* support for ‘map overlaying’,
* statistics are still be contributed to the Mnemosyne project,
* your cards are retained and managed in Mnemosyne,
* the scheduling and grading algorithms are ported directly from
Mnemosyne, and
* the basic library has been tested and debugged over several months.

Mnemododo is open-source software (GPL2) but an official, signed, and
compiled package is only available through the Android Marketplace for
3EUR. Think of it as buying me a beer!

Care has been taken in the design and implementation of this software,
but there may still be bugs. You use the software at your own risk and
without warranty!

Tim.

signature.asc

Bill

unread,
Feb 20, 2010, 9:22:38 PM2/20/10
to mnemosyne-proj-users
Looks great, Tim. I've just gotten it from the Marketplace for future
use. Unfortunately, I'm still running version 1.2.1 of Mnemosyne at
the moment, as no OS X distribution of 1.2.2 has been released yet. I
think Felix used to assist with that?

>  signature.asc
> < 1KViewDownload

Peter Bienstman

unread,
Feb 21, 2010, 4:44:55 AM2/21/10
to Mnemosyne Users
> Mnemododo v1.0 is now available!

Congratulations! I've also added this to the frontpage of the Mnemosyne site.

Glad to see the Mnemosyne ecosystem growing!

Peter

Timothy Bourke

unread,
Feb 21, 2010, 9:11:36 AM2/21/10
to mnemosyne-...@googlegroups.com
On Feb 20 at 18:22 -0800, Bill wrote:
> Looks great, Tim. I've just gotten it from the Marketplace for future
> use. Unfortunately, I'm still running version 1.2.1 of Mnemosyne at
> the moment, as no OS X distribution of 1.2.2 has been released yet. I
> think Felix used to assist with that?

That's great, thank you!

I'm afraid that I can't help with the mac side of things. Are you able
to edit the python source code of the mac version? The required patch
is only three lines long.

Tim.

signature.asc

Timothy Bourke

unread,
Feb 21, 2010, 9:14:22 AM2/21/10
to Mnemosyne Users
On Feb 20 at 17:26 +0100, Timothy Bourke wrote:
> Mnemododo v1.0 is now available!

I've just uploaded a free version:
Mnemododo-USA States

The set of cards is fixed to the states of the USA:
http://www.mnemosyne-proj.org/node/48

But, even if you already know all the states, it's a nice demo of
Mnemododo, and a good test to see whether the paid version will work
on your Android phone.

(I'd be grateful to know which models it works on.)

Tim.

signature.asc

Bill

unread,
Feb 21, 2010, 9:36:07 PM2/21/10
to mnemosyne-proj-users
The demo seems to work fine on my MyTouch 3G, which is T-Mobile's
modified version of the HTC Magic.

>  signature.asc
> < 1KViewDownload

Bill

unread,
Feb 21, 2010, 9:51:25 PM2/21/10
to mnemosyne-proj-users
By the way, here's a QR code which leads to the marketplace search for
"mnemododo", which presently returns two results: the main app and its
demo.

https://dl.dropbox.com/u/118928/mnemododo.png

I also made a slightly smaller version which points to the same URL.

https://dl.dropbox.com/u/118928/mnemododo_small.png

On Feb 21, 9:14 am, Timothy Bourke <tim...@bigpond.com> wrote:

>  signature.asc
> < 1KViewDownload

Timothy Bourke

unread,
Feb 22, 2010, 3:54:07 AM2/22/10
to mnemosyne-...@googlegroups.com
On Feb 21 at 18:51 -0800, Bill wrote:
> By the way, here's a QR code which leads to the marketplace search for
> "mnemododo", which presently returns two results: the main app and its
> demo.
>
> https://dl.dropbox.com/u/118928/mnemododo.png
>
> I also made a slightly smaller version which points to the same URL.
>
> https://dl.dropbox.com/u/118928/mnemododo_small.png

Thanks Bill!

I've added one to the Mnemododo page.

Tim.

signature.asc

Bill

unread,
Feb 22, 2010, 11:17:22 PM2/22/10
to mnemosyne-proj-users
> Are you able
> to edit the python source code of the mac version? The required patch
> is only three lines long.
>
> Tim.

As an experiment, I downloaded the source for 1.2.2 and overrode the
contents of my existing installation:

Mnemosyne.app/Contents/Resources/mnemosyne

with the contents of this directory from the 1.2.2 source:

mnemosyne-1.2.2/mnemosyne/

I launched the program without any trouble, and when I checked the
"about", it said it was version 1.2.2.

However, if I try to use the mnemogogo plugin, I get the following
error:

Incorrect installation. The mnemogogo module could not be imported.
(No module named htmlentitydefs)

Timothy Bourke

unread,
Feb 23, 2010, 3:45:06 AM2/23/10
to mnemosyne-...@googlegroups.com
On Feb 22 at 20:17 -0800, Bill wrote:
[...]

> However, if I try to use the mnemogogo plugin, I get the following
> error:
>
> Incorrect installation. The mnemogogo module could not be imported.
> (No module named htmlentitydefs)

I just noticed that htmlentitydefs has a different name in Python 3.0.

Could you please try version 1.1.2 of Mnemogogo, which I just
uploaded:
http://www.mnemosyne-proj.org/node/187

Otherwise, you might manually make the changes detailed at:
http://tbrk.org/cgi-bin/hgwebdir.cgi/mnemogogo/rev/7e2777564530

Tim.

signature.asc

Bill

unread,
Feb 23, 2010, 10:41:43 AM2/23/10
to mnemosyne-proj-users
I deleted the existing Mnemogogo files and replaced them with the new
version. Unfortunately, I'm still getting the same error. But for one
thing, I'm not sure whether my carpet-bombing approach to upgrading
(i.e., just over-writing files in my existing installation with newer
versions) was really the best way to go... Maybe it's possible that I
just broke something independent of mnemogogo?

>  signature.asc
> < 1KViewDownload

Bill

unread,
Feb 23, 2010, 10:45:27 AM2/23/10
to mnemosyne-proj-users
I changed the code to say just:

import re, html.entities

And now I get the error for that module as well.

>  signature.asc
> < 1KViewDownload

Timothy Bourke

unread,
Feb 23, 2010, 1:33:38 PM2/23/10
to mnemosyne-...@googlegroups.com
On Feb 23 at 07:45 -0800, Bill wrote:
> I changed the code to say just:
>
> import re, html.entities
>
> And now I get the error for that module as well.

How odd.

The Android webkit may well handle html entities properly, so you
could, in fact, replace everything in the html_lib.py file with:

def htmltounicode(text):
return text

Tim.

signature.asc

Bill

unread,
Feb 23, 2010, 5:09:22 PM2/23/10
to mnemosyne-proj-users
That last suggestion worked for me, and I successfully reviewed a card
which contained a Greek letter, so that's a good sign.

I'm playing around with image export resolutions. To help me do this,
I made three dummy cards with black rectangles: one of 1000x500 pixels
("wide"), one of 500x1000 pixels ("tall"), and one of 1000x1000 pixels
("square"). I played around with different sizes until I hit whatever
seemed to be the ideal size, i.e. as large as possible without
requiring the user to scroll around once they reveal the answer. (For
testing purposes, I made my answers two lines of text long.)

On my MyTouch 3G, which has a resolution of 320 * 480, the best
maximum export resolution for portrait orientation seems to be
320x350. This fills up a large portion of the screen without forcing
the user to scroll down to grade their answer-- unless they have more
than two lines of text in addition to the image.

For landscape mode, the best maximum export resolution would be
480*190, which is obviously a very awkward size... it could be
improved dramatically if some of the vertical space could be freed up.
You already offer the ability to place buttons on the left or right in
landscape mode, which is excellent, but I wonder what else could be
done.

Maybe you could look into providing an option to hide the status bar
to free up more screen real estate-- I know that some applications do
that. You could also make the application's own status bar (i.e., the
one with the category name) an optional element of the interface.

After a bit more testing with the buttons moved to the right side in
landscape mode, I've found that 440 x 240 is a good maximum size under
those conditions.

>  signature.asc
> < 1KViewDownload

Timothy Bourke

unread,
Feb 24, 2010, 6:04:17 AM2/24/10
to mnemosyne-...@googlegroups.com
On Feb 23 at 14:09 -0800, Bill wrote:
> That last suggestion worked for me, and I successfully reviewed a card
> which contained a Greek letter, so that's a good sign.

Excellent. I won't make any permanent changes (like a graceful failure
mode) until it becomes clearer what the problem is.

[...]


> Maybe you could look into providing an option to hide the status bar
> to free up more screen real estate-- I know that some applications do
> that. You could also make the application's own status bar (i.e., the
> one with the category name) an optional element of the interface.

That seems like a good idea. I've just uploaded a new version (1.0.2)
with two additional options:

* Fullscreen mode: hides the Android status bar (battery, time, etc.)

* Show/hide titlebar: per your suggestion (though note that you
won't see the yellow warning colour the day before a new export is
required).

(see also: http://www.tbrk.org/software/dodo-settings-b.png)

Does your phone download the new version (semi-)automatically?

> After a bit more testing with the buttons moved to the right side in
> landscape mode, I've found that 440 x 240 is a good maximum size under
> those conditions.

Thanks for that information. Please let me know what you find works
best under the new options and I'll add all the values to my website.

Tim.

signature.asc

Timothy Bourke

unread,
Feb 24, 2010, 8:28:48 AM2/24/10
to mnemosyne-...@googlegroups.com
On Feb 23 at 14:09 -0800, Bill wrote:
[...]

> I'm playing around with image export resolutions. To help me do this,
> I made three dummy cards with black rectangles: one of 1000x500 pixels
> ("wide"), one of 500x1000 pixels ("tall"), and one of 1000x1000 pixels
> ("square"). I played around with different sizes until I hit whatever
> seemed to be the ideal size, i.e. as large as possible without
> requiring the user to scroll around once they reveal the answer. (For
> testing purposes, I made my answers two lines of text long.)
[...]

You could also create a file called STYLE.CSS, in the exported card
directory, with the contents:
img { width: 100%; }

But this may be too indiscriminate. It can, though, be done per
category:
body.<categoryname> img { width: 100%; }

Or, maybe even with max-width rather than width.

The category name is formed by removing all punctuation (except _ and
-), and by replacing spaces with underscores. For example,
"USA: States" becomes "USA_States".

Other elements can also be formatted:
div.q { ... } // questions
div.q img { ... } // images in questions
div.a { ... } // answers
div.a img { ... } // images in answers
body.<categoryname> { ... } // by category name
body.<categoryname> div.q img { ... } // category/question/images

Besides scaling images, this feature can be used, for instance, to
view cards as black on white:
body { background: black; color: white; }
hr { background: white; }

Tim.

signature.asc

Sarah

unread,
Mar 5, 2010, 10:46:46 AM3/5/10
to mnemosyne-proj-users
On Feb 23, 10:09 pm, Bill <bill.c.pr...@gmail.com> wrote:
> That last suggestion worked for me, and I successfully reviewed a card
> which contained a Greek letter, so that's a good sign.
>

I was so excited to hear about this app and downloaded it immediately,
but now I can't get it to work on my Mac...

I am NOT a programmer but moderately tech savvy - I went into my
Library > Mnemosyne > plugins > mnemogogo and deleted everything in
html_lib.py and replaced it with the text in this thread, but when I
open Mnemosyne, I get an error that Mnemogogo requires Mnemosyne
1.2.2+. Mnemogogo is not loading in my Deck menu. Anything else I need
to change? Thanks!

Bill

unread,
Mar 5, 2010, 9:15:02 PM3/5/10
to mnemosyne-proj-users
Did you try what I did to get Mnemosyne updated?-

"As an experiment, I downloaded the source for 1.2.2 and overrode the
contents of my existing installation:

Mnemosyne.app/Contents/Resources/mnemosyne

with the contents of this directory from the 1.2.2 source:

mnemosyne-1.2.2/mnemosyne/

I launched the program without any trouble, and when I checked the
"about", it said it was version 1.2.2. "

Also, it turns out that not all special characters work after all-
certain IPA symbols in unicode render as squares, unfortunately. I
haven't worked on finding a solution to that yet.

Timothy Bourke

unread,
Mar 6, 2010, 2:58:36 AM3/6/10
to mnemosyne-...@googlegroups.com
On Mar 5 at 18:15 -0800, Bill wrote:
> Also, it turns out that not all special characters work after all-
> certain IPA symbols in unicode render as squares, unfortunately. I
> haven't worked on finding a solution to that yet.

You could try updating the font on your phone (if possible), or
otherwise the Gogorender plugin should work well for short sequences
(i.e. words rather than paragraphs) of un-renderable characters:
http://www.mnemosyne-proj.org/node/249

You just save it into your plugins directory and at the next Mnemogogo
export it will turn all non-latin1 characters into png files.

There are also options for refining the set of characters that are
rendered.

Tim.

signature.asc

Sarah Price

unread,
Mar 6, 2010, 7:15:09 AM3/6/10
to mnemosyne-...@googlegroups.com
Whoops, I missed that bit - yes it seems to be working now, thanks!

--
You received this message because you are subscribed to the Google Groups "mnemosyne-proj-users" group.
To post to this group, send email to mnemosyne-...@googlegroups.com.
To unsubscribe from this group, send email to mnemosyne-proj-u...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/mnemosyne-proj-users?hl=en.


Sarah Price

unread,
Mar 6, 2010, 7:34:23 AM3/6/10
to mnemosyne-...@googlegroups.com
Correction, I got Mnemosyne to work and detect Mnemogogo. But I can't get Mnemododo to find the cards. I have tried exporting to a "cards" directory on my SD card (in the Mnemododo format), as well as just dumping the files into the top level of my SD card. I've made sure to disconnect my phone from USB and have verified that the files can be found in a file manager on my phone. Any suggestions?

I have a Nexus One if it makes any difference...

Timothy Bourke

unread,
Mar 6, 2010, 8:55:17 AM3/6/10
to mnemosyne-...@googlegroups.com
On Mar 6 at 12:34 +0000, Sarah Price wrote:
> Correction, I got Mnemosyne to work and detect Mnemogogo. But I can't get
> Mnemododo to find the cards. I have tried exporting to a "cards" directory on
> my SD card (in the Mnemododo format), as well as just dumping the files into
> the top level of my SD card. I've made sure to disconnect my phone from USB and
> have verified that the files can be found in a file manager on my phone. Any
> suggestions?

When you go into the settings screen in Mnemododo, does it spend much
time searching (while displaying a progress dialog)? Is the 'Card
Directory' option disabled?

Tim.

signature.asc

Sarah Price

unread,
Mar 6, 2010, 9:58:50 PM3/6/10
to mnemosyne-...@googlegroups.com
On Sat, Mar 6, 2010 at 1:55 PM, Timothy Bourke <tim...@bigpond.com> wrote:


When you go into the settings screen in Mnemododo, does it spend much
time searching (while displaying a progress dialog)?

A few seconds at least, yes.
 
Is the 'Card
Directory' option disabled?

Yes.

Thanks! 

Tim.


-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)

iEYEARECAAYFAkuSXsUACgkQtKVK1sFb0ee10ACeOEBjQtm0t52ydihpEbFa0h0o
PiwAnA14aE2M+vdInjl2WF+gIlnSJ575
=F26k
-----END PGP SIGNATURE-----


Timothy Bourke

unread,
Mar 7, 2010, 8:29:04 AM3/7/10
to mnemosyne-...@googlegroups.com
On Mar 7 at 02:58 +0000, Sarah Price wrote:
> On Sat, Mar 6, 2010 at 1:55 PM, Timothy Bourke <tim...@bigpond.com> wrote:
>
> When you go into the settings screen in Mnemododo, does it spend much
> time searching (while displaying a progress dialog)?
>
> A few seconds at least, yes.
>
> Is the 'Card
> Directory' option disabled?
>
> Yes.

I don't know why that's not working, but there were similar variations
across different models of phones for the J2ME version. I was hoping
that the Android platform would be more consistent. In any case, I'm
sure we'll be able to get to the bottom of it.

I've uploaded a program called 'Mnemododo: Tester' onto the Android
Market. It runs the search for card directories and logs the results
into a log file:
/data/data/org.tbrk.mnemododo.tester/files/mnemododo.log

Afterward, the log file can be displayed on screen or copied to:
/sdcard/mnemododo.log

Would you mind installing and running this program, and then emailing
me the resulting log file by private mail?

The log file may contain a list of all the files on your phone and
sdcard. Please remove any that you consider private (replacing them
with the text <omitted>).

Tim.

signature.asc

Timothy Bourke

unread,
Mar 7, 2010, 2:41:28 PM3/7/10
to mnemosyne-...@googlegroups.com
On Mar 7 at 14:29 +0100, Timothy Bourke wrote:
[...]

> I've uploaded a program called 'Mnemododo: Tester' onto the Android
> Market. It runs the search for card directories and logs the results
> into a log file:
> /data/data/org.tbrk.mnemododo.tester/files/mnemododo.log
>
> Afterward, the log file can be displayed on screen or copied to:
> /sdcard/mnemododo.log
[...]

As a follow up for the archive:

The log indicated that Mnemododo could traverse the directory tree
correctly and also that it could access the sdcard.

The cards were located in the root of the sdcard, and the log
contained the following five lines:
--doDir: /sdcard
---exists,isdir,canread
---found: CARDS
---found: CATS
---found: CONFIG

Whereas it should have contained:
--doDir: /sdcard
---exists,isdir,canread
---found: CARDS
---found: CATS
---found: CONFIG
---found: STATS.CSV
---canwrite=true
---found!

Thus the STATS.CSV file was missing.

I suspected one of the following:

1. If there is no STATS.CSV file, but only an OLDSTATS.CSV file then
the directory was imported back into Mnemogogo before being
synchronized with the phone.

Solution: re-export and/or resynchronize.

2. If there is a `stats.csv' file or a `STATS.csv' file, or something
similar, then the filename case has been changed during the
synchronization. This sometimes happens on windows, but it usually
changes the filenames into uppercase (that's why they're all exported
in uppercase).

Short-term solution: rename the file to STATS.CSV and try again.
Longer-term solution: figure out why the file is being renamed.

But it turned out that there was just a simple export/synchronisation
problem and the solution was to completely delete the cards directory,
run another export from Mnemogogo and resynchronize with the phone.

This fixed the problem.

Tim.

signature.asc
Reply all
Reply to author
Forward
0 new messages