Re: [Apertium-stuff] Apertium for Android version 1.0 soon to be released

2012-12-28 Thread Jacob Nordfalk
2012/12/27 Xavi Ivars x...@infobenissa.com


 In the end I resolved to fuse the code into 5 classes where there is no
 databases involved.

 Clear now.

 Anyway, I would create different apps, or maybe one main activity and
 make it remember your preferred option (simple or advanced). Having two
 different icons when installing an app, both icons having the same name
 and logo, and both opening an almost identicall (from UI perspective) app
 is quite confusing.


Yes, you are right of course. Sorry for the confusion!

Here's what I propose


We create 2 apps.

A) A simple to understand 'Apertium basic' app which have only internet
permissions - for the paranoid security concerned guys, which can turn
internet off while using the app.
It does not have SD card access. Users can only install pairs listed in
https://apertium.svn.sourceforge.net/svnroot/apertium/builds/language-pairs.
(Ive investigated in depth whether we could do without internet permission
and let the user download pairs in the browser, but the browser stores
downloads on SD card so we wouldnt be able to access the data after
download)

B) A complex 'Apertium extended' app for the casual user that doesent care
about giving permissions for reading SMSses, internet access, reading SD
card etc etc.
Here we have an SD card browser Arink has made, which can be used for
manually installing home-brewn pairs. Arink and others can freely add fancy
stuff, like accessing your accounts for translating email or something,
surf and translate interception, NFC or whatever they like


The 'extended' will use the 'basic' as library so they share code base.


Jacob

-- 
Jacob Nordfalk http://profiles.google.com/jacob.nordfalk
javabog.dk
Androidudvikler og -underviser på
IHKhttp://cv.ihk.dk/diplomuddannelser/itd/vf/MAUog
LundBendsen https://www.lundogbendsen.dk/undervisning/beskrivelse/LB1809/
--
Master HTML5, CSS3, ASP.NET, MVC, AJAX, Knockout.js, Web API and
much more. Get web development skills now with LearnDevNow -
350+ hours of step-by-step video tutorials by Microsoft MVPs and experts.
SALE $99.99 this month only -- learn more at:
http://p.sf.net/sfu/learnmore_122812___
Apertium-stuff mailing list
Apertium-stuff@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/apertium-stuff


Re: [Apertium-stuff] Apertium for Android version 1.0 soon to be released

2012-12-26 Thread Kevin Brubeck Unhammer
Jacob Nordfalk jacob.nordf...@gmail.com
writes:

 2012/12/25 Kevin Brubeck Unhammer
 unham...@fsfe.org

 Xavi Ivars x...@infobenissa.com writes:
 
  In all 3 devices I got the bug of two icons in the app
 launcher.
 

 The two Apertium icons were the two versions: Arinks work, and a more
 simple derivative where code from Mikels 'Apertium-Caffeine' is fused
 with Arinks code and simplified a lot. 

Ah, that cleared up a lot :-)

 Arinks is the more sophisticated, i.a. is has two seperate buttons for
 from and to where the simple just have one Choose languages
 button. But with sophistication also comes completity; Arinks code is
 using databases and contains of ~25 classes and, as a result of the
 sophistication, will be hard to use as example code for others to
 follow/import into their own projects. 

 Another consequence of the complexity was that I had trouble making it
 react robustly to screen turning and application restarts. 

 In the end I resolved to fuse the code into 5 classes where there is
 no databases involved.

:)


 on second startup the translation direction said from → to,
 
  

 where clicking the arrow gave There is no language direction from
 from to to, and clicking to gave the heading Translated
 to
 and no language. Only clicking from has an effect. Perhaps the
 buttons should be grayed out or something when they're not
 useful.
 
 Also, a little UI request: if there's only one possible direction,
 it
 would make sense to auto-pick that; and if there's only one
 possible
 to for a certain from, that should be auto-picked on selecting
 that
 from.
 


 This is Arink's code. Sorry for the confusion!
 Please update the app or choose the other icon. 
 From inside the basic activity you can choose 'Show extended example'
 after pressing the MENU button to use Arink's code.

  

 
  About the permissions, what I would do is try to require as few
  permissions as possible.
 
 
 I mostly agree (either see what feature requests people make, or
 at
 least have a simple base that others can build on). I think SD
 card
 installation would be good though; on my Desire I had to remove
 some
 stuff before being able to install. The app does 1) work well on
 older
 phones and 2) work without a net connection, so I'm guessing SD
 install
 would make it fit well into the older-phone-market (as well as
 work
 great on newer phones).
 

 Ive changed the app so it can be moved to SD card. This might make it
 work on older phones with memory constraints.

 Could you download again and try if you can move it to SD card and see
 if it helps?
 https://apertium.svn.sourceforge.net/svnroot/apertium/builds/apertium-android/

I'm not quite sure how to read the space requirements:

On phone, no lang.pair:
Total 2.05MB
App 2.05MB
Data 0.00KB

On SD Card, no lang.pair:
Total 1.65MB
App 1.64MB
Data 4.00KB

On phone, one lang.pair:
Total 9.93 MB
App 2.05MB
Data 7.88MB

On SD Card, one lang.pair:
Total 9.52 MB
App 1.64MB
Data 7.88MB

-- 
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


Re: [Apertium-stuff] Apertium for Android version 1.0 soon to be released

2012-12-26 Thread Arink Verma
Wow! so much of work..
Sorry, I was busy with some university sport events.

App working fine on my Galaxy y.


 Arinks is the more sophisticated, i.a. is has two seperate buttons for
 from and to where the simple just have one Choose languages
 button.


That is because of a reason, instead of populating list with all available
translations directions, its better to fill from and to with languages




In the end I resolved to fuse the code into 5 classes where there is no
 databases involved.

Means there will be no desktop widgets shortcuts


where clicking the arrow gave There is no language direction from
 from to to, and clicking to gave the heading Translated to
 and no language. Only clicking from has an effect. Perhaps the
 buttons should be grayed out or something when they're not useful.

That can be done..

its good to have minimal featured app but, desktop widgets and similar UI
is good for user experience.



Arink
Computer Science and Engineering
Indian Institute of Technology Ropar
www.arinkverma.in
--
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


Re: [Apertium-stuff] Apertium for Android version 1.0 soon to be released

2012-12-25 Thread Kevin Brubeck Unhammer
Xavi Ivars x...@infobenissa.com writes:

 Hi,


 I've tested it with two old (SonyEricsson Xperia X10 mini and
 Samsung Galaxy S) mobiles and a Nexus7 tablet.

 With the Nexus7 = awesome! But not many differences with the old
 verision. I guess 2Gb of RAM make this feature not as important as in
 other older devices.

 With the GalaxyS = really-really-really awesome! The difference
 between this version and the last one that loaded the whole files is
 really big. The translations are really fast, including the first one.

 With the X10 mini = I couldn't install any package. I got some space
 errors (the device has a really small storage). Also, because of bad
 data connectivity, there was an IOException while downloading the lang
 package, and the expection message was shown in the target
 textarea. 

 In all 3 devices I got the bug of two icons in the app launcher.

 As Kevin, I think I would remove all the metainformation about the
 translation process.

Another thing I noticed now (I think this may have been a problem before
too): on second startup the translation direction said from → to,
where clicking the arrow gave There is no language direction from
from to to, and clicking to gave the heading Translated to
and no language. Only clicking from has an effect. Perhaps the
buttons should be grayed out or something when they're not useful.

Also, a little UI request: if there's only one possible direction, it
would make sense to auto-pick that; and if there's only one possible
to for a certain from, that should be auto-picked on selecting that
from.

 About the permissions, what I would do is try to require as few
 permissions as possible.

I mostly agree (either see what feature requests people make, or at
least have a simple base that others can build on). I think SD card
installation would be good though; on my Desire I had to remove some
stuff before being able to install. The app does 1) work well on older
phones and 2) work without a net connection, so I'm guessing SD install
would make it fit well into the older-phone-market (as well as work
great on newer phones).

 Anyway, THANKS A LOT Jacob for your work with this app. 

Yes, thanks Jacob – and Mikel and Arink; offline translation on a phone
is quite awesome :-)

-- 
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


Re: [Apertium-stuff] Apertium for Android version 1.0 soon to be released

2012-12-24 Thread Xavi Ivars
Hi,

I've tested it with two old (SonyEricsson Xperia X10 mini and Samsung
Galaxy S) mobiles and a Nexus7 tablet.

With the Nexus7 = awesome! But not many differences with the old verision.
I guess 2Gb of RAM make this feature not as important as in other older
devices.

With the GalaxyS = really-really-really awesome! The difference between
this version and the last one that loaded the whole files is really big.
The translations are really fast, including the first one.

With the X10 mini = I couldn't install any package. I got some space
errors (the device has a really small storage). Also, because of bad data
connectivity, there was an IOException while downloading the lang package,
and the expection message was shown in the target textarea.

In all 3 devices I got the bug of two icons in the app launcher.

As Kevin, I think I would remove all the metainformation about the
translation process.

About the permissions, what I would do is try to require as few permissions
as possible.

Anyway, THANKS A LOT Jacob for your work with this app.
-- 
 Xavi Ivars 
 http://xavi.ivars.me 
--
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


Re: [Apertium-stuff] Apertium for Android version 1.0 soon to be released

2012-12-24 Thread Mikel Forcada
Al 12/24/2012 08:06 PM, En/na Xavi Ivars ha escrit:
 In all 3 devices I got the bug of two icons in the app launcher.
Me too in a Samsung Galaxy Tab 2.

Mikel

-- 
Mikel L. Forcada (http://www.dlsi.ua.es/~mlf/)
Departament de Llenguatges i Sistemes Informàtics
Universitat d'Alacant
E-03071 Alacant, Spain
Phone: +34 96 590 9776
Fax: +34 96 590 9326


--
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


[Apertium-stuff] Apertium for Android version 1.0 soon to be released

2012-12-22 Thread Jacob Nordfalk
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-Caffeinehttp://wiki.apertium.org/wiki/Apertium-Caffeineand
a one-click
installer for trying out language
pairshttp://wiki.apertium.org/wiki/Language_pair_packages#List_of_ready-to-use_packages

- Arink Verma wrote an Apertium
Androidhttp://www.arinkverma.in/2012/08/summer-of-2012-with-google.htmlapp
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)

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=42121you
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

-- 
Jacob Nordfalk http://profiles.google.com/jacob.nordfalk
javabog.dk
Androidudvikler og -underviser på
IHKhttp://cv.ihk.dk/diplomuddannelser/itd/vf/MAUog
LundBendsen https://www.lundogbendsen.dk/undervisning/beskrivelse/LB1809/
--
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