Adobe Air vs Spats

Alright comparing spats (Simple Page Template Server) to Adobe Air is like comparing ZServer to Plone. Air is a very big complex package that does a huge amount of stuff. By comparison spats does very little, but I'd like to keep interest in it up.

Spats is a program I worked on at Enfold to solve a problem we had (example file browser in piccy). We needed to a client side GUI that would do basic installer or controller like things, running as a powerful user able to delete directories, install services and the like. Spats provides a web control embedded in a window, so it looks like a normal program. Behind the scenes you are writing Page Templates (yay) and running Python.

Air is a big complicated program released by Adobe that provides a HTML, Flash or Flex in a window. Air has full menu support, local database, drag and drop and a whole host of true native program like features. So far I've produced Hello World from it. I've probably under stated what Air does here.

But in the end I still like spats for a few reasons:

  • I can write Python to do what I want, not Javascript. You'll pry Python from my cold dead arthritic hands. In Air I have to write Javascript all the way. Ugh.
  • Page Templates rock, at this point there isn't anything in Air for doing templating.
  • I like writing unit tests for my Python.
  • It's open source and can easily come with your Plone install.

What would I chose to write my next client side project in? Adobe Air probably because it has about 8 gazillion features that spats does not. But don't discount spats, its neat and at Enfold made installers and controllers easy to write in familiar technologies that were the same. Plus it makes me think that 3 years ago when I wrote spats, I knew where things were going. For once. Maybe.

Sadistic cooks

Never seen this before or since, but I think someone at Whole Foods was having a joke. They provided otherwise excellent food for the planning summit, but come on cold brussel sprout salad? I tried valiantly to eat it, honest.

Plone Planning Summit

Just got back from the planning summit in California. I have to admit I did come into the summit unsure what would happen. Most sprints that I've been too involve a bunch of people sitting around staring at laptops and doing code. In fact I generally find them quite unproductive (the best sprint ever was the Vancouver sprint that produced Clouseau and had 3 attendees).

This summit started out with some great requests, no laptops and please pay attention to each other. Looking around the room there was a very good selection of people from the community, integrators, core developers, implementors, trainers and companies. The summit then went through a bunch of exercises, focusing on who Plone's users are, specifically focusing on what organisations categories there and what Plone provides for them.

Then came some really useful help from Mark Corum who provided marketing help and advice to all the Plone people there, thinking of specific tasks like "elevator pitches" for selling Plone in sixty seconds. Finally there was a review of competing systems, including Drupal, Sharepoint and Alfresco.

The only real problem on the first day was its length, starting at 8am and finishing around 9pm, that caused most of the Europeans (me included) to be falling asleep over the last hour or so. It's not easy being 8 or 9 time zones out, and having a 16 hour trip there the day before and then staying awake through that.

The second day focused on what I think a lot of people where there for, discussing developer issues. This was for me was a really interesting part because I have real specific views about certain things. Others have different opinions and it was fascinating to see how often, or not, people agreed with my opinions. We did this through SWOT analysis of the various components and lots of sticky dots to go with the analysis.

I often got to control the pen, so wrote down lots of things in the analysis. Things that surprised me, things I've worked on the past include: replacements of the ZODB, fixing portal transforms, external editing in Word just weren't rated that much by other people. The product vs framework didn't get discussed apart from one meeting which I sadly missed, sounds like there will be a proposal from Paul and Wiggy soon. Things that cropped up all over the place include: buildout (overwhelmingly positive, but a few problems), a need to have a consistent and standard way to push Plone to cheap web hosts and the need to keep working on documentation (Jon will be posting full details of this analysis at a later date).

Socially of course there were a few good things: a few good games of pool, some fine scotch from Geir, a bit of drinking with colleagues and I got see my old friend Neil Kandalgaonkar who now works at Yahoo. I managed to get some good sushi and there was a bit of drinking with plans for more drinking. Every Plone sprint or get together like this reminds me how damn good the Plone community and how much I really do miss working regularly with those people.

The last day was a little quieter with formulation of the analysis, to plans for action which various people can take out to the community and see if we can move things forward. I got there a little late for one, so managed to miss myself being nominated for a few things.

As it turned out the goal wasn't really to come out of this meeting with a firm plan and the developer in me always want's something concrete. However what happened was very important, we all got a chance to listen to each other, understand other people's viewpoints and come to some consensus about what things are important. Which then provides more of a consensus for moving forward in the future with the community.

Thanks to: sponsors who were able to send me to the summit. Jon Stahl for doing a great, great job of running the summit. Google for providing food, facilities and a great toilet.

Best quotes from the summit:

"We don't twinkle much in Kentucky", Kurt Bendl's reaction when Jon Stahl explains the process of twinkling to express agreement.

"You know how to do sticky dot voting right?", blank stares and shakes of the head, "No way" exclaims Jon Stahl.

Planning summit pt. 2

Looking forward to flying off to the Plone planning summit tomorrow. Following on from my previous post, what's the one thing I'm hoping we can come up with? A list of values by which all other decisions can be based upon. With those set of values, we can move forward making key decisions based on agreed criteria.

Quite a few people have sponsored me for going to the summit. Firstly Blue Fountain and secondly a host of people who sponsored the summit and then was able to help me out with some of the costs, namely: CIGNEX, Alexander Pilz, John Habermann, George Bray, Christopher Johnson, Aleksandr Vladimirskiy, Boussard Youenn, Headnet, Jean-Pascal Houde, Jesse Snyder, Florian Schulze, Graham Perrin, Virginio Fanelli, Denis Mishunov, Totsie Marine, Pompilio Fanelli, Jennifer Crandall, Thomas Zeleny, Tannic, Inc., Tobias Ahlers, Yves Moisan, Matthew Latterell, Jon Stahl, Patrick Shaw, William Murphy, Eric Steele, Scott Paley, Vincenzo Barone, Niels Steen Krogh

And finally there's a bunch of people who organised this who need thanking: Alexander Limi and Jon Stahl. Especially Jon Stahl, who once again is demonstrating that he is able to contribute a huge amount more to Plone than most people who do write code.

But let's face it there's one real question we are all curious about for the sprint.

...given that about 75% of Plone developers use Macs, how many people will be showing off a new Macbook Air at the summit?

Stupid, stupid, stupid

So there I was doing 16 things in the kitchen making dinner and some soup at the same time, talking to kids etc. We've got one of those electric hobs where you can't tell what burner is hot. Move pots around. See a hob with no pan but food bits on it. Forgot which one was hot. Use my hand to wipe the hob. Idiot.

Four hours later my fingers had calmed down, but I've got quite a lot burns on my left hand. I've mastered a different style of typing now. Idiot.