Difference between revisions of "Projects"
Line 9: | Line 9: | ||
Always more people use [https://secure.wikimedia.org/wikipedia/en/wiki/Smartphone smartophones] 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. | Always more people use [https://secure.wikimedia.org/wikipedia/en/wiki/Smartphone smartophones] 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. | ||
We do not want to start an other software which would generate a lot of additional code develop and | 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 need for this task someone with good knowledges in C++, compilation and with know-how in porting C++ softwares to Android. Someone with enough motivation to build a prototype of XUL (with custom C++ XPCOM components) application running on Android could also match the requirements. | We need for this task someone with good knowledges in C++, compilation and with know-how in porting C++ softwares to Android. Someone with enough motivation to build a prototype of XUL (with custom C++ XPCOM components) application running on Android could also match the requirements. |
Revision as of 20:34, 6 July 2011
The Kiwix volunteers program has for purpose to offer to motivated and talented people ways to work for Kiwix during a limited time.
Tasks
Kiwix for Android
Always more people use smartophones as medium for their digital life. This is especially the case in emerging countries which are targeted by Kiwix. We think Android will be the most important mobile platform in the next years, especially for the cheapest devices. Android is in addition, to the opposite of the Apple app. store, open to free softwares. Consequently our next big step, is to port Kiwix to Android.
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 Xulrunner, but it can also runs perfectly using Firefox. Firefox can since version 3 is able to launch third party software, like Kiwix. 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 this example).
We need for this task someone with good knowledges in C++, compilation and with know-how in porting C++ softwares to Android. Someone with enough motivation to build a prototype of XUL (with custom C++ XPCOM components) application running on Android could also match the requirements.
Sugar port
Sugar is a Desktop environment thought for kids. It's especially known to be provided in XO computers of the One Laptop Per Child (olpc) project. Because Kiwix is developed on GNU/Linux like Sugar, there is no principle problem to run Kiwix on Sugar... but they are still things to do.
The first difficulty is that Kiwix should be compiled statically (in a Sugar activity), which is currently not fully finished for GNU/Linux... although is already works for MS Windows and MacOSX.
The second difficulty is to integrate Kiwix in Sugar, that means:
- Redesign the User Interface with XUL and CSS
- Create the activity
- Deal with the journal and such specific Sugar things
For that task we need a developer with Know-How both with Sugar and GNU Autotools.
Collect informations about our audience
As Kiwix grows more in popularity it would be really nice to tell the stories of the organizations that are using it. If we know who's using it then we can ask those people to let us know how we can make it better. It would also allow us to better understand the reach that our offline projects and how fast we are improving us.
Currently with think in the following directions:
- Get more informations about the downloads and develop KPIs
- Setup a system to allow user to give us a feedback (see Tomasz's email)
- Improve/simplify bug reporting and feature requesting (being able to leave an email adress without registering, simplier).
New Web site
We need to replace the current web site by a more simple and fancy one. The current one is too complicated for the average customer and mix informations for devs and end users. In addition it does not provide some features which are essentials like a simple an intuitive way to search over the ZIM library or a simple way to give a feedback (bug report or feature request). So there is a lot of improvement potential in both content and visuals.
This new one should be based on Mediawiki and we already have a design. The wiki part, like we know it, would be still accessible but not push on the front of the Web site. So we need someone we good PHP & Web languages knowledges to do that.
See also http://paulgu.com/wiki/Drop_Down_Menu_Series
Compilation Platform
Kiwix is currently ported to 3 different platforms: MS Windows, Apple MacOSX and GNU/Linux. In addition, and this has to be kept in mind, they are many GNU/Linux distributions and also two architectures per platform. So we speak here of 10->20 files we have to prepare each time we release a new version of Kiwix.
We currently do that manually and because we do not have a lot of packagers, most of the work is done by developers... by hand. We support always more platforms, so this takes always more time and consequently brakes the whole release management. In addition, doing that manually is a big source of errors.
So we search someone to build a global software solution to fix that issue. This solution should allow to build all this files with only a few clicks or commands. This Solution should be fully documented and as cheap as possible. We think this should use virtual machines to avoid the need of a lot of expensive hardware. Our first researches were leading to Mozilla Tinderbox which seems to be the best alternative (but if you have a better idea, we are ready to discuss it):
- https://developer.mozilla.org/en/Tinderbox
- https://wiki.mozilla.org/Tinderbox:Tbox3_Setup
- http://www.johnkeiser.com/mozilla/tbox3.html
But, maybe BuildBot or Jenkins could also do the job!
We search here someone with good knowledge in compilation, scripts languages like Perl and/or bash to setup and document this platform.
Bug fixing and new features
Mediawiki ZIM building solution
Fix Mediawiki DumpHTML extension
The Mediawiki DumpHTML extension is the solution to export hte dynamic generated HTML pages in a set of static HTML/Media files. This extension is the best way to get a good set of HTML pages from a Mediawiki (in comparison with a Web site mirroring tool for example).
Unfortunately, this extension is not correctly maintained and with the time many issues were discovered. Currently, the extension is not really usable without fixing/tweaking the code.
The purpose of this work package is to fix the most critical bugs that everyone having a Mediawiki would be able to simply get a HTML dumps of his content and consequently easily generate a ZIM file.
Kiwix plug
See Plug solution.
Open positions
6 months internship
We search a volunteer/intern for a duration of 6 months. This intern would help us to work on one or many of the task already listed on this page. Location is Bamako (Mali).
Profile:
- Engineer student or junior
- Experienced free software developer
Skills:
- English speaking (French an advantage)
- C++ / Perl / Php
- Web languages
- GNU Compilation tools