Hi again ;)
/* Me */
(Since my two other applications were quite dim on who I am, I thought
it might be appropriate to tell abit about myself)
As you might be able to see (since this is my third application for the
handhelds.org project) I really enjoy working with writing and porting
linux applications for handheld devices.
I've been working with GNU/linux for a long time, and feel I have a
good understanding of the workings and structure of the OS.
I'm currently putting the final touches on my bachelor degree in electrical engineering from the University in Stavanger (Norway).
My reason for studying this particular field is to get a better understanding of how electronics work wich will enable me to write
and understand low-level code.
/* Embed */
Embed will be the project of porting the EFL (enlightement foundation
libraries) to the arm platform and to building a EFL-based GUI for
handhelds devices.
Rasterman (the founder of the Enlightement project) has already made a
demo of what such a UI might look like:
http://www.rasterman.com/files/eem.avi
Though this is just a 'proof of concept' it still gives some ideas
as to what such a UI might look like and some code to get the project
off the ground.
The EFL libraries holds at its heart Imlib2 (a lightning fast image
manipulation library) and Evas (a portable and fast canvas library).
The speed and portability of these librarys translates thru to all
of the libraries built on top of them and make up a great foundation
to build numerous portable, themable and configurable GUI's for
handhelds devices of the future.
More on the EFL here:
http://www.enlightenment.org/Libraries/Overview/
Before the project ever gets that far there are numerous
tasks that needs to be solved:
-Compile the EFL for the arm arch
-Compile and install eem
-Benchmark them to see what kind of speed we can expect and how
much eyecandy we can put into the UI and its applications
-Decide on functionality and layout
-Start coding the handheld UI of the future ;)
/* Workload */
I realize that the scope of this project is way too big to finish
during a summer.
It is also pretty difficult to set a definate goal for the
summer-workload. Still here are my suggestions for the workload
of the summer:
1. Compile EFL for arm
2. Compile EEM for arm
3. Benchmark EEM against Opie and GPE
4. Start work on the base layout of Embed
5. Write one or two basic applications for Embed
Feel free to add or remove stuff from the workload.
/* Other stuff */
I feel I am obligated to tell you that I am no EFL or embedded-linux expert.
I am simply a student with a burning desire to make this project a
reality. I can promise I will work very hard and do my very best!
That also goes for the other two projects I've applied for.
For a glimse at what I've done in the past, check out:
http://libgsmc.hanafjedle.net
http://bullchat.hanafjedle.net
/* Update */
Coexisting with GPE is a good place to start.
I could concentrate on creating the apps, login and the alternate
UI that will run on top of GPE for now.
I would like to se it as a separate desktop environment some day
just because I think it would be a speedy bastard ;)...
But coexisting is fine by me. Solves alot of the basics for me
as well...
From working with alot of different handhelds devices, I will try to
put that experience into the project and make it reflect what I would
like to see in a handhelds desktop environment.
/* Update 2 */
Since the design / look and feel of such a GUI will be extreamly
importat, I have no objections on working on those aspects first.
If the EFL are already in OpenEmbedded, it should be no problem
compiling them for ARM, and I could start designing the GUI
prototype(s) right away.
The benchmark idea was only a suggestion to prove and test the speed
of the EFL on a ARM based devices (not really important, but could
show that it will run smoohtly on slow/old devices also).
First creating a prototype base, focusing on the look and feel, and
then implementing some of the prototypes into full blown applications
sounds like a good way to go about this project.