Drupalcon Day 3
So, I didn’t recap right after, so I’ll guess at what my impressions were right after. I learned a lot about Drupal Project Management and Process Management.
It was very helpful to see how other companies do their project management… even if they weren’t using drupal their methods are so effective! So I was doubly happy when I found that our methods are very close to the methods. What methods you ask? Well they talked a lot about waterfall vs. agile development… the great debate. Where you start one task and you don’t start another until the previous is complete (waterfall) and agile where you start one task.. if you get stuck go work on something else… and do iterations of changes, tasks overlap in the timeline, etc. They say waterfall works great for old school sites with site maps and exact hierarchical structure. But realistically websites today (and especially dynamic sites built with drupal) are not hierarchical. Pages and articles link to each other in all different ways. There’s probably a primary and maybe a secondary navigation… but that’s it, the rest is a cloud. So it seems the best way to do this… (which we do, yipee!) is first stage planning, second stage design AND development. That’s right not design finalize and stamp of approval on design and then start development. We design and develop at the same time. That way while developing we say “hey, wait that doesn’t work the way we thought… it has to work this way… um, designer, can you change it so we can style it when it works like this?”. It goes through iterations of what works back and forth with designer and developer.
Another helpful tip, more interestingly enough… don’t show the client anything until the wireframe stage… don’t talk to them about content types, CCK, workflow and other drupal mumbo jumbo. It will only have them trying to speak your language (incorrectly) and create a communication divide. Talk to them in “real-world language” and then go back and talk drupal with your team. Don’t teach them more than they need to know… with the client less is more. Deliver wireframes to your client, deliver mockups to your client and deliver alpha site to your client. Never deliver an unthemed site to your client. We learned this one… it can terrify the poor client and they can lose trust in you. They don’t understand CSS and theming. All they see is something they didn’t want… whether it functions the way they asked or not! This was one minor mistake we had with our last client, but luckily the client didn’t overreact and only said uhh… can that all be on the same line and can’t that look like this? Which created extra time spent on communication and reassurance, but it could have been avoided… if we only showed the alpha and not the prototype to the client. If it were a different client it could have gone worse though… much worse.
Another interesting debate in these project management/process sessions was number of mock-ups or wire frames to show a client (as in different mock-ups or wire frames). Some people said you should only show one, the one the design/dev team agree on. Some said you should show many. I agree with showing many… but before I wasn’t convinced really in one direction or the other… though in practice we show many (3-4). Most times the design your team prefers (though maybe not unanimously) is not the design the client picks. But this isn’t a bad thing… because a client does not always know how to say what they need but they can point to it. You may not realize it when they pick the less desireable design but later in the process you will learn you did the right thing because the client picked it for a reason. When showing only one design, the client may be fine with it, but later may feel like you limited their choices and didn’t really hit on what they were looking for.
Drupalcon Day 2
Today’s highlight was Drupal + Flash. I had 2 sessions at the end of the day on this. One with Drupal + Flash and one with Drupal + Flex. The idea is to use Drupal as a backend for Flash projects. It’s genius! Separating content from presentation even further. Even more, it’s very simple. It uses the Services module in drupal to use AMFPHP (AMF = Actionscript message format, PHP = PHP). So Drupal will manage the flash connection to it with a session id, which keeps it secure. It uses flash’s NetConnection functionality and it’s rather simple. The most difficult part for me would be the PHP, just because I don’t program PHP, but drupal would need to respond to flash comments with the hook_service() command and custom functions that flash calls would be defined in here. Drupal can pass node titles, bodies, any CCK fields, taxonomy terms, and even files! Oh and the drupal login? Yea, flash can handle that too. It’s really quite impressive. You can build an entire flash front end website with Drupal as the CMS backend where a client can maintain the content. That’s pretty impressive! Travis Tidwell led this session and I must say he made it very simple and easy to understand for both experts and novices alike.
Flex can do something very similar. I’m not as savvy with Flex, just because it deals more with the backend programming that I try to stay away from. It uses the Services module in Drupal as well and can feed your Flex application with Drupal data. The code is shorter using MXML but I’d rather stick with what I know and what I’m good at… the design stuff with Flash. Not enough room in my brain for Flex.
Another good session I saw was on Scaling Drupal. They talked about how to make your site faster as it gets larger. I was very happy to see everything they mentioned we use. From tools to techniques… we covered most of it. Load testing (hp load runner, openload, jmeter), foxyproxy (never used this one), ySlow, standard drupal core caching, memcache, block cache, gzip, boost module (never used this either), Cacti (never used this), js aggregation, load js at bottom of pages, css aggregation and now CDNs which we’re looking into.
I found it amusing that almost everyone (well not everyone, but the majority!) has macs. It’s great that developers are now using macs… of course boot camp and vmware fusion/parallels has helped so they can run windows at the same time. Even if they don’t know it… the usability in the macOS is so stellar it may impress upon them how usable their sites/modules etc. could be… or maybe they’re just code monkeys
Here’s a screenshot I took during one of my sessions… Yes, that’s 108 computers on the wifi network and only 6, yes SIX windows computers, the other 102 are macs
There was a funny keynote today on “Is Drupal Moral?”. The speaker, David Weinberger, a philsopher, was pretty funny. His powerpoint was fantastic too.
Drupalcon Day 1
Unless you’re a big web technology nerd, you can just ignore this post, it’s mostly for my benefit later next week to remember what I learned this week.
Today’s sessions were somewhat productive. I picked up a few tidbits of knowledge. The highlight was probably Apache Solr. Somehow this technology missed my radar completely. It was my first time learning about it and there’s a module for it in Drupal. It’s based on Lucene. Basically Apache Solr is a wrapper around Lucene. It’s the coolest search ever!
It has result biasing; so for instance “sticky” articles can have higher weights (or lower), articles with more comments can have higher weights (or lower), etc. It also has advanced features that let you exclude content types or apply weightages for content types, even CCK fields weights! It lets the user sort by relevance, title, date, etc. in a block. It also lets users filter by content type in a block. It has a “More Like This” block that finds articles with similar keywords and suggests them to users. Like Google, it also has “Did you mean ***** ?” functionality. I guess sites like Netflix, Cnet, Citysearch, Stubhub, Gamespot and AOL use Apache Solr. It takes a dedicated server though and some configuration… I’ll have to investigate this further. Right now I’m sold on all the bells and whistles and the magic they performed at the session.
It was my first time seeing Dries Buytaert (creator of Drupal) speak. He’s an excellent speaker and kept the crowd engaged with his awesome slides during the keynote. He gave a great history of Drupal and how the community keeps doubling year after year.
I sat in for an Organic Groups session and it was sadly not as great as I hoped. It mostly confirmed everything I already learned on my own last week. Although, it did give me a [possibly] better idea for subgroups I need to look into (taxonomy).
On a side note, the convention center is not a safe neighborhood at all. My hotel is a nice historic hotel about 2 blocks away, but still it’s a bad neighborhood to walk through. Here’s some pics I took while rushing through to safety armed with my pepper spray! (haha… dramatic enough?):


