Difference between revisions of "Android/Gecko"

Jump to navigation Jump to search
m
minor language fixes
m (minor language fixes)
Line 1: Line 1:
[[image:android.jpg|right|150px|Android logo]]
[[image:android.jpg|right|150px|Android logo]]


Always more people use [https://secure.wikimedia.org/wikipedia/en/wiki/Smartphone smartphones] as medium for their digital life. This is especially the case in emerging countries which are targeted by Kiwix. We think [https://secure.wikimedia.org/wikipedia/en/wiki/Android_%28operating_system%29 Android] will be the most important mobile platform in the next years, especially for the cheapest devices. Android is in addition, [http://www.fsf.org/news/2010-05-app-store-compliance to the opposite of the Apple app. store], open to free softwares. Consequently our next big step, is to port Kiwix to Android.
Ever more people use [https://secure.wikimedia.org/wikipedia/en/wiki/Smartphone smartphones] as a medium for their digital life. This is especially the case in emerging countries, which are targeted by Kiwix. We think [https://secure.wikimedia.org/wikipedia/en/wiki/Android_%28operating_system%29 Android] will be the most important mobile platform in the next years, especially for the cheapest devices. Android is in addition, [http://www.fsf.org/news/2010-05-app-store-compliance unlike the Apple AppStore], open to free software. Consequently, our next big step is to port Kiwix to Android.


The [http://www.wikimedia.org Wikimedia Fundation] is really interested in the Android Version and grants the development of this port.
The [http://www.wikimedia.org Wikimedia Fundation] is really interested in the Android version and financially supports the development of this port.


We focus on tablets because this seems to be there where Kiwix can help a lot, especially in India, but the software should also run on smartphones an we will do our best in that way.
We focus on tablets because this seems to be there where Kiwix can help a lot, especially in India, but the software should also run on smartphones and we will do our best in that way.


== Technology ==
== Technology ==


We do not want to start an other software which would generate a lot of additional code to develop and maintain. So, current Kiwix code base has to be reused and ported. Kiwix runs currently with the help of [https://developer.mozilla.org/fr/xulrunner Xulrunner], but it can also runs perfectly using Firefox. [https://developer.mozilla.org/en/getting_started_with_xulrunner#Alternative.3a_Use_Firefox3_-app_to_run_XUL_apps Firefox can since version 3 is able to launch third party software], like Kiwix. [https://wiki.mozilla.org/Fennec Fennec], Firefox for mobiles, was launched a few month ago for Android, so we hope that Kiwix could be ported to Android using Fennec or something similar (see [http://joliclic.free.fr/blog/index.php?category/mozilla this example]).
We do not want to start a separate project, which would generate a lot of additional code to develop and maintain. So, the current Kiwix code base has to be reused and ported. Kiwix runs currently with the help of [https://developer.mozilla.org/fr/xulrunner Xulrunner], but it also runs perfectly using Firefox. [https://developer.mozilla.org/en/getting_started_with_xulrunner#Alternative.3a_Use_Firefox3_-app_to_run_XUL_apps Firefox can since version 3 launch third party software], like Kiwix. [https://wiki.mozilla.org/Fennec Fennec], Firefox for mobiles, was launched a few month ago for Android, so we hope that Kiwix could be ported to Android using Fennec or something similar (see [http://joliclic.free.fr/blog/index.php?category/mozilla this example]).


== Challenges ==
== Challenges ==
One difficulty is that Android devices have [https://en.wikipedia.org/wiki/ARM ARM] CPUs. So we need to cross-compile Kiwix for ARM on GNU/Linux. We use that it's possible to cross-compile Firefox Mobile ; we also know that part of our code can compiles for ARM because we have ported kiwix-serve... but we never did it for the whole software.
One difficulty is that Android devices have [https://en.wikipedia.org/wiki/ARM ARM] CPUs. So we need to cross-compile Kiwix for ARM on GNU/Linux. We know that it's possible to cross-compile Firefox Mobile; we also know that part of our code compiles for ARM because we have ported kiwix-serve... but we never did it for the whole software.


Porting a Xulrunner application to Android is not documented and it seems we are one of the first projects trying to do that. Here are three different approaches:
Porting a Xulrunner application to Android is not documented and it seems we are one of the first projects trying to do that. Here are three different approaches:
23

edits

Navigation menu