Skip to content
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

Integrate with language learning courses #48

Open
chris838 opened this issue Oct 3, 2015 · 8 comments
Open

Integrate with language learning courses #48

chris838 opened this issue Oct 3, 2015 · 8 comments

Comments

@chris838
Copy link
Contributor

chris838 commented Oct 3, 2015

Currently I'm scraping vocabulary lists from my iKnow course and pasting them into the user-defined translations page. What I would really like to do is have this integrated into the app (I use iKnow but other services like Duolingo etc. could be supported).

This could potentially be a significant departure from the core app - I'm considering pursuing this in my own fork.

@ceilican
Copy link
Contributor

ceilican commented Oct 3, 2015

Wouldn't it be possible to add iKnow, Duolingo and other services as alternatives to Google Translate and Yandex? Besides allowing the user to choose "Use Google Translate..." and "Use Yandex..." when creating a new translation configuration, we could allow him/her to choose "Use iKnow's vocabulary list..." or "Use Duolingo's vocabulary list...".

If this idea gets implemented in this way, I think it wouldn't be a significant departure from the core app. And this makes me wonder: how were you thinking to implement this idea? Why do you think it would be a significant departure?

@ceilican
Copy link
Contributor

ceilican commented Oct 3, 2015

Here is a related idea: #49 .

@ceilican
Copy link
Contributor

ceilican commented Oct 3, 2015

Wouldn't it be possible to add iKnow, Duolingo and other services as alternatives to Google Translate and Yandex? Besides allowing the user to choose "Use Google Translate..." and "Use Yandex..." when creating a new translation configuration, we could allow him/her to choose "Use iKnow's vocabulary list..." or "Use Duolingo's vocabulary list...".

Perhaps this would only be appropriate if the vocabulary lists were produced and kept by those language learning services. If the vocabulary list is produced by the user of these services, then perhaps it would be better to have an advanced option, where the user can select to use his list stored in another service instead of user the user-defined list in the advanced options page.

@ceilican
Copy link
Contributor

ceilican commented Oct 3, 2015

We should be careful not to make MindTheWord too reliant on possibly unreliable and frequently changing external services, because this greatly increases maintenance effort. (For example, when Google Translate suddenly started blocking MindTheWord when too many translation requests were submitted, it was necessary to quickly start supporting Yandex as an alternative.)

@chris838
Copy link
Contributor Author

chris838 commented Oct 5, 2015

We should be careful not to make MindTheWord too reliant on possibly unreliable and frequently changing external services

Yeh I agree with this. My favorite learning app is iKnow, but they unfortunately don't have an API - which makes integration even more prone to breaking in future. I see that Duolingo also don't have an official API (unofficial one available here: https://github.com/KartikTalwar/Duolingo).

@chris838
Copy link
Contributor Author

chris838 commented Oct 5, 2015

And this makes me wonder: how were you thinking to implement this idea? Why do you think it would be a significant departure?

I need to think about it some more - but here's what I'm imagining. I open the app and select my language learning service from a list of those supported (Duolingo, iKnow etc.). The app then generates a translation map based on the courses I'm learning. As I expand my knowledge in iKnow each new word I start learning automatically gets pulled into MindTheWord. Hitting Google Translate or Yandex is not necessary.

A huge problem is that automagically generating the translation map is not trivial. Currently I have to manually tweak my list to remove certain words (this, that, and, be etc.).

@chris838
Copy link
Contributor Author

chris838 commented Oct 5, 2015

Wouldn't it be possible to add iKnow, Duolingo and other services as alternatives to Google Translate and Yandex

Yeh I also thought something along these lines. Perhaps select "User defined only" instead of Google Translate and Yandex. This would replace the checkbox on the advanced settings page.

@ceilican
Copy link
Contributor

I need to think about it some more - but here's what I'm imagining. I open the app and select my language learning service from a list of those supported (Duolingo, iKnow etc.). The app then generates a translation map based on the courses I'm learning. As I expand my knowledge in iKnow each new word I start learning automatically gets pulled into MindTheWord. Hitting Google Translate or Yandex is not necessary.

This sounds good, though non-trivial... If you find an easy and robust way to implement it, feel free to go ahead!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants