The week in qooxdoo (2008-06-13)
Filed under: Activity Reports
By Andreas Ecker @ June 13, 2008 7:32 pm
Another week towards the qooxdoo 0.8 release. We're making constant progress so you should get started to become excited (in case you aren't yet).
qooxdoo 0.8
SplitPane
Porting the SplitPane widget is almost done. The new version is much leaner and nicer using only three classes instead of six since, much of the styling can be done using the appearance system and decorators. Furthermore, the new API is much easier to learn: Only two accessor methods are used to access the widgets inside the SplitPane instead of having eight different methods depending on the SplitPane's orientation. Adding widgets is more convenient, too: a SplitPane is filled from top to bottom or left to right, respectively.
The size-handling was improved as well. Instead of passing the sizes (or flex values) to the constructor, static sizes are set on the widget itself before insertion; flex values on the other hand are layout properties which are set when adding a widget to the SplitPane.
See a first SplitPane example. Please note, it is still work in progress so some features (such as live resizing) may not be working properly just yet.
Widget Core
A possibility for compound widgets was added to redirect the properties "padding", "font" and "textColor" to an internal sub widget. For example setting the padding property on a window instance will now redirect to the padding of the window pane instead and thus no longer break the layout.
Window
Talking of windows, they can now also be centered easily. Another demo has been added to demonstrate how a custom web browser could be implemented in a qooxdoo window (Oooh, don't you love the 0.8 theming...).
Documentation
First steps of re-organizing the wiki to account for the qooxdoo 0.8 documentation have been made. Also a first draft of a fundamental GUI overview article has been created. This article will get some more love and polishing within the next few days. In case you haven't seen it, also check out the blog post about the layered architecture of the upcoming GUI toolkit which. As its covers "From DOM to Widgets", shouldn't we have called that "From Dusk till Dawn" instead?
Runtime switching
In 0.7 there are two features that allow for switching both locale and theme at runtime. While these are nice features per se, they don't come without a cost in terms of application performance and code complexity. As qooxdoo further matures we think it's time to drop such features that may not be too relevant in real-life scenarios. In order to get some feedback from the community we started a thread on the mailing list. If you have an opinion or experience, please share them with us.
Generator
The tool area of qooxdoo saw some SVN re-org in the 'ecmascript' module, to prepare for further modularization of the compiler.
In the realm of configuration, "job lifting" has been implemented whereby imported jobs are added to the jobs map of the importing config, rather than under a common name space entry. That means that imported jobs can now be listed with '-j ?' or invoked with '-j <jobname>' from the command line of the generator. Still their names are prefixed with a namespace-like string on import, to avoid name clashes. But we plan to change this so jobs will be imported under their original name, putting the demand of resolving name conflicts unto the importing config. But this way we can offer a 'source' job on the top-level which is actually imported. Together with global definitions which are recognized without being explicitly referenced (currently, there is an experimental "defaults" job), this all adds to the ultimate goal to have config files on the application level that have only to specify a minimal amount of information for all the standard jobs 'source', 'build', 'api', ... to work, as long as they have no special requirements. In a future step, the list of jobs to be imported can be specified by the exporting config, to limit the number of symbols (think: jobs) that are added to the importing config's name space.
Abobe on AIR Tour
Adobe did a great job offering a one day conference on Adobe AIR with technical sessions, showcases and discussion. It was part of their on AIR Tour Europe 2008. In order to make this event even more attractive they made sure to "provide the beer, coffee, food, XBoxes, schwag, knowledge, venue and bits". Of course, we didn't want to miss out and went to Munich to socialize with some of the Adobe developer folk, also meeting again some people we knew from previous conferences. As expected it was a fine event and we particularly enjoyed talking to Kevin Hoyt (Adobe) and Wolfram Kriesing (Dojo).
As qooxdoo has been one of the first adopters of Adobe AIR (dating back to July 2007!), it somewhat reminded us to re-introduce AIR support into the framework and also to extend it to include features of the latest AIR versions. It may not be all too soon due to our focus on qooxdoo 0.8, but you can bet on some smart AIR support in the future.
Ultimate Party
As the perfect end of the working week and start into the weekend we now leave for the ultimate 1&1 summer-time party. There should be roughly 2.500 fellow coworkers of 1&1 having a great time this evening. Wanna join a great company? Check out their international job offers as well as the qooxdoo-specific job offers. Hurry up, next big party is right before Xmas.
Cheers and have a nice weekend!

Comment by Guilherme
Great! I loved the 0.8 new theme :o)
I’m looking forward to 0.8.
You are doing a great work.
June 13, 2008 8:54 pm
Comment by Introspector
You are doing a good job !
I am using 0.7 and preparing to switch 0.8
Especially, impressed simplicity and theme…
June 14, 2008 8:32 pm