This is coverage of Day 2 of ZendCon07. Previous days coverage are here – Day 0 Tutorials, Day 1 Part 1, Day 1 Part 2 – and my presentation given on Day 1 is available here. This post will likely be updated with photos once I dive into the Flickr steam.
The opening keynote of the day was from Lee Brimelow from Adobe demo'ing Flex and some other nifty toys. He showed off a few live demos and live applications that are out there including Google Finance and Buzzword. But more than anything, he focused on using Flex on the frontend to wrap a PHP backend and how they can play nicely together. Just a few years ago, the message seemed to be that Flash was The Way and we ended up with an entire generation of entirely Flash websites… and their creators went into hiding ala the humans in Terminator. Obviously since Adobe's purchase of Macromedia, something fundamental changed in their message and it's good to hear a more pragmatic approach.
The single oddest moment was the discussion of how to integrate the Flex and PHP. REST, JSON, and AMF all make sense and were expected… then he pointed at Drupal. Flex integrates with Drupal. Then he dove into a few Open Source AMF tools, etc… which he noted are based on reverse engineering the libraries which is against the User Agreement. So technically, it's "illegal" or "breaking the terms", so if you use/contribute to one of them, you might want to keep an eye/ear out on what's happening in that space.
The first session of the morning was Access Control with the Zend Framework from Darby Felton. I have to admit that permissions implementation and management is a simple concept… at first pass. Once you actually try to do it and implement it, you see the sheer complexity and variety of options possible. That said, Darby filled his presentation with examples ranging from simple allow/deny to simple hierarchies to Roles to additional conditionals – think "you can only access this resource with Role X from 8am to 5pm EST" to a handful of other things I don't want to consider. It was an impressive demo of the Zend_ACL functionality and I'm looking forward to diving into it at some point. But that's the nice thing about the Zend Framework. If you don't want to use a component, most likely you don't have to do anything with it… ever.
The next session was from Brian Aker of MySQL talking about Amazon Web Services: EC2 and S3. First, he kicked Marc Andreeson for a quote along the lines of "you can't make a company without VC's anymore…" and pointed out that Amazon's offerings can help alleviate some of the problem. If you're not familiar with EC2, it's a relatively simple concept with some powerful aspects… when you want/need new servers (nodes), you fire them up. He covered it from a variety of angles ranging from using EC2 as a test bed for software to building out an entire infrastructure on it to using it just to supplement your existing infrastructure when you have to scale. The best part was that he provided a handful of examples on exactly what he's done and is currently doing.
The post-lunch keynote was Joel Spolsky of Joel On Software talking about "Great Software". I caught this one at the Better Software Conference last year and it was just as good the second time around. He has a good mix of humor, story-telling, and slides that get his point across. It's not good enough to make software that works… you have to make software that makes people "feel good". Kind of screwy, but he points out that giving feedback to the user, focusing on what they want/need to do, and generally ways to make things feel better. Tough for us to wrap our heads around.
Key Quote: "The iPhone is this nice little smooth thing that if you swallow it, it won't get caught on anything."
The next session was "PHP Diversity -PHP applications in a Heterogeneous IT Environment" by Joe Stagner from Microsoft. He identified a number of issues that PHP'ers have faced in dealing with anything Microsoft over the years and pointed out what they're doing to solve it. It's good to see Microsoft in the space, but honestly it just isn't relevant to me anymore. Even for local development, I run AMP on Ubuntu and most of the people I interact with are relatively advanced developers and use Macs or Linux.
The final session of my day (missed the final one due to calls) was "The Grown-Up Company's Guide to Development" from Brian DeShong of Schematic. His perspective was interesting. He described some of the issues that he combatted within his group in terms of coding standards, team managment, code reviews, etc. This seems to be one of the major common themes of the conference this year… organizations that adopted PHP in the last couple years and didn't have a plan in place, it just sort of happened. And now that their applications/teams/organizations are getting bigger, they have to figure out how to move to the next level. It's a sign of maturity that I hadn't noticed before and Brian did a solid job of covering strategies, tips, and tactics.
After my calls, I joined the reception hosted by Gaia Online and then followed on by Yahoo. Karaoke was an interesting trainwreck to watch and there were numerous people talking PHP internals and sharing war stories… after all we are geeks. While there are a number of people who don't remember the Yahoo reception, I am one of them. For the people involved, I hope the footage is destroyed soon…