PierreDucroquet < People < TWiki

TWiki . People . PierreDucroquet

Looking Glass Summer of Code 2006 projects

Me

My name is Pierre Ducroquet, and I'm french. I discovered Looking Glass a bit before it was opensourced...

I'm currently a student at the "ENIC", a french enginner school (city : Villeneuve d'Ascq, région : Nord).

*Needed knowledge* : I already know Java, I often designed files using XML, I already worked with CVS, and I know a bit about the major X servers available...

*Other things I know* : I know SQL (using sqlite or mysql), Python (my favorite programming language), C++, Qt, KDE, PHP... I know also a lot about how a linux distribution works, since I'm creating a distro with some friends (I developed the package manager, using sqlite for the database and XML for the packages)... And everything I forget to mention here stick out tongue


Project #501 : a presentation tool (my favorite SoC? project)

Fast analysis

Currently, when we want to show Looking Glass, we have to use flat 2D presentation tools out of Looking Glass because of the lack of full screen support. Such presentations should be done using 3D features of Looking Glass : the presentation would speak a bit for "itself" that way. Off course, it'd be also interesting for other presentations to have amazing blazingly fast 3D effects (current applications like OpenOffice.org Impress have far too slow transitions between slides... That's often not smooth enough to be really pleasant.).

Motivation

I will probably demonstrate Looking Glass in a Lug but also perhaps at RMLL. For these events I have to show Looking Glass itself, but also slides. That'd really be boring for me to have two parts (that's something I really didn't like in a Xgl+Compiz presentation I saw at FOSDEM). I also showed Looking Glass at the ENIC open days, but it lacked a presentation. I couldn't show Looking Glass AND explain it with slides, that was a problem... It'd also be a nice 3D application.

So even if this is refused as a Summer of Code project, I will work on this, but it'd have to be later sadly :/

Work planning

My planning is really really short.

First step : design and implement using Swing (or any other Java toolkit) a flat 2D presentation tool, to get the logic behind the application. It also includes creation of a simple file format, with a simple gui to create such files.

I already have a lot of ideas about this, so I don't think it's really an issue.

Second step : extend the 2D presentation tool to be in the Looking Glass desktop as a 3D application. It'd basically look a bit like Zeotrope, but without the circle of pictures...

I plan to achieve these two steps before 14. July.

Third step : implement as many slide transitions as possible, work on Javascript integration into the file format. This Javascript integration must allow custom transitions to be written and tested quickly.

The main issue I see here is Java5 compatibility. Java6 includes a great looking scripting engine, but what about Java5 (I'm pretty sure there is a Java5 compatible solution, but I have to look at it more closely).

Optional step, requiring extra knowledge I can find in a book I have : OpenOffice.org macro to export Impress/Powerpoint files directly to our file format.

Here are basic ideas for the file formats :

1- pictures based : font rendering would probably be out of topic, even if it's an interesting thing to look at. But using fonts means you can't use the export to HTML feature of OpenOffice impress, which creates several pictures... OpenDocument? support is totally out of topic here (it's a far too big task !)

2- everything in one zip file : this file would have low/null compression, because pictures aren't well compressed. Main advantage of zip files : they are extremely easy to use in Java

3- informations in one xml file : easy to parse, easy to extend/adapt, accessible with any programming language... Perfect choice for everything smile

Extra knowledge needed

The things I don't know and that can be useful here are some OpenOffice API knowledge and Looking Glass applications API (I worked mostly in the displayserver).


Project #210 : Performance Analysis and Tuning

Let the fun continue smile

Fast analysis

During the Summer of Code 2005, I already worked on the Looking Glass performances.

One of my own targets was achieved : a DivX? is now playable under LG3D?, and the startup time has been dramatically decreased.

But now, I've some additionnal targets :

1- be able to play a DVD (the harder target)

2- improve if possible the startup time of LG3D? and some other key components like BgManager?

3- find other hotspots and fix them

4- work on memory usage (again)

Motivation

My main motivation here is fun. I had fun during the SoC? 2005 doing this, and I want fun again smile

My second motivation here is to target the 1.0 release. It will be a big step for LG3D?, and we have to be ready for this step. It means we have to satisfy main queries for users :

- speed and memory efficiency

- look'n'feel

- features

These are really vast queries, but that's what most users want... and I really want LG3D? to be successful !

Work planning

I'm not able to plan a lot of things here. My DVD target should be feasible in one month of heavy work. Heavy because it includes Java3D? performance issues. Heavy because it could also require some additionnal X integration knowledge...

I suppose other hotspots would appear while working on the DVD thing. They must be solved at the same time if possible.

The LG3D? startup time is already good enough, but it has increased since my SoC? 2005 project. I already have some ideas about what is responsible of this regression, but I don't know whether it'll be easy to fix them or not.

And finally, the memory usage : I think it'll also appear during the DVD target since on my desktop computer a big slowdown is caused by swapping...

So to sum up : one target, one mission to achieve in two months... And no real planning :/ (I'm sorry, I'm not able to plan something)...

Extra knowledge needed

The things I don't know and that can be useful here are some C, JNI and OpenGL? knowledge to work on Java3D?.


Project #107 : LG3D? Desktop Configuration Tool (UI)

Fast analysis

I often show Looking Glass to users, and I always have different opinions. Some like it the way it is, but some other would prefer it another way... The same apply for flat 2D desktops like KDE. I never saw two power users with the same KDE Look. Since a 3D environment will be interesting mostly for power users at least at the beginning, it's mandatory to fill in this need : configurability.

It requires :

1- a tool to access the various LG3D? configuration settings easily

2- some extra configuration files to customise LG3D? even more

Motivation

My main motivation here is filling needs of users like my friends... They're probably going to help me and give me some tips about what is lacking, what is good, what is bad... Such a feedback is (I think) mandatory for such a project.

I also target the 1.0 release, because when it'll reach users computers, they'll immediately ask such features.

Work planning

I'm really sorry, I don't have any idea of a planning yet ! That's not the way I work usually...

Extra knowledge needed

The things I don't know and that can be useful here are every configuration entry of LG3D?, advanced Java UI... (The UI I wrote until yet are quite simple, I suppose this one would be far bigger)

----- Revision r6 - 02 May 2006 - 20:41:48 - Main.pinaraf