Does it mean that ASE has all of the libraries libanki needs?
Can it be packaged as an normal Android application, or does it
require anything tricky that can not be done with an APK deployment?
Does it require anything that a normal user would not do? For instance
ankimini requires users to jailbreak their iPhone.
I'm really looking forward to your write up :-D
Cheers!
Nicolas.
Why not define a HOME instead?
> Question: Is it ok for the server to be killed? I know the sqlite db
> has journaling, just wondering since on android the os will kill your
> app for you if it needs memory.
Killing the app or shutting down your device should be safe, provided
Android's fsync() is reliable.
So what does this all mean for us? Are we just wasting our time
developing Ankidroid now that the functionality is already in
Ankimini?
Regards,
Daniel
Ditto
> We've also had questions about integration with Python for a while. We
> obviously want a smooth install process for most users (meaning a simple
> install through the market), so we've had a few separate efforts between
> Java and Python, with the hope that we eventually converge on a solution
> that takes advantage of Damien's work while providing a simple Android
> experience.
I wholeheartedly agree with this. I'm against the idea of maintaining
a separate Java SRS in parallel to Anki. Out of all of us Damien is
the only proven reliable constant, so I think it makes sense to depend
on his code as much as possible. Otherwise we could end up with a
really great half implemented SRS on Java, or a great implementation
now.. but a couple years from now when no one is available to fix the
Java library and Damien has matured libanki even more we'd be stuck
with a poor Anki imitation.
Of course I don't think it is possible to bundle everything we need in
the APK at the moment, nor do we know if it ever will be, so working
on a java version of libanki could be the only solution.
> Now would be a good time to debate this. Keep in mind I don't actively add
> code, so my opinion matters very little :)
The same goes for me. Take everything I say here with the knowledge
that I can't actively contribute for the time being.
> I think the next cool thing to do would be to try to use the native
> development kit to somehow include Python in the main apk. If possible,
> installing it on to the sdcard (including all of the libs and scripts, and
> even Python itself, if possible). While this would be bulky, it would be the
> best medium-term solution to code reuse and Android UI. ASE is open source,
> so a lot of the work is probably done for us already.
This would be nice, but I suspect it is very difficult, if not nigh
impossible at the moment.
Just FYI: Everyone knows that iAnki works with android? So for some
this will be fine until the python java branches converge.
Casey
Yes, but how to get ankimini running in a package straight from the
market? That is the main issue.
Personally, I'm not investing more time into Anki on Android, because
of the lack of Arabic support in the WebView. I've mucked around with
generating images from the text, but haven't been able to accurately
reproduce the Arabic text in an image.
Casey
To summarize, here are the different ways to study on Android:
- Native application
- ankimini (libanki + embedded server + web UI)
- AnkiOnline ( http://anki.ichi2.net )
- iAnki (same concept as AnkiOnline, but server is on your home PC)
If you know any other way, please share your knowledge :-)
The native application's SRS and synchronization features could reuse
libanki in the future (and using JSON is a bright idea for this), but
a number of problems have to be overcome. The biggest problem was
getting all the libraries to work, many thanks to Brian for his work
on this! Another problem is to make installation straightforward for
the average cellphone user, which means a click in the Market. I
didn't look at this so I don't know much... Edu maybe you could check
and evaluate the feasibility of integrating libanki and Ankidroid in
an APK?
Months ago, when I looked at ASE, it looked like it was not intended
to be used by applications, but rather a way to write scripts to test
things on-the-fly. I had a feeling that somehow Google wants
developers to use Dalvik (Java) and was not enthusiastic about people
using Python for Android. And even now, the last paragraph of ASE's
homepage makes it look like it's not for writing applications. It
would not be too surprised if Google suddenly did something that
breaks ASE's way of working. Not to say that ASE is not great, but I
feel a bit apprehensive about totally relying on it.
Right now ASE is not yet available in the Market, it requires the user
to download and APK and install it, which might be easy for a hundred
of us, but clearly out of reach for most of our 1500+ users. I don't
see this problem resolved before a few months at least. Meanwhile, how
about an application that would use libanki if detected, and Java SRS
if not? That would mean top-notch SRS for the happy fews, and
as-good-as-we-can Java SRS for all of the other Ankidroid users?
Cheers,
Nicolas Raoul.
> Meanwhile, how
> about an application that would use libanki if detected, and Java SRS
> if not? That would mean top-notch SRS for the happy fews, and
> as-good-as-we-can Java SRS for all of the other Ankidroid users?
That is a good idea, and think the key would be to abstract the UI
from the underlying SRS implementation, so we don't run into any
headaches down the road. Theoretically, it would be nice to be able to
plugin a native python libanki, java SRS, or even ankimini, with the
same GUI with minimal plumbing changes.
Casey