Noted in brief – 9/22/2010

First impressions

This one had to sit for a while, Everett just hit six months yesterday, so now is probably a good time to hit “publish.”

March 19, 2010.  11:35am.

Three minutes ago, I was two inches from Molly’s face screaming, “Push! This is it!”  Now I’m weeping, sobbing uncontrollable tears of joy.  It’s a boy: red, squalling, perfect.  The moment is enormous.  So much waiting, so much anticipation.  Time collapses.  History, evolution, millennia all leading to this single moment.   He’s already on her chest, being toweled off.  Relief, I continue sobbing.  Pangs of grief well up; my own dad has been gone two years now.  He’d have been so happy, so proud.  I can see his face in my mind’s eye even as I see traces of my own in this new little one’s gaze.  I’ve never wept like this.  Life continues.

Noted in brief – 9/17/2010

Vote for your favorite Plone Conference 2010 talks

As usual, there are way more fantastic Plone Conference 2010 talk proposals than slots.   That means it’s time for you to help out Matt Hamilton and the rest of the Plone Conference 2010 team at Netsight by voting for your favorites.   There’s just a couple of days left: voting ends on Sept. 17th, and the selected talks will be announced on Monday, Sept. 21.  Gonna be a long weekend in Bristol. ;-)

How to support your favorite candidate or ballot initiative this fall: place some targeted Google or Facebook ads

My parents-in-law asked me last night, “Is there any useful way can support I-1098 other than by phone-banking, which we hate?”

I thought about it a bit, and I said, “Well, you could place some Google or Facebook Ads, targeted at folks in Olympia, etc.”  Which got me thinking some more.

The obvious things to do would be:

  • Geotargeting — not just to the state level, but down to the city level.
  • Use Facebook interest targeting either to zoom in on likely supporters or to try to find possible swing voters
  • Instead of linking to the generic campaign website, maybe try linking to a landing page that explains how to place ads of your own.  (i.e. try to make the idea go viral)

Has anyone ever tried this?  Is it effective? It seems like it could be a lot of fairly inexpensive fun.

5 Things That Rock About Plone 4

The Plone community, led by Plone 4 Release Manager Eric Steele, just pushed out Plone 4, a huge upgrade to my favorite content management system.  Incorporating over three years of work from over 300 contributors, there’s a lot to be excited about.  Plone 4 takes Plone to new heights of speed, usability and just plain good looks.  Here at Groundwire, we’ve been developing several client projects against pre-release versions of Plone 4, so we’ve already had a few months to put some mileage on it.  Here’s what I’m most excited about:

1) New graphical HTML editor: TinyMCE

For most day-to-day Plone users, the graphical HTML editor is Plone.  Plone has shipped with a graphical HTML editor included since Plone 2.1 in 2005, and it still amazes me that some major open-source CMS projects don’t include one out of the box.  (Yes, I know some users like “choice,” but that’s no excuse for not having a sensible default.)

Plone 4 now includes TinyMCE as its graphical HTML editor, replacing Kupu, which has served us long and well.  (And which continues to be an optional add-on.)  TinyMCE deliers a much more polished, user-friendly and customizable content editing experience

I waxed enthusiastic about TinyMCE when it was first released as an add-on for Plone 3, and my love for it has only grown deeper with time.  Our not-so-HTML-savvy clients love it, too.

2) New default theme: “Sunburst”

For the first time in its 9-year history, we’ve shipped a new default theme with Plone.  It’s called Sunburst, and it’s a triumph of elegant minimalism in web design.

Sunburst’s beauty is more than skin-deep.  Designer (and Plone co-founder) Alex Limi is User Experience Lead for Mozilla Firefox, so he knows a thing or two about how to make the web beautiful, usable and accessible.  Sunburst incorporates all of the wisdom he’s gained over the years, and a TON of usability feedback from everyday Plone users, Plone integrators and usability experts.

The other great thing about Sunburst is that it’s easy to customize.  We’ve stripped down the templates and the CSS, removing a lot of clutter that had crept into the default Plone templates over the years.  This will make things much easier for site integrators and theme builders and sets the stage for more improvements to “through the web” theming in Plone 4.1.

3) Vroom!

Plone 4 is fast, fast, fast.  If there was a singular obsession of the core Plone developers during the Plone 4 release cycle, it was making Plone go faster than ever before.  Hanno Schlichting was the “speed champion” for Plone 4.  While most of the Plone team has been focused on building new features and refining our UI, Hanno was tinkering in the lab, doing performance profiling to figure out exactly where we were wasting precious milliseconds.  Then, he dove into the code and figured out where to make exactly the  right tweaks to speed things up.

The results speak for themselves. Plone 4 is about 50% faster overall than Plone 3.  It handles heavy user loads far more gracefully (up to 200% better than Plone 3).  It uses less RAM.  And our “out of the box” uncached performance is now over 3x faster than the default installs of PHP solutions like WordPress, Joomla! and Drupal that are often regarded as “good performers.”

And the best is yet to come.  Plone 4.2 is planning to offer another optional 50% performance boost by letting you use Chameleon, a drop-in replacement templating engine that works with our existing Zope Page Templates.  (Brave folks can try out Chameleon right now, but you have to be certain that all of your templates are XHTML-compliant.)

Hanno’s goal for Plone 5 is to boost our performance by another factor of 3 and hit 50 pages/second uncached on commodity hardware.  Vroom!

4) BLOBs: how unfattening!

In olden days, Plone stored uploaded files (aka “BLOBs” — that’s Binary Large OBjects) directly in the ZODB.  That was clean and simple, but unfortunately, meant that sites with massive numbers of documents & images produced bloated ZODBs that could be hard to manage.  Worse, Zope used to be somewhat inefficient at serving up these big files, which could really slow down a site.

There have long been add-on products for Plone such as FileSystemStorage that alleviated these problems, but these were imperfect solutions.  As it turns out, the fix really lies at the level of the Zope database itself.  And Plone 4 uses ZODB 3.9, part of Zope 2.12, which includes native support for filesystem storage of BLOBs and for super-efficient uploads & downloads.   This is a big deal, especially for Plone-powered intranets, who will find their ZODB sizes and RAM usage dropping dramatically and user satisfaction zooming skywards.

(Bonus: Plone 3 users can take advantage of this technology by using plone.app.blob, although getting it installed and configured does require solid intermediate Plone-fu.)

5) More bling!

Plone 3 included jQuery, the awesometacular javascript library that now handles most of our javascript interactivity.  Plone 4 ups the ante by including jQuery Tools, which makes it easy to build super-polished user interfaces with modal popup dialogs and forms.  We take huge advantage of this in Plone 4, by moving lots of commonly-used forms and confirmation dialogue boxes into fast, slick popup forms.  This makes day-to-day tasks like logging in, deleting content, and adding users faster and more enjoyable than ever.

Plus, add-on product authors and themers can now count on jQuery Tools being there, letting them build even more polished and effctive user interfaces for their add-on code.  For example, we’re taking advantage of it in Megaphone to make a really slick wizard for composing online advocacy letters and petitions! Plone.org’s sliding panels and accordions are all built with jQuery Tools.