Skip to content. | Skip to navigation

Sections
Personal tools
You are here: Home News & views Travel Report: 2009 Baarn UI Sprint

Posted Feb 06, 2009

Travel Report: 2009 Baarn UI Sprint

by Eric Steele

Checking in after Baarn.

I'm freshly back from attending the invitation-only Baarn User Interface Sprint, from Jan 29-Feb 1. The event was hosted with great success by the fine folks at Informaat. (For those who are curious, I believe that Baarn is pronounced as "BAH-hren".)

We spent the majority the first day talking about the current work being done on the Plone 4 UI and in other CMSs before breaking into smaller groups to tackle some of the main problem areas we'd identified: content editing, page assembly/layout, site theming, control panels, and interaction testing. Throughout the sprint, there was a large amount of discussion, some of it rather heated, about these topics.

I worked with the Blocks group. Blocks is a project which aims to simplify Plone's site skinning process through reducing the complexity of layout templates and finding a more grokkable (so to speak) alternative to viewlets and portlets. The nouns and verbs are subject to change, but as of now, this is accomplished through panels (replacable sections of the page) and tiles (content pulled into the page from elsewhere in the site).

Before getting to any actual coding, we spent time hashing out a way of defining panels and tiles in a way that was both straightforward and semantically (in HTML terms) correct. The goal is to maintain a balance between functionality and complexity; we don't want to invent a whole new programming language made up of HTML tags out of some misguided attempt to make things "easier". The solution we wound up with will use layout templates containing pure HTML, harnessing <links> and ids to define panels and tiles within the markup. Eventually, basic tiles will be created just by sticking an HTML file in a ZCML-registered tiles folder.

Denys and I spent quite a bit of time discussing the site design workflow. Blocks should definitely help to ease the transition from comp to template, HTMl received from the designer can be sliced up into panels by the integrator without turning it into anything that the designer can't read. In the case where those designer and integrator are one-and-the-same, it should be less of an effort to write HTML with Blocks in mind.

Unfortunately, I wound up wasting half a day trying to fix a broken install of lxml on OSX, before giving up and creating a new Ubuntu VM through Parallels. We may need to put some effort into cleaning up the process before this takes off.

Thanks to Lawrence and Jeroen, we managed to leave the sprint with an actual rendering engine, working in Plone 3, that pulled in our static HTML files and did the including and replacing. I was able to create tiles with the ability to display existing viewlets and portlets, which should ease the transition to Blocks for existing sites. Discussion and dissection of our work is already underway on the Blocks/Deco mailing list.

I'm satisfied that it will be possible to provide proper hooks in Blocks' output so that GloWorm or similar tools might determine how particular portions of the page are being generated. This means that UI tools built against Plone 4 won't need to jump through all of the hoops that GloWorm currently does.

Sprints are ostensibly all about generating as much code as possible in a short time, but to me, the main benefits of sprinting are the opportunities to enable face-to-face discussion amongst geographically-diverse contributors and to bring new developers into the project. At this extremely early stage of the Plone 4 development cycle, I expect that exactly none of the code I've written will survive through to any sort of release. However, having been drawn into the Blocks project, argued my opinions on the proposal, and committed code, I now have a vested interest in the future of the project.

I'll leave the details of the other working groups to others but I have to say that I'm very interested to further investigate the work of the testing group. They worked on creating a buildbot implementation of Selenium.rc. This should allow regular, automated testing of Plone's AJAX bits. By pointing it at VMs running different operating systems and browser versions (Snakebite maybe?), we'll be able to get a nightly check of how Plone works in different browsers. It will be extremely useful to me since so much of GloWorm's code relies on browser interaction. I know I'd sleep better at night knowing a report of any interaction failures would be waiting in my inbox the next morning.

Other miscellaneous thoughts:

  • The US needs more pay toilets
  • Amsterdam needs more wireless access points
  • Cornelis' stupendous UI mockups made me feel like I've been developing using an 8-pack of Crayons. Hopefully we'll all get a copy to play with soon. (*hint* *hint*)
  • We need one of those super-fancy coffee/latte/mocha/cocoa machines for our office.
  • As usual, I remembered to take my camera to everything but the sprint itself. My pictures of my tromp around Amsterdam are available on Flickr, for those interested.

And finally, a huge thank you to my sponsors, Plone community members all, who chipped in to provide me with sufficient funds to cover my food costs, train fare, and a portion of my hotel bill.

Document Actions

LXML on OSX

Posted by Stefan Eletzhofer at Feb 07, 2009 06:53 AM
I've built and am using the recipe below -- that might have been of some help, no?

http://pypi.python.org/pypi/z3c.recipe.staticlxml

stefan

Those static recipes don't always work

Posted by Reinout van Rees at Feb 10, 2009 04:13 AM
Stefan, inexplicably even those static recipes don't always work. See http://reinout.vanrees.org/weblog/lxml-osx-problem . I also tried your recipe. The core idea, "compile it statically" seems the foolproof and guaranteed-to-work way to me. Only my laptop didn't agree...
Need help now?

Immediate assistance is available during university work hours:

News & views…
Posted Oct 13, 2009 Portlets gone wild with ContentWellPortlets 2.0.1 This new release adds the ability to add portlets to the footer area. It also has 6 portlet managers per area. This means 20 total portlet managers including the 2 on the sides that ship with plone.
Posted Sep 17, 2009 Plone 4 – An interview with Zope News Jan Ulrich Hasecke interviews me for Zope News.
Posted Aug 31, 2009 Web Services API for Plone Alpha 3 Release Details the release of the wsapi4plone.core package and the plans for future releases. The final report of the AtomPub for Plone Google Summer of Code project.
Posted Aug 28, 2009 Content editing and creation in Plone is faster with archetypes.schematuning Some bench marks of content editing and creation in Plone with and without archetypes.schematuning installed.
More news & views…