Jacob Nordfalk <jacob.nordf...@gmail.com>
writes:

> During Google Summer of Code we had two great students working hard to
> enable Apertium into the mobile world:
>
> - Mikel Artetxe did a great job making lttoolbox-java embeddable,
> spinning off a lot of good stuff, such as Apertium-Caffeine and a
> one-click installer for trying out language pairs
>
> - Arink Verma wrote an Apertium Android app using lttoolbox-java, that
> allows the user to do off-line, in-phone translation using Apertium 
>
>
> As could and should be expected after any GSoC where was work left to
> do. 
>
> In this case the app was suffering from memory constraint problems; in
> Android you are allowed to use down to 16MB of RAM, a situation that
> needed to be handled properly before it would work properly across all
> devices. Those of you that tested the previous versions can confirm
> that.
> After the GSoC I have been continuing optimizing, simplifying and
> unifying the code and I am proud to present a fresh version of
> lttoolbox-java that can run on a very tiny amount of RAM and which is
> faster than ever, deployed in the world's first open source offline,
> embedded in-device machine translation system, as an Android app.
>
> Download and install it from here:
> https://apertium.svn.sourceforge.net/svnroot/apertium/builds/apertium-android/
>
> The app has been tested and runs on Android 1.6 and later. 
> I would like to ask every one with an Android phone to install this
> app and jugde if there are any things that needs to be done before we
> publish it.
> (You have to enable 'install from unknown sources' first and uninstall
> previous versions)

This might be because of the non-official install method, but when I've
clicked "install" and get the choice "Åpne" or "Ferdig", if I click
"Åpne", I instead get a message saying

    Fullfør med
    -----------------------------
    Ingen applikasjoner kan gjøre
    dette.
    [ ] Bruk som standardvalg.

And when I click the home-button and open the app list, there are two
apertium's. Both of them seem to open the Apertium app the same way.
Uninstalling one removes both.

(I'm running 2.6.37.6-canogenmod-geb50077 (Android 2.3.7) on an old HTC
Desire.)

Otherwise downloading a language pair and translating works great so
far.

I'm not sure we should show "apertium-postchunk" etc in the output
window though … (it disappeared when it was done translating, just
flashed by)

> Please note that first translation run is slow, as it needs to index
> files, and optimize transfer bytecode. 
>
>
> How was the lttoolbox-java 'memory magic' done? Well, it's called
> memory mapping. Apertium mainly consists of transducers, which is big
> chunks of memory with a binary representation of the dictionary files.
> lttoolbox and old lttoolbox-java does the 'usual' thing: Load all
> these transducers at startup time, pre-builds data structures in
> memory representing the whole file, and keeps them there in memory
> during processing. 
> The new lttoolbox-java indexes the files in the first run and saves
> these transducer index cache files for re-use later.
> After first run it only loads the parts of the transducers which it
> needs from disk. This brings loading time down to near zero
> (lttoolbox-java is much faster at loading transducers than lttoolbox).
> Loading is done by memory-mapping, which is a sophisticated way of
> doing random file access; you get a chunk of memory which represent
> the file, each time you read bytes the operating system will make that
> this part of the file has been loaded into memory and free the memory
> afterwards when not needed anymore. Basically, instead of prebuilding
> the data structures, I just look in the files on a per-needed basis. 
> This is much faster as translation tasks are only using a tiny
> fraction of the transducers.
>
>
>
> The source is in SVN, and you can get an impression of the work
> looking there:
> lttoolbox-java:
> http://apertium.svn.sourceforge.net/viewvc/apertium/trunk/lttoolbox-java/src/?
> view=log 
> Android app: 
> http://apertium.svn.sourceforge.net/viewvc/apertium/trunk/apertium-mobile/apertium-
> android/src/?view=log
>
> Ive done a lot of work on simplifying the app to make it robust and
> adoptable. In the directory
> http://apertium.svn.sourceforge.net/viewvc/apertium/trunk/apertium-mobile/apertium-
> android/src/org/apertium/android/?pathrev=42121 you see my unification
> and simplification. In the package 'extended' is Arink's work
> (modified), which includes som extended functions, such as a widget,
> SMS translator, database, file manager.
>
>
> I'd like to ask you what you think about permissions and
> functionality: 
>
> Should the Apertium app we publish be a basic app, simple for others
> to adopt, requring no permissions (apart from internet permission to
> download pairs), or a full-blown app able to access your SMSes and SD
> card? Currently the app requires permissions to read your SMS'es and
> the data on your SD Card.
> SD Card access would be nice for manual installation of self-compiled
> language pairs (but would you really deploy unpublished work in your
> phones?) and for storing language pairs (each one takes ~10MB when it
> is uncompressed - but how many would a user install?).
>
> Yours,
> Jacob

-- 
Kevin Brubeck Unhammer

GPG: 0x766AC60C


------------------------------------------------------------------------------
LogMeIn Rescue: Anywhere, Anytime Remote support for IT. Free Trial
Remotely access PCs and mobile devices and provide instant support
Improve your efficiency, and focus on delivering more value-add services
Discover what IT Professionals Know. Rescue delivers
http://p.sf.net/sfu/logmein_12329d2d
_______________________________________________
Apertium-stuff mailing list
Apertium-stuff@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/apertium-stuff

Reply via email to