Difference between revisions of "Projects"

From Kiwix
Jump to navigation Jump to search
m (Reverted edits by Mbcrq6fhj (talk) to last revision by Macofe)
(55 intermediate revisions by 5 users not shown)
Line 1: Line 1:
{{translations}}
<translate><!--T:1-->
The Kiwix '''volunteers program''' offers motivated and talented people ways to work for Kiwix during a limited time.  Contributors can speak English, French, or German.  Technical volunteers should know JavaScript, CSS, or other web languages, or C++.
The Kiwix '''volunteers program''' offers motivated and talented people ways to work for Kiwix during a limited time.  Contributors can speak English, French, or German.  Technical volunteers should know JavaScript, CSS, or other web languages, or C++.
</translate>


== Tasks ==
<translate>== Tasks == <!--T:2-->
</translate>


=== Kiwix for Android ===
== [https://phabricator.wikimedia.org/T73660 (re)-Introduce ZIM support in MediaWiki Book creator/OCG] ==


[[image:android.jpg|right|150px|Android logo]]
<translate><!--T:3-->
[https://www.mediawiki.org/ MediaWiki] is the wiki engine behind [https://www.wikipedia.org Wikipedia], all [https://www.wikimedia.org/ Wikimedia projects] and thousands other Web sites. It's a cutting edge free software providing highly featured web sites that anybody can edit. MediaWiki hosted content can be made available for offline usage through the [https://www.mediawiki.org/wiki/Extension:Collection Collection extension] (written in PHP). The Collection extension allows to easily create collection/selection of articles: so called books ; here is [https://en.wikipedia.org/w/index.php?title=Special:Book how it works on the English Wikipedia]. Once created, books can be exported in PDF format. The PDF exporting backend itself is not provided by the Collection extension, it's done with a JavaScript based solution called [https://www.mediawiki.org/wiki/Offline_content_generator OCG]. OCG is a NodeJS daemon able to transform a book definition in a PDF and it should be able to do the same in the ZIM format. The [http://www.openzim.org ZIM format] allows to store web pages (with images, videos, etc...) in one extremely compressed file. These pages are then available to read on most computers with a reader like [http://www.kiwix.org Kiwix]. A [https://github.com/cscott/mw-ocg-zimwriter stub of solution] has already been written and the [https://sourceforge.net/p/kiwix/other/ci/master/tree/mwoffliner/ MWOffline] is already functional. This [https://phabricator.wikimedia.org/T73660 task] is mostly about merging them.
</translate>


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.
=== [[phpzim]] (assigned) ===


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]).
== Promotional video (assigned) ==
Look [[Video|here]] for more details.


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.
<translate>=== Testing platform === <!--T:4-->
We need a solution to test automatically Kiwix. We have currently nothing... so we start from scratch!
</translate>


=== Sugar port (Assigned) ===
<translate>=== Wikipublish === <!--T:5-->
[[File:Xo.jpg|right|150px|XO computer]]
</translate>


[http://www.sugarlabs.org/ Sugar] is a Desktop environment thought for kids. It's especially known to be provided in [http://laptop.org/en/laptop/ XO computers] of the [http://one.laptop.org/ 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.
<translate><!--T:6-->
Create a publication platform, a Web site online similar to iTunes which would provide the list of available contents to download in ZIM, EPUB, .... also offer to see the book before downloading it.
</translate>


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.
<translate><!--T:7-->
* [http://meta.wikimedia.org/wiki/Offline_Projects/Library/Wikipublish#Volunteers Want to know more...]
* Add support of EPUB in Kiwix
</translate>


The second difficulty is to integrate Kiwix in Sugar, that means:
<translate>=== OSM === <!--T:8-->
* Redesign the User Interface with XUL and CSS
Make a proof of concept of a ZIM file providing a map using OSM data and a tool like [http://openlayers.org/ openLayer].
* Create the activity
</translate>
* 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.
<translate>=== Improve P2P support === <!--T:9-->
* Fix Mirrorbrain to [http://mirrorbrain.org/issues/issue92 integrate torrent links in mirrorbrain]
* Fix Mirrorbrain to [http://mirrorbrain.org/issues/issue83 support fallback torrent trackers in .torrent files]
* Add a way to exchange library and content on a local network (for example, using "bonjour" & BitTorrent DHT)
</translate>


Follow the implementation on [[Black&White Project/Kiwix for Sugar|this page]].
=== [[Linux Packaging project]] (assigned) ===


=== Collect informations about our audience ===
<translate>=== Ambassador Program === <!--T:10-->


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.
<!--T:14-->
Create an '''ambassador program'''. '''Ambassadors''' would be special people especially aware about Kiwix and able to help others:
* Spread contents
* Make conferences
* Make advertisement
* Local representative


Currently with think in the following directions:
<!--T:15-->
* Get more informations about the downloads and develop [[KPIs]]
To do that, we should develop a set of tools:
* Setup a system to allow user to give us a feedback (see [http://sourceforge.net/mailarchive/message.php?msg_id=27686926 Tomasz's email])
* Advertisement Package
* Improve/simplify bug reporting and feature requesting (being able to leave an email adress without registering, simplier).
* Ambassador program definition
* Map base on Ushahidi to locate them
</translate>


=== New Web site ===
<translate>==== Starter Kit (Assigned) ==== <!--T:11-->
<gallery>
Perhaps a nice kit would help. You know, like for organizing Linux installation parties[1] or Mozilla's event kits[2] etc., that encourages people, and provides step-by-step guidance and advice, to go and install Kiwix with a relevant offline Wikipedia file in their local no-Internet (or restricted/expensive Internet) school, college, community center, etc.
File:Kiwix.org2 mockup1.png
File:Kiwix.org2 mockup2.png
</gallery>


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
<!--T:16-->
visuals.
Would anyone be interested in working on that?  WMF can contribute funding for some materials -- a Kiwix quick-start guide or cheatsheet, stickers, T-shirts.
[1] http://ladypine.org/installfest.html, http://www.wikihow.com/Arrange-Linux-Install-Party
[2] https://wiki.mozilla.org/Webmaker/Teach/WebmakingResources
</translate>


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.
<translate>== Video == <!--T:12-->
It would be great to have a video (screencast) presenting the software with its most important features.


See also http://paulgu.com/wiki/Drop_Down_Menu_Series
<!--T:17-->
Here is a proposition:
* Presentation slide of the video with slide and authors
* Presentation of the context (Online Wikipedia put offline of a DVD)
* Presentation of the principle of Kiwix and ZIM
* Starting Kiwix
* Open file
* Indexing file
* surfing
* searching
* special features: fullscreen, switch language, font bigger/smaller, random page, etc.
* Finish (present the ZIM availables and how to download them)
</translate>


=== Compilation Platform (Assigned) ===
<translate>== See also == <!--T:13-->
 
* [[{{ll|Participate}}|Participate]]
Kiwix is currently ported to 3 different platforms: MS Windows, Apple Mac OS X and GNU/Linux. In addition, and this has to be kept in mind, there 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.
* [[{{ll|Roadmap}}|Roadmap]]
 
* [[{{ll|Development}}|Development]]
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.
* [https://bugs.kiwix.org Kiwix bugs & feature requests]
 
So we are searching for someone to build a global software solution to fix that issue. This solution should allow someone to build all these 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 [http://trac.buildbot.net/ BuildBot] or [http://jenkins-ci.org/ Jenkins] could also do the job!
 
We seek here someone with good knowledge in compilation and scripting languages like Perl and/or bash to setup and document this platform.
 
Follow the implementation on these pages:
* [[Black&White Project/Compilation Farm]]
* [[Black&White Project/Automatic compilation]]
 
=== Mediawiki DumpHTML extension improvement ===
 
* [[Mediawiki DumpHTML extension improvement]]
 
=== Kiwix plug ===
[[Image:Nimbus_n_iPhone.JPG|right|thumb|]]
 
See [[Plug solution]].
 
== Resources ==
 
 
 
== See also ==
* [https://secure.wikimedia.org/wikipedia/meta/wiki/Offline_Projects/Recommended_Projects#Proposed_project_ideas WMF Offline project overview]
* [https://secure.wikimedia.org/wikipedia/meta/wiki/Offline_Projects/Recommended_Projects#Proposed_project_ideas WMF Offline project overview]
* [[Roadmap/en]]
</translate>

Revision as of 18:48, 19 January 2018

Other languages:
English • ‎español • ‎français • ‎magyar

The Kiwix volunteers program offers motivated and talented people ways to work for Kiwix during a limited time. Contributors can speak English, French, or German. Technical volunteers should know JavaScript, CSS, or other web languages, or C++.

Tasks

(re)-Introduce ZIM support in MediaWiki Book creator/OCG

MediaWiki is the wiki engine behind Wikipedia, all Wikimedia projects and thousands other Web sites. It's a cutting edge free software providing highly featured web sites that anybody can edit. MediaWiki hosted content can be made available for offline usage through the Collection extension (written in PHP). The Collection extension allows to easily create collection/selection of articles: so called books ; here is how it works on the English Wikipedia. Once created, books can be exported in PDF format. The PDF exporting backend itself is not provided by the Collection extension, it's done with a JavaScript based solution called OCG. OCG is a NodeJS daemon able to transform a book definition in a PDF and it should be able to do the same in the ZIM format. The ZIM format allows to store web pages (with images, videos, etc...) in one extremely compressed file. These pages are then available to read on most computers with a reader like Kiwix. A stub of solution has already been written and the MWOffline is already functional. This task is mostly about merging them.

phpzim (assigned)

Promotional video (assigned)

Look here for more details.

Testing platform

We need a solution to test automatically Kiwix. We have currently nothing... so we start from scratch!

Wikipublish

Create a publication platform, a Web site online similar to iTunes which would provide the list of available contents to download in ZIM, EPUB, .... also offer to see the book before downloading it.

OSM

Make a proof of concept of a ZIM file providing a map using OSM data and a tool like openLayer.

Improve P2P support

Linux Packaging project (assigned)

Ambassador Program

Create an ambassador program. Ambassadors would be special people especially aware about Kiwix and able to help others:

  • Spread contents
  • Make conferences
  • Make advertisement
  • Local representative

To do that, we should develop a set of tools:

  • Advertisement Package
  • Ambassador program definition
  • Map base on Ushahidi to locate them

Starter Kit (Assigned)

Perhaps a nice kit would help. You know, like for organizing Linux installation parties[1] or Mozilla's event kits[2] etc., that encourages people, and provides step-by-step guidance and advice, to go and install Kiwix with a relevant offline Wikipedia file in their local no-Internet (or restricted/expensive Internet) school, college, community center, etc.

Would anyone be interested in working on that? WMF can contribute funding for some materials -- a Kiwix quick-start guide or cheatsheet, stickers, T-shirts. [1] http://ladypine.org/installfest.html, http://www.wikihow.com/Arrange-Linux-Install-Party [2] https://wiki.mozilla.org/Webmaker/Teach/WebmakingResources

Video

It would be great to have a video (screencast) presenting the software with its most important features.

Here is a proposition:

  • Presentation slide of the video with slide and authors
  • Presentation of the context (Online Wikipedia put offline of a DVD)
  • Presentation of the principle of Kiwix and ZIM
  • Starting Kiwix
  • Open file
  • Indexing file
  • surfing
  • searching
  • special features: fullscreen, switch language, font bigger/smaller, random page, etc.
  • Finish (present the ZIM availables and how to download them)

See also