Page MenuHomePhabricator

Google Code-in 2010-2011 Project Ideas
Updated 3,371 Days AgoPublic

The Enlightenment Project is dedicated to providing advanced graphical libraries, tools, and environments. Currently, the project is made up of three different components: Enlightenment DR16, Enlightenment DR17, and the Enlightenment Foundation Libraries. While we are best known for the Enlightenment Window Manager itself there is a long history of providing advanced libraries and tools to support the window manager and other applications, such as Imlib, Imlib2, and FNLib which extend far beyond the window manager itself in scope.

If you are interested in a project below and have questions or comments, please feel free to join us in #e on FreeNode. You can also send email to our Development mailing list: enlightenment-devel _at_

Each task to take at most 2-3 days to complete with 2-3 hours of work per day. So we should keep that in mind when composing tasks.

At the conclusion of the contest, contestants will receive a t-shirt and certificate for completing at least one task (maximum of one shirt & certificate per contestant) and 100 USD for every three tasks completed (maximum 500 USD per contestant).

Tasks categories:

  1. Code: Tasks related to writing or refactoring code
  2. Documentation: Tasks related to creating/editing documents
  3. Outreach: Tasks related to community management and outreach/marketing
  4. Quality Assurance: Tasks related to testing and ensuring code is of high quality
  5. Research: Tasks related to studying a problem and recommending solutions
  6. Training: Tasks related to helping others learn more
  7. Translation: Tasks related to localization
  8. User Interface: Tasks related to user experience research or user interface design and interaction


Migrate all info from old wiki to new wiki



  • Task: Improve Eina performance [Code] (Medium) **

    Mentor(s): Cedric Bail

This project include the following idea, but is not limited to them.

  1. implement multiple level of bucket for eina_hash depending on number of child.
  2. replace inlist by rbtree in chained mempool.
  3. improve benchmark (add more real use case, provide option for tracking result more easily)
  • Task: Implement page and database to store eina magic used values [Code|Outreach] (Easy) Create one page that register each used eina magic used in projects **

    Mentor(s): Tiago Falcão

The idea here is give one simple structure to store and "reserve" eina magic values to objects. It will support:

  1. List used values
  2. Get simple description of where is used(library/program and object), and by whom, links...
  3. Register new values
  4. Generate random unused values

Skills Required:

  1. Basic: HTML, PHP, JQuery, SQL,...


Ideas Here


Ideas Here


  • Task: Implement PSK auth in ecore_con [Code] (Medium) Add callbacks for supplying password credentials and learn SSL apis **

    Mentor(s): Mike Blumenkrantz

This is a fairly simple task which will round out ecore_con's ssl api by providing the last ssl auth mechanism, PSK, which I have not had time to add.

Skills Required:

  1. Willingness to learn new apis (nobody actually knows openssl/gnutls, so it's just a question of willingness to read docs/code to learn).
  2. Strong knowledge of C. This will utilize callbacks, possibly FILEs, and definitely broken/bad apis.


Ideas Here


  • Task: Implement flip effect to Pager Widget [Code/UI] (Easy) Implement the flip effect other option to pager transition effect.**

Mentor(s): Tiago Falcão

The idea here is to implement one style to pager witget that do flip between pager.

Skills Required:

  1. Basic knowledge of Edje (EDC language and Embryo scripts).
  • Task: Improve Docs to Widgets [Documentation] (Easy) Write and review docs to main API of Elementary (elm_main.c)**

Mentor(s): Tiago Falcão

The idea here is review the docs in elm_main.c, that is elementary object API. Some methods haven't docs, and others don't explains sufficient things(What is finger_size?).

Skills Required:

  1. Knowledge of C. Need understand the code.
  2. Excellent English writing skills.
  • Tasks: Implement better tests in Elementary_Test [Code] (Easy) Write better tests to elementary widgets in elementary_test**

Mentor(s): Tiago Falcão

The idea here is implement better tests to widgets, each test window need cover all API(and events) of one widget. But need keep simplicity of test code.
Here one offer some tasks, where each one is one group of tests:

  1. bg, toggle, button, list
  2. checker, radio, slider, spinner
  3. genlist, gengrid

Skills Required:

  1. Solid Knowledge of C. Need understand and write the code.
  • Tasks: Implement common API to widget items [Code] (Medium) Write better API to widgets items, and remove duplicated code about it.**

Mentor(s): Tiago Falcão

The idea here is remove duplicated code in each widget with items. Like elm_*_item_data_get. Store (un)realize callbacks. And more.

Skills Required:

  1. Strong knowledge of C. This will utilize callbacks, fix API, produce safe code,...


Ideas Here



Ideas Here


Ideas Here


  • Task: Reformat and Fix Warnings [Code] (Easy) Reformat to community code style and fix the custom warnings)**

Mentor(s): Tiago Falcão

The idea here is reformat the code as in [ECoding]. And fix warnings when compiling with:

  1. -Werror -W -Wextra -Wcast-align -Wchar-subscripts -Wformat -Wformat-security -Wmissing-format-attribute -Wpointer-arith -Wreturn-type -Wundef -Wwrite-strings ##

Skills Required:

  1. Knowledge of C. Need understand the code.
  2. Excellent English writing skills.


Ideas Here

Imported from
1 tiago 2010-10-30 15:15:55
2 tiago 2010-10-30 15:31:27
3 tiago 2010-10-30 15:51:11
4 tiago 2010-10-30 16:09:32
5 tiago 2010-10-30 16:11:11
6 tiago 2010-10-30 16:19:13
7 zmike 2010-10-30 18:42:58
8 zmike 2010-10-30 23:11:49
9 cedric 2010-10-31 08:36:31
10 tiago 2010-10-31 14:15:26
11 tiago 2010-10-31 14:50:02
12 tiago 2010-11-01 07:48:45
13 tiago 2010-11-02 06:13:09
14 tiago 2010-11-03 05:35:02
15 jt_a 2011-08-29 03:28:34 fixing links

Last Author
Last Edited
Sep 5 2013, 2:28 PM