Page MenuHomePhabricator

Google Summer of Code 2011 Project Ideas
Updated 3,386 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.

While no organizations have yet been formally accepted by Google to participate in the Summer of Code 2011, we plan on applying and are very hopeful that we will be accepted. Below are some project ideas for the Google Summer of Code 2011.

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:

It was our intention to provide some sample applications so that students new to the GSoC could have an idea of what a well put together application might look like. However, our friends at Wesnoth have beat us to the punch. So, with their permission, here is a link to some of the applications submitted to their project for GSoC 2008. Note that such elaborate applications are not required. But there are certainly elements to many of them that are quite beneficial. For example, a list of deliverables, a timeline, mockup images if applicable, etc. All these types of things might go into a well thought out application.

NOTE: Student applicants are not limited to the ideas on this page. If you think you have a suitable idea, by all means, please propose it.


  • Edje Benchmark
    • Write an Expedite like tools but using Edje

      Mentor(s): Cedric BAIL, Gustavo Sverzut Barbieri

      The idea of this project is to write many small and individual benchmarks, that will test as much as possible part of Edje and will report score. This tool will be integrated in our test infrastructure. It could also become a good test coverage for regression in Edje.

      Skills Required:
    • Strong C background.
    • Good understanding of Evas/Edje internal.


  • E_Phys
    • Bring E_Phys back to life. Cleanup E_Phys or use another physic library to provide state of the art physic engine

      Mentor(s): Cedric BAIL

      The idea of this project is to update/write a physic library that will directly integrate with Evas. Now that Evas provides map, it's quite easy to take physics into account (Look at what Raoul Hecky did with eskiss). This is only the first step of the story, the second step would be to integrate this library with Edje, so that object could be animated automatically according to physic law.

      Skills Required:
    • Strong C background.
    • Use to Evas API.
    • Good understanding of physic/mathematic.
    • Good knowledge of Edje internal.
  • Eyesight / Envision
    • Improve Eyesight speed and integrate it in Envision

      Mentor(s): Vincent TORRI

      Eyesight is a multi-document renderer library. It currently supports PDF (poppler or mupdf), Postscript, text, Comic Book and image support. Before adding more document support, the rendering should be done in separate thread (using ecore_thread) and the integration in Envision should be done. Once it is done, several things can be done: adding more document support (djvu, dvi, rtf, etc...), decompression of comic books using libraries and/or mmap instead of decompressing using tools, ecore_con_url support to allow direct rendering over a network, ...)

      Skills Required:
    • Strong C background.
    • Use to Evas, Ecore API and Elementary.
    • Understanding of asynchronous and threads mechanism.
    • Good knowledge of Edje scripting.
  • Android EFL
    • Present EFL as a standalone toolkit for use in NDK based Android applications.


      As Android continues to grow in the mobile device market, it would be a great place for EFL to gain some usage. It would also provide a strong alternative to other C/C++ based toolkits already ported by providing a full featured set of libraries with minimal overhead size and speed drawbacks.

      Skills Required:
    • Good C background.
    • Strong Android background.
    • Strong build system knowledge.
  • Java bindings for the EFL
    • Create object oriented Java bindings for the Enlightenment Foundation (Core) Libraries.


      As Java becomes more and more popular within many industry sectors, bindings for the EFL could be benefitial for the developer- as well as the usercommunity. This project is directly linked to the Android NDK proposal.

      Skills Required:
    • Strong Java background.
    • Strong understanding of the EFL an how it works internaly.
    • Good knowledge of common object oriented design patterns.
    • Good C background.


  • Asynchronous MVC - Make elementary store concept generic
    • Define and code a fully asynchronous model view controller API on top of elementary (and separated from it) that support external plugins

      Mentor(s): Cedric BAIL

      The idea of this project is to add an easy way to feed information to an elementary list, genlist or gengrid with various source without the need to write more than an data to Evas_Object converter. As application always need to be responsive, this need to be completly asynchronous and provide plugins architecture that would work for network (think about json or xml rpc, imap service), for local storage (like directory browsing or file parsing) and also for database (like connection to mysql, postgresql, ...). This is a really difficult task to get it right, so it would be good if you already have some experience with other MVC project. Oh, and it will be required to find a nice name that start with an 'e' :-)

      Skills Required:
    • Strong C background.
    • Strong design capabilities.
    • Understanding of asynchronous and callback mechanism.
    • Some knowledge about graphical toolkit.
  • Theme to mimic native Windows theme
    • Write a theme for Elementary that mimic the native Windows theme.

      Mentor(s): Vincent TORRI

      Currently, applications written with Elementay do not fit well in Windows, as the widgets are too different from the Windows widgets. The idea of this project is to write a new theme for Elementary so that applications have the same look and feel that native Windows applications. The first part of the work is to have a Windows XP-like theme. If the student finishes the theme quickly, he can start a Vista/7 theme or Win95/98/2000 theme.

      Skills Required:
    • Good design capabilities.
    • Good understanding of EDC syntax.
    • Understanding of asynchronous and callback mechanism.


  • Exchange Library *Create a library based on guidelines at Exchange. This would be a fully async library which can be used to manage user data/themes/fonts/etc

    Mentor(s): Mike Blumenkrantz

    Difficulty: Medium-Hard

    This project aims to create a library which provides web services that allow applications to store/fetch e-related data. See wiki:Exchange page for details.

    Skills Required:
    1. Strong C background.
    2. Strong understanding of async/callback mechanisms.
    3. Strong understanding of networking abstraction and http methods/protocols.
    4. Basic understanding of RPC clients/servers.

      Useful skills (not required):
    5. Knowledge of Azy.
    6. Knowledge of Eet.
    7. JSON.
    8. XML.


  • Google Widgets Module
    • Write an Enlightenment module to let the users download the widgets provided by google and place them on his/her desktop.

      Mentor(s): Michael BOUCHAUD This project aim is give compatibility between widget provided by Google and e17.

      Skills Required:
      1. C background.

        Useful skills (not required):
    • Knowledje of webkit.
    • Knowledje of e17 module
  • Elixir Widgets Module
    • Write an Enlightenment module to let the users download the widgets written in Elixir from Exchange website and place them on his/her desktop.

      Mentor(s): Cedric BAIL This project aim is to use all the power of the EFL to design easily themable module without putting E17 or the host at risk. It should be possible to reuse this gadget easily in whatever apps you want !

      Skills Required:
    • C background.

      Useful skills (not required):
    • Knowledje of elixir.
    • Knowledje of e17 module.
    • Knowledje of JavaScript.

Enlightenment Foundation Library

  • Game helper library
    • Write an EFL library on top of Ecore/Evas that enable the writing of a UI with Evas on top of an existing 3D Engine. This should provide a portable API like Ecore_Evas for any windowing system and also it should be easy to plug any 3D engine inside it. For this GSoC choosing one 3D engine, like Ogre 3D, would be enought, but keeping this goal in mind would be a good idea

      Mentor(s): Cedric BAIL This project aim is to enable the writing of nice 3D game with UI using the EFL. This library could replace SDL direct usage as the EFL does provide a full toolkit.

      Skills Required:
    • C background.

      Useful skills (not required):
    • Knowledje of 3D engine
    • Knowledje of SDL
  • NaCL plugins *Write an Google Chrome Native Client plugins for the EFL library. This should be an interesting project to try what kind of feature the EFL could provide to a web browser. Think about Flash on steroid :-)

    Mentor(s): Cedric BAIL This project is more a R&D project, to try to provide a plugins for browser with the EFL.

    Skills Required:
    1. C background.


  • HTML5 engine

You can consult ideas from previous years at:

Imported from
1 vtorri 2011-01-25 22:22:14
2 cedric 2011-01-27 05:05:52
3 cedric 2011-01-28 04:54:01
4 zmike 2011-02-05 07:30:17
5 yoz 2011-02-10 12:36:19 add gsoc project idea to use google widget on e17
6 yoz 2011-02-10 12:37:15 sorry missed ==
7 yoz 2011-02-10 12:38:15
8 ravenlock 2011-02-11 04:05:32
9 ravenlock 2011-02-11 04:11:43
10 ravenlock 2011-02-11 04:14:00
11 vtorri 2011-02-12 23:54:49
12 Toma 2011-02-14 03:12:35
13 vtorri 2011-02-17 11:00:37
14 cedric 2011-02-25 05:35:43
15 cedric 2011-02-25 05:42:23
16 ravenlock 2011-02-27 21:06:32
17 ravenlock 2011-02-27 21:08:29
18 ravenlock 2011-02-27 21:20:21
19 T_UNIX 2011-03-01 09:58:53
20 cedric 2011-03-03 04:35:56
21 TAsn 2011-03-17 15:01:04
22 jt_a 2011-08-29 03:08:33 removed dead link

Last Author
Last Edited
Aug 26 2013, 4:23 PM