Zend Conference 2006 – Day 3

This is coverage of the third day and written throughout the day on 01 November. Previous days coverage is available here: Day 1 and Day 2. There is a fourth day that should be online Monday. Special thanks to Sebastian Bergmann and Cal Evans for their excellent photo coverage of ZendCon 2006.

This morning started off bright and early with Cal Evans – Editor of Zend's Dev Zone – kicking things off well. He introduced Robert Deaton who is the youngest Zend Certified Engineer – age 16 – who is also a conference alum. I talked to him a couple days ago and asked him how many job offers he's gotten. He didn't give a number but pointed out that he can't really just pack up and move to San Francisco. As evidenced by his mother flanking him this year and last… most hotels with an ounce of common sense aren't going to allow a 16 year old to check in by himself.

The opening keynote was from IBM. They've been a big proponent of PHP for a while and further demonstrated it by their explanation and description of what they're doing in the PHP community with Zend, the Zend Framework, and with actual open standards like XQuery, etc. I got a kick out of the fact that the iSeries – descendant of the AS400 – can run PHP out of the box.

The next session was a panel discussion of case studies of PHP led by Andi Gutmans with participants from Intuit – makers of Quickbooks, Tagged, and Intacct. Each of them laid out where they're using PHP, how they selected where and how to integrate it in their stack and some of the benefits they saw as a result. None of them have made a wholesale switch to PHP but they each have dropped PHP into the specific areas where it fits. The Intuit rep did discuss in detail how they started switching away from Java and into PHP. The strategy seemed to revolve around solving the biggest pain points and filling the existing gaps in their system, using it for faster prototyping, and steadily grew out into bigger and bigger proof of concepts. He estimated that they were able to double the amount of pages served with the same hardware by making the jump.

After a bit of discussion on strategies to optimize traffic flow, caching, etc, they went on to talk about what they're looking for in PHP developers. The interesting thing they pointed out was that they don't *require* PHP on the resumes, but a solid background in Java or something else – interestingly no one pointed to .Net – is often more important. Andi did the smart thing and asked (paraphrasing here) “Considering many of the core PHP developers are here, what are your biggest complaints?”. Intuit responded that they're looking forward to some frameworks being commercialized and supported accordingly. Sounds like an opportunity to me. 😉

The next presentation was Aaron Wormus' on “Moving to PHP5 With Style” where he covers a handful of strategies for moving from PHP4 (or before) to PHP5. The favorite strategy seemed to be doing a cut over… stopping development on the PHP4 code (except for bugs) and then branching the code to go down the PHP5 route. He also pointed out some of the fundamental problems that come with this strategy since much of the work you're doing doesn't actually move the project forward and tends to stress out the people who pay the bills.

The next presentation was from Jasien Mathai about “Efficient development Using PHP, JSON and AJAX”. One of the nice touches with this presentation was that his slides were entirely web-based and if you loaded up the url, your browser kept in sync. It was just a creative little pieces of Javascript, but it was an interesting discussion point. Anyway, he did an excellent job of showing JSON and giving an overview of how it can be used. Anyway, his presentation was riddled with lots of tasty little code snippets that we could copy, paste, and demo right then and there. It was by far one of the more interesting and engaging presentations so far this week.

Yes, once again, I missed Tony Bibb's presentation. Doh.

I followed up lunch by going to Aaron Wormus' second presentation “Planning a PHP 4 to PHP 5 Code Base Rewrite, A Practical Approach”. It was very closely related to his first presentation but was a more managerial/prepatory session. He admitted heavy influence from Joel Spolsky's – Things You Should Never Do, Part I. He offered some strategies on how to make the process less painful, less distracting, and more palpable to everyone involved. Personally, I'd love to see it in acton and hear of a few more specific case studies than the regular Netscape/Mozilla argument.

The next Keynote was from David Berlind on “The MashUp Economy”. He pointed to numerous mashups from startups, larger companies, and even in the Federal sector. It was interesting as he made the association between creating mashups – which are effectively simply UI's to existing data – to the infrastructure and development process which came about on the desktop… It was a parallel that I hadn't considered before, but after thinking about it some more, it makes quite a bit of sense. By using more information in better and creative ways the user decides, you end up with an application worth much more than the individual parts…

The next session was from Wez Furlong on his baby PDO – PHP Data Objects . Being completely ignorant od PDO, how it works, and why it would be useful – I had some ideas – I was overall impressed by how it works. Nifty. From the simple demo and poking around the docs, it appears to be the multi-tool of PHP/database interfaces. Just due to its nature, it handles many of the database-specific issues, prepared statements, and even transactions. Ah, the beauty. As of PHP 5.1, it's core, but it's still available as an extension for 5. Unfortunately, it doesn't work for PHP4, so it may be off the table for many of your and my projects. Regardless, yet another useful tool to add to the toolbox.

I skipped the next session and managed to figure out the secret handshake* to get to the Zend Framework meeting. Sitting around the table were quite a few smart people who are designing, building, using, or even just pontificating about the framework. There is a huge amount of effort happening, functional code, and libraries available despite only being labeled as v0.2.0. One of the things heavily discussed was reflecting that through the version number. I only went to get a bit of insight and listen to the direction of things but some of the effort fascinated me. Therefore, I will be submitting a Contributor License Agreement and sharing about my Zend Framework experience on the dotProject front.

The last event of the night was the Pirate Happy Hour. No, I'm not kidding… the picture says it all. Anyway, it was a great time to talk with the Zenders, share a beer with some other smart people, and generally kick around some interesting ideas. One of the best things about these conferences is the fact that you get the chance to stand around and meet some of the thought leaders and lead developers in many of the biggest and most important Open Source projects.

* secret handshake = finding the meeting room