Interview: Carsten Haitzler
Carsten Haitzler will give a talk about "EFL, the toolkit for up and coming Linux mobile devices" at FOSDEM 2012.
Could you briefly introduce yourself?
My name is Carsten Haitzler. Some may better know me as Raster or Rasterman. I've been using Linux as my only operating system since 1996. I've been developing applications for Linux since then, and before that I also wrote some software for Solaris. At that time I was at University (UNSW) in Sydney, Australia. Since then I have worked and lived around the world in many countries, all of it being related to Linux professionally. I have written window managers (well 1, but re-written 3 times now), compositors, image processing and rendering libraries, toolkits, and many other utilities. I've contributed to GTK+ and GNOME, and am the founder/lead for Enlightenment.
I now have been working with Samsung for about 3 years on a Linux platform that now has been made public under the name of Tizen. Over the past few years the vast majority of my time has been sucked into EFL (Enlightenment Foundation Libraries) that originally started as a simple separated toolkit set to help write Enlightenment, but that have since grown an entire life of their own due to the many cool things they do and how well they do them.
What will your talk be about, exactly?
How EFL is used in Tizen, what is unique about it, what it does well and how to take advantage of that, not just on Tizen, but any Linux system.
What do you hope to accomplish by giving this talk? What do you expect?
Give people a wider knowledge of what EFL is, how it relates to Enlightenment (or not), and give them some pointers and interesting pieces of information on how they can use such libraries to write mobile apps for such platforms, as well as for desktops, or even how to build their own devices and products using EFL to drive the UI.
What are the main characteristics distinguishing EFL from other toolkits?
Edje is one - compressed all-in-one bundle UI objects on disk that can be replaced at runtime. They can scale, resize, animate and react to users (and program) events. Also the fact that every widget is also just an object that can be manually placed and controlled and taken out of a widget tree to be manipulated at-will, and still function as a widget as intended. Since they are objects they can be rotated, scaled, faded in and out and manipulated in any way you like. All of this also will work just fine with or without OpenGL or OpenGL-ES, as there is a well optimized software back-end to do everything if your OpenGL drivers don't exist, or are not up to the job. This change in back-end is also transparent to the application.
There are also unique non-gui things like Eet that effectively act as "JSON for C/C++" where your data structures can be serialized and de-serialized in one go, and be read back in a portable fashion.
You have been working at Samsung now for more than a year as principal engineer, and Samsung is using EFL now for their mobile operating system Tizen. Can you tell us more about why Samsung chose to use EFL and which kinds of products will come out of this?
EFL is being used in Tizen, which is intended to be used in smartphones, tablets, TVs, and in fact just about anything that has a processor, storage, screen and some kind of input from the user. Right now the trendy devices are smartphones and tablets, but it is not limited to this scope. Specifics on products will unfortunately have to wait for official announcements.
EFL was chosen as a result of a side project to investigate new technologies and improve the Linux mobile platform that was being developed, which at the time used GTK+. EFL was employed to make some prototype user interfaces on fairly low-end hardware and succeeded with smooth results, where GTK+ failed to do so. EFL also offered much more flexibility in creating those applications and also supported OpenGL as an acceleration mechanism, which at that time was still up-and-coming, but not there yet in the ARM SoC world (in terms of features and performance for using it for general 2D acceleration).
So the software rendering created a smooth, lean and low memory experience that made Samsung really happy, so this team then expanded and more of the platform moved to using EFL until everything was EFL. EFL was used because it gave excellent results, was relatively easy to use despite its sparse documentation, and kept a low footprint.
Which new features can we expect to appear in EFL this year?
I expect more extensive multi-core support, more canvas operation features (like masking and filters), and most interesting would be the Javascript runtime environment we have (Elev8) that makes writing applications a total breeze. This will mature and allow us to provide downloadable apps (as they now do not need to be re-packaged for specific distributions and architectures).
Have you enjoyed previous FOSDEM editions?
I have actually... about 10 or 11 years ago. :)
This interview is licensed under a Creative Commons Attribution 2.0 Belgium License.