New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

tag: add support for attaching images #546

Closed
aliceinwire opened this Issue Aug 19, 2015 · 12 comments

Comments

Projects
None yet
2 participants
@aliceinwire

aliceinwire commented Aug 19, 2015

It would be nice if there is the possibility to add a memorization note and image for each kanji for memorizing it.
like associating the kanji to a mother language word or similar for remembering writing/pronunciation.
Similar to Heisig or memrize application.

A nice position would be to save under the kanji in the single kanji window or in a new tab on the kanji window.

@mvysny

This comment has been minimized.

Show comment
Hide comment
@mvysny

mvysny Aug 23, 2015

Owner

Hi Alice, thanks for letting me know. Perhaps you can use the 'tags' for this? Just long-click the kanji, then select "Tag Entries" and provide the memorization note. The note should now be shown next to the kanji. Please let me know if this is acceptable.

Owner

mvysny commented Aug 23, 2015

Hi Alice, thanks for letting me know. Perhaps you can use the 'tags' for this? Just long-click the kanji, then select "Tag Entries" and provide the memorization note. The note should now be shown next to the kanji. Please let me know if this is acceptable.

@aliceinwire

This comment has been minimized.

Show comment
Hide comment
@aliceinwire

aliceinwire Aug 24, 2015

I tried the tag feature, but probably not tried yet enough. anyway from first impact is nice, but,
It would be nice to give possibility to add some sort of image for visual learning.

aliceinwire commented Aug 24, 2015

I tried the tag feature, but probably not tried yet enough. anyway from first impact is nice, but,
It would be nice to give possibility to add some sort of image for visual learning.

@mvysny

This comment has been minimized.

Show comment
Hide comment
@mvysny

mvysny Aug 24, 2015

Owner

Currently you can add text and color to a tag. I can add support for
adding image to a tag. How would the image be acquired - probably via a
camera? Can you please share your thoughts on your usage flow, how would
you use such functionality?

On 24.08.2015 06:30, Alice Ferrazzi wrote:

I tried the tag feature, but probably not tried yet enough. anyway from
first impact is nice, but,
It would be nice to give possibility to add some sort of image for
visual learning.


Reply to this email directly or view it on GitHub
#546 (comment).

Owner

mvysny commented Aug 24, 2015

Currently you can add text and color to a tag. I can add support for
adding image to a tag. How would the image be acquired - probably via a
camera? Can you please share your thoughts on your usage flow, how would
you use such functionality?

On 24.08.2015 06:30, Alice Ferrazzi wrote:

I tried the tag feature, but probably not tried yet enough. anyway from
first impact is nice, but,
It would be nice to give possibility to add some sort of image for
visual learning.


Reply to this email directly or view it on GitHub
#546 (comment).

@aliceinwire

This comment has been minimized.

Show comment
Hide comment
@aliceinwire

aliceinwire Aug 24, 2015

memrise is adding a image from a link, you can search on google and link the image to a flash card. or you can add the link of a image already on internet and like hosted by yourself ? like on google image or dropbox ?

I think the best would be to add it from the album or from a url like http://.

anyway this are just suggestion, of how I would use it, for memorize kanji or composite of kanji.

Using that i can make a meme by searching on google and linking the url of the image or drawing a sketch and making a photo and tagging it to the kanji with a little story using the radicals so i can compress the kanji in some radical form and rember just that or i can remeber the picture that is referencing the radical and the composition with some link to the meaning.
I think the most fast way to remember is to compress and make some mnemonic association to it.
more you can compress and reuse big party of the kanji and more are simple to remember.
so you can in the note and picture make some reference to the compressed form.
for store in the visual and association memory and using the anki feature of aedict for repetition.

aliceinwire commented Aug 24, 2015

memrise is adding a image from a link, you can search on google and link the image to a flash card. or you can add the link of a image already on internet and like hosted by yourself ? like on google image or dropbox ?

I think the best would be to add it from the album or from a url like http://.

anyway this are just suggestion, of how I would use it, for memorize kanji or composite of kanji.

Using that i can make a meme by searching on google and linking the url of the image or drawing a sketch and making a photo and tagging it to the kanji with a little story using the radicals so i can compress the kanji in some radical form and rember just that or i can remeber the picture that is referencing the radical and the composition with some link to the meaning.
I think the most fast way to remember is to compress and make some mnemonic association to it.
more you can compress and reuse big party of the kanji and more are simple to remember.
so you can in the note and picture make some reference to the compressed form.
for store in the visual and association memory and using the anki feature of aedict for repetition.

@mvysny

This comment has been minimized.

Show comment
Hide comment
@mvysny

mvysny Aug 24, 2015

Owner

Thanks for sharing the story. If I understand correctly, I will add a new button to the tag dialog, named "Get Photo". Upon clicking, the button will ask you if you wish to download the photo from an URL currently copied in the clipboard, or if you wish to browse a gallery for a photo (like Aedict OCR's "Folder" "Browse Gallery" button). The image is then attached to the tag itself, and displayed in place of the "tag" icon
ic_action_labels

Owner

mvysny commented Aug 24, 2015

Thanks for sharing the story. If I understand correctly, I will add a new button to the tag dialog, named "Get Photo". Upon clicking, the button will ask you if you wish to download the photo from an URL currently copied in the clipboard, or if you wish to browse a gallery for a photo (like Aedict OCR's "Folder" "Browse Gallery" button). The image is then attached to the tag itself, and displayed in place of the "tag" icon
ic_action_labels

@aliceinwire

This comment has been minimized.

Show comment
Hide comment
@aliceinwire

aliceinwire commented Aug 24, 2015

👍

@mvysny mvysny changed the title from possibility to add memorization note on kanji screen to tag: add support for attaching images Aug 25, 2015

@mvysny

This comment has been minimized.

Show comment
Hide comment
@mvysny

mvysny Aug 25, 2015

Owner

Hmm, this may not be as easy as it sounds. Currently, Aedict keeps Tags (and Notepad as well) in a binary format which have to be loaded in memory entirely (because of history reasons). This allows very simple Dropbox Sync, but imagine storing 500 images here, each 2kb in size... At some point I will have to switch to a sqlite database - simply because this simple in-memory format does not scale and also some users have huge Notepad which takes seconds to load and save. You will still be able to back stuff up to the Dropbox, but you will lose the Dropbox Sync feature. Is this acceptable for you?
Just a side note: Dropbox Sync library has been deprecated by the Dropbox guys, it will no longer be maintained, there will be no 64-bit ports for example. So, at some point, I will have to remove the Sync library.

Owner

mvysny commented Aug 25, 2015

Hmm, this may not be as easy as it sounds. Currently, Aedict keeps Tags (and Notepad as well) in a binary format which have to be loaded in memory entirely (because of history reasons). This allows very simple Dropbox Sync, but imagine storing 500 images here, each 2kb in size... At some point I will have to switch to a sqlite database - simply because this simple in-memory format does not scale and also some users have huge Notepad which takes seconds to load and save. You will still be able to back stuff up to the Dropbox, but you will lose the Dropbox Sync feature. Is this acceptable for you?
Just a side note: Dropbox Sync library has been deprecated by the Dropbox guys, it will no longer be maintained, there will be no 64-bit ports for example. So, at some point, I will have to remove the Sync library.

@aliceinwire

This comment has been minimized.

Show comment
Hide comment
@aliceinwire

aliceinwire Aug 25, 2015

what about using owncloud for sync ? is acceptable for me if is not too much work for you or if you have not have already more urgent things to fix.
i don't want to make any pressure by this request, i just thought would be nice have something similar to memrise. :)

aliceinwire commented Aug 25, 2015

what about using owncloud for sync ? is acceptable for me if is not too much work for you or if you have not have already more urgent things to fix.
i don't want to make any pressure by this request, i just thought would be nice have something similar to memrise. :)

@mvysny

This comment has been minimized.

Show comment
Hide comment
@mvysny

mvysny Aug 25, 2015

Owner

Unfortunately Owncloud guys (nor any other cloud service for that matter, now including Dropbox, as the Dropbox Sync has been deprecated) do not provide sync libraries - they only provide basic stuff: upload a file, list a directory, ... Proper syncing is quite a delicate work: you need to do syncing only when the phone is connected to the internet, preferably via wifi, also you do not want to sync when the phone is sleeping (in Android terminology, you don't want to hold a wake lock for long, this kills the phone's battery); if the transfer is interrupted, you need to automatically resume the transfer when the phone is awake and you have wifi; if some other phone uploads stuff you need to check for conflicts and resolve them if possible... This is very hard to implement correctly, because of subtle threading issues (all this stuff must work invisible in the background), and is very hard to test. Bugs in this code mean angry customers (nobody wants to lose their data ;).
So, to sum this up: unfortunately, writing Sync myself is next to impossible :( Also, some vendors provide means for automatically syncing a particular directory from their phone - please see #528 for details. Also, on my Cyanogen, there is something called Baton which apparently does the same stuff...
Also, syncing database files is very problematic - they are binary files after all, they tend to change a lot (for example by internal reindexing/rehashing of indices/primary keys/constraints) which makes binary diff syncing very problematic. So, after I switch to the sqlite database, the Sync option would be off the table anyway...
I am very sorry to disappoint you, but it seems that the backup/restore functionality is the only way to go, I'm afraid.
However, perhaps this actually is the way to go ;) Auto-backup is implemented; if I implement automatic notifications, like "hey you have made a new backup on some other phone, would you like me to import this backup?" then we will perhaps have an acceptable replacement for Sync ;) What do you think?

Owner

mvysny commented Aug 25, 2015

Unfortunately Owncloud guys (nor any other cloud service for that matter, now including Dropbox, as the Dropbox Sync has been deprecated) do not provide sync libraries - they only provide basic stuff: upload a file, list a directory, ... Proper syncing is quite a delicate work: you need to do syncing only when the phone is connected to the internet, preferably via wifi, also you do not want to sync when the phone is sleeping (in Android terminology, you don't want to hold a wake lock for long, this kills the phone's battery); if the transfer is interrupted, you need to automatically resume the transfer when the phone is awake and you have wifi; if some other phone uploads stuff you need to check for conflicts and resolve them if possible... This is very hard to implement correctly, because of subtle threading issues (all this stuff must work invisible in the background), and is very hard to test. Bugs in this code mean angry customers (nobody wants to lose their data ;).
So, to sum this up: unfortunately, writing Sync myself is next to impossible :( Also, some vendors provide means for automatically syncing a particular directory from their phone - please see #528 for details. Also, on my Cyanogen, there is something called Baton which apparently does the same stuff...
Also, syncing database files is very problematic - they are binary files after all, they tend to change a lot (for example by internal reindexing/rehashing of indices/primary keys/constraints) which makes binary diff syncing very problematic. So, after I switch to the sqlite database, the Sync option would be off the table anyway...
I am very sorry to disappoint you, but it seems that the backup/restore functionality is the only way to go, I'm afraid.
However, perhaps this actually is the way to go ;) Auto-backup is implemented; if I implement automatic notifications, like "hey you have made a new backup on some other phone, would you like me to import this backup?" then we will perhaps have an acceptable replacement for Sync ;) What do you think?

@aliceinwire

This comment has been minimized.

Show comment
Hide comment
@aliceinwire

aliceinwire Sep 1, 2015

so you will add image and drop Dropbox auto-sync? looks good to me. i think we have to document some example on how to auto sync the folder and which folder to auto-sync.
as you said there is already many application for synching folder.

aliceinwire commented Sep 1, 2015

so you will add image and drop Dropbox auto-sync? looks good to me. i think we have to document some example on how to auto sync the folder and which folder to auto-sync.
as you said there is already many application for synching folder.

@mvysny

This comment has been minimized.

Show comment
Hide comment
@mvysny

mvysny Mar 19, 2017

Owner

This is now possible since there is an experimental support for an embedded database. Yet, is this still needed? This feature has been asked for only rarely...
Does Memrise kinda auto-generate an image from an URL, or how exactly does it work?

Owner

mvysny commented Mar 19, 2017

This is now possible since there is an experimental support for an embedded database. Yet, is this still needed? This feature has been asked for only rarely...
Does Memrise kinda auto-generate an image from an URL, or how exactly does it work?

@mvysny

This comment has been minimized.

Show comment
Hide comment
@mvysny

mvysny Jun 18, 2017

Owner

Closing as there has been no activity; please feel free to reopen if this is still needed.

Owner

mvysny commented Jun 18, 2017

Closing as there has been no activity; please feel free to reopen if this is still needed.

@mvysny mvysny closed this Jun 18, 2017

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment