The first day of the 2007 MySQL Conference began with setting up the exhibit booth for dotProject. The booth was manned by myself, one of our great users – Trevor White from Ben's Ranch, Inc. – and occassionally even the project leader of dotProject, none other than Adam Donnison. With little to no budget, we took a very minimalist route and kept it simple with a few computers and a simple verbal explanation and demo. Adam also brought a bit of dotProject swag from CafePress. Despite not having a large logo'd banner, the swag had quotes that consistently made people chuckle and stop to find out what/who we were. Since we were positioned one station from the main door and were the second group in the Dot Org pavilion, we had a huge amount of foot traffic.
When we began the day, we received many comments like "so you're basically Microsoft Project on the web?" so we immediately began to address that point and highlight the distinction. I've covered the core of what Microsoft Project isn't already, so I won't go into it here, but I will describe the rest of the explanation. For projects to be successful, you need regular and deep visibility into the project to know what's going on and when identify when corrective/preventative actions have to be taken. If you don't do this, you will suffer. In the morning, we had people ranging from software companies to major media and telecom to a few school district techs. It was a great mix of questions ranging from "who are you?" to "how do I fix my Gantt charts!?".
After lunch, I took a break and attended Bill Karwin's presentation on SQL AntiPatterns. Disclaimer: I've met and talked to Bill a number of times and he was the one who invited me to participate with the Zend Framework. Bill gave an overview of three to four common mistakes that developers make in database design. Some of them are simple and can be avoided with a simple tweak in database design. One of the biggest and deepest examples of this is concatenating id's into a comma-separated values in a varchar. I've never understood why people do this because you immediately lose any ability to join, find records, easily parse these values for display, edit, etc. The ironic part is that this is a simple database design change… so stop doing it. One of the other areas he hit was the concept of "Enumerated Attribute Tables" which are essentially tables of arbitrary values associated with a single record. This is most common in configuration tables – dotProject is an example – where you have a set of parameters that must be stored but the values are row-based insted of column-based. He noted that this is a sign of an incomplete data schema… true, but I have yet to find a way to confidently and consistently solve this one.
The rest of the afternoon was back to the booth. We had a number of great people from the community show up like Eli White and great groups around us like Eventum, one of the lead XAMPP guys, and some of the core phpMyAdmin team. It was honestly a great setup because most of the people interested in one of the projects was already familiar and/or interested in a few of the others. And since we were just steps away, there were quite a few ideas and discussions among all of us, some of them quite interesting and deep in the guts of the development and community issues we have to deal with.
The second and final session of the day which I attended was "How to Build a Highly Scalable News Site" from Reuters and Unisys. They talked about the huge system that they put in place to parse incoming news sources from their entire news system and deploy it to all of their sites. The interesting thing is that their approach was quite familiar and they solved many of the same issues in similar ways.
Finally, we closed the day with the Expo Hall reception. Once again, oru positioning was key. The food and alcohol was in the middle of the Dot Org pavillion and everyone passed within ten feet of us numerous times. There wasn't a single moment where we didn't have two, three or five people at our booth. Some were familiar with dotProject and had suggestions and questions about the direction of the project and others had never heard of us before and learned a bit about us. The best comment we received was "Wow, finally a vendor with a product I'm interested in!" Never mind that we're not a vendor. 😉
After the reception, a number of us – Adam, Eli, Trevor, myself and a random attendee or two – spent the rest of the evening in the bar discussing issues vital to society and the continuation of the human race…