Page MenuHomePhabricator

Presentation Tool
Updated 3,105 Days AgoPublic


A long time ago, one of the project idea for a GSoC was a presentation tool. That one was designed around the idea, that it is painful to use powerpoint and friend to type text and select image when filling a template. So Jonathan Atton (Watchwolf) did a tool using Edje and EFL at that time where you only need to write the content and all the animation, template and everything else is taken care of by the presentation tool.

The result was really nice from a technical perspective. It still work today. Let you change your theme, put all your presentation into one binary file that can be easily distributed. It was even able to run on a MIPS at 200Mhz with 32MB of RAM and do all the animation, video and stuff nicely there. Developer liked it as they could just focus on the content and not on the stupid effect required to make the presentation look good.

The draw back was that it was really difficult to change the template as Edje wasn't advanced as it is today. It required you to write everything into a text editor and compile it, that was not really user friendly and required people to learn that language (a kind of JSON).


Since then a lot did happen. Smartphone and tablet all over the place. New kind of presentation tool like Prezi did show up. Some work from Bret Victor also could give idea of how to design a new UI to prepare presentation: like this or that.

So the goal of this project is to use all the feature that EFL provide to make an application able to design modern presentation easily, by letting people focus on the content and be able to display it every where EFL runs. If that project is as successful as the previous one, this will become EFL presentation tool for the next five years !


You will use EFL 1.8 that should be out by end of May as the basis for this application. You can learn more about them here. The language of choice would be C for the UI designer and Edje for the theme engine. The presentation file will be a JSON file so that later on we could easily create a player using Elev8, EFL JavaScript binding.

The skill required for this project are basic C knowledge. Jonathan was just learning C when he did Eyelight years ago and this should not be more difficult that it was at that time. The mentor will help figure out and understand EFL and Enlightenment specific bits.


The goal is to design a UI for many use case that involve not only desktop, but also tablet and phone. If you think about it, it is easy to simulate that behavior on a laptop, where the laptop screen will be used to display notes and be able to navigate the presentation while the presentation is displayed on the external screen. At least this scenario should work when used with Enlightenment.

The UI will be designed for tablet and content in mind. So the main screen let you choose the background of your presentation. Then you can start adding content: text, image, video, animation or data. Once that content is selected and filled. You can then push the content in any direction, the tool will then expand the timeline by one slide and remember that animation with the content. Of course the user can travel back and forward in the existing timeline to change anything he like.

Stretching goal

This means that from one presentation we can either generate a movie, frame by frame or have a classic slide presentation where the user choose when to move to the next slide. Providing a frame by frame output or even better directly a video output would be a nice additional goal.

Other possible extention are the packing of all data into one eet file so it become easy to distribute. Even more that eet file could include a JavaScript player improving distribution even more.

The most nicest feature would be if data manipulation become a core of this project. Displaying community information with a map and trend per country would be valuable to Enlightenment project. Same goes for displaying sum of bar graph when comparing memory, cpu or power consumption over time. It would be really neat if the tool was a little big like Google map able to fill a map automatically with the data provided and animate it nicely for you. Same goes with bar graph. By automatically providing nice graphics it will reduce the difficulty to show really data during presentation.

Enlightenment Project Benefit

By being a tool that make designing presentation easy and appealing it will help Enlightenment project to present itself in its best way to the outside. Eyelight previous version has been used quite a lot and we expect this tool to have the same usage over time.

Project Technical Details

  • Mentor :
    • Cedric Bail
  • Skills required :
    • C background


The difficulty of this is assumed to be a medium to difficult one.

Last Author
Last Edited
Mar 27 2013, 6:50 PM