A couple days ago I attended the monthly Boise geek-together (The Boise Web Technologies Meetup) where we had a round-table discussion on our software development process, mostly regarding web applications. There were folks there from a number of different disciplines, ages and experience, and it was nice to hear how different-sized organizations set up their systems.
There was a representative there from MySQL, who presented a couple Meetups ago (a super cool presentation by the way), who mentioned that he was planning to do some load testing on MySQL using Drupal as a platform. The load test is apparently called a "slap", and the visuals that it brings to mind are amusing. If I had more energy at this early hour, I'd put together a graphic of personified logos duking it out.
Splitting Drupal across different servers
The "slap" will test if there could be a performance boost by splitting up different types of queries between different servers through a proxy. So for instance, all read queries could go to one server, and write ones to another, or possibly splitting up heavy-load pages between servers on a page-by-page basis. He said that he would probably be doing the testing sometime in December, though he's not guaranteeing that the tests will actually bring about any kind of epiphanies in how to optimize Drupal across multiple servers.
I just thought it was pretty cool that a real MySQL guy is going to be using Drupal to test MySQL.
I had a little time to kill today, so I visited a couple cafes in Boise that, according to this site, had free wi-fi.
The first stop was Java Downtown Boise (map), which, I must congratulate myself, was a good choice for atmosphere, though the food (turkey sandwich) didn't quite hit the spot. While I was there, I experienced the ubiquitousness of social networking (as if I needed more proof), as the fellow next to me hung out on Facebook and the computer a couple tables down was working on their MySpace gallery. I couldn't see any other screens around me, but odds would say that there was more Face and Space than I could see with the naked eye.
There were comfortable couches, lots of windows, happy and friendly staff, and was nicely populated and not overcrowded at 3-5pm. They also apparently serve breakfast, which I would probably select next time as the meal of choice.
One of the associations / groups I volunteer for is one of ITT Technical Institute's advisory committees. For anyone wondering why, the answer is that they asked and I said yes. They have a couple meetings a year and there's free lunch. Free lunch! Beat that and I'll join your advisory committee, too.
Coasting as I am on a bit of a Drupal high, I brought up the concept of Drupal in the meeting. They hadn't heard of Drupal, nor of any other CMS besides DotNetNuke, which I was a little surprised about. But from what little I know about the school, they give a cursory overview of lots of different tools and disciplines and never get very deep into any section in particular, so it makes sense.
They did seem to get pretty excited about Drupal, though, even though I would assume it would require that they spend more time on the web design aspect of the curriculum. Most of their web students are headed in the direction of web design rather than web development, and the idea of showing them how they can put up a fully functional web site without getting their hands dirty with code is attractive.
The benefits and dangers of teaching Drupal in college
I came across a few articles a while back about a Stanford class that is teaching an entire class on "Creating Engaging Facebook Apps". A whole class. On programming for Facebook. While it's possible that the class exists for reasons that don't have anything to do with landing kids jobs, let's assume for a moment that that the central purpose of the class involves how students may be able to capitalize on this particular knowledge to get jobs or create their own killer startup.
I'm not particularly in the know here, but I would say that the class sets a precedent for how higher education views specialization in web development. Not only can you specialize in a programming language, or in designing intranet vs. extranet sites, but now you can also specialize in the specific technology provided by a single web site. Because there's money there, I would assume.
The scary part
Okay, so say in a couple years there are a couple of universities pumping out kids that are super highly qualified to design and manage Facebook applications. And certain companies are able to captivate huge Facebook because of the sheer number of talented developers out there pooling their creative resources.
And then, something like Google's Open Social comes along and offsets the significance of any single social networking site. Suddenly there is less demand for Facebook programmers and more and more student loans go unpaid.
I suppose this is a scenario graduates face with any specialized technology. Things change. But it would sure suck to graduate and have lost so much mental equity to a Facebook fad. When you feed money into your brain, you should get something back. That's how capitalism works.
But I digress.
Back to the topic at hand - Go Drupal, save The World
So, if a private college offers specialized courses in Drupal, what's to guarantee that Drupal won't be obsolete by the time students graduate? Nothing can guarantee it absolutely, but there are a few good signs that Drupal is gaining a kind of momentum that won't be easily quenched by competitive forces or big, jealous money.
- In an interview with Dries Buytaert, the founder of Drupal, he was asked the longevity question. His answer was smart, which was that most of what is at the heart of Drupal is 'ideas work' (my words). Many of the problems Drupal seeks to answer are not based on a particular programming platform, but are rather broader problems that all applications will run into at some point as they seek to develop a flexible Rapid Application Development (RAD) infrastructure.
- Drupal is open-source, and has already established a culture of sharing as a plausible, workable business model. Big companies like Sony BMG and MTV have hired Drupal developers to program new modules, or improve on existing modules, and then they contribute that code back to Drupal. These are displays of confidence in the open-source model by big companies, in opposition to the 'Mine!' approach of most custom-built CMS's out there.
- Drupal is like an onion - it's smelly, goes good with nachos and ... it has layers. As a programmer works their way into the layers, they continue to like what they see. At it's core, Drupal is based on a number of well thought-out APIs that act as mediators between developers with varying needs. There's very little restrictions at the core that would prevent you from doing exactly what you want to do. But it guides you to do everything in a good way. "Freedom in fences," as my high school creative writing teacher put it. The deeper you go, the more committed a programmer becomes, because they're forced to do things the right way, and not only that, but it's easier to do it the right way, and how can that not give you a warm fuzzy feeling?
The Drupal Tech. Institute?
Probably not, but I'll be excited if Drupal makes it through the miles of red tape it would be required to traverse to make it into ITT Tech's curriculum.
There we go. I'm a big fan of DreamHost customer support. Every once in a while something happens that shouldn't (as is a common problem with all types of businesses, one would think), but they'll quick to respond and I think their staff must go through customer relations training. They're always super polite. Take for instance the first line in the response from support:
Only my mom calls me Christopher! Next they're going to be sending me care packages.
I just got a call from a user of our free web counters, letting us know that their counter wasn't displaying properly. Our web host moved us to a less crowded server yesterday, and it looks like the the site that is hosting our counter is having some server issues. We have submitted a ticket, and DreamHost is usually very good with their support, so I'm guessing we will be back on-line shortly.
I'll keep you posted!
I'm coming to the end of my web analytics heat map blog-a-thon, and have one more post in me before calling it quits.
After testing out the web analytics software, I tested out the seemingly popular (based on other blog entries on the subject) Crazy Egg heat map analytics tool. I let it sit long enough to get a few clicks to see how the service differs from the ClickHeat program.
The Crazy Egg Web Analytics Tool Pros
Just like I'm a sucker for simplified self-help books, I still get good feeling around kid-gloved web 2.0 sites. I guess it feels good to have things dumbed down. Some pros to the Crazy Egg service:
- Nice interface: Of course, that's the web 2.0 claim to fame - it's all about the interface. Crazy Egg has a really simple signup and dashboard. It's hard to get lost.
- Multiple viewing styles: You can choose to view via an Overlay (a bit like the Google Analytics method), List (a table summary view), Heatmap (a heatmap view with nice colors), and Confetti (view every click color coded based on referrer). I like the multiple views, it seems like this gives you a broader view of what's going on with the site.
- Good detail: The clicks track what page the clicker was on before they came to the page where they clicked (referrer pages), which is nice to see.
The Crazy Egg Web Analytics Tool Cons
Maybe I got a little taken by ClickHeat, and how simple, ubiquitous (easy to install on your whole site), and FREE it is, but I have a slightly longer list of cons for the Crazy Egg web analytics tool.
- The rules aren't clear: It's difficult to tell what's being tracked an what's not. Are your own clicks counting? Are repeat clicks counting? How are repeat clicks defined? I dug through the limited help on the Crazy Egg site and couldn't find a good answer.
- Limited pages in the free account: Software developers have to make a living somehow, and these guys seem to have put together a nice product, but their highest plan is $99 / month to track 100 pages. To track all of the pages on my site, we'd be talking twice that. $200 / month to me is a bit of a killer. I think their model is to use the web analytics tool to work on specific pages at a time, rather than the entire site.
- Limited Options: It doesn't seem like there's a lot you can configure, besides blocking IPs. With ClickHeat, there are several options (though not all of them may be terribly useful).
ClickHeat is the current winner in my private web analytics competition
I think ClickHeat wins overall for full web site tracking, while Crazy Egg is nice and comfortable for the limited campaign. Overall, I like the style of ClickHeat a bit more because of the options (including testing options) available.
Since it doesn't look like there is currently a Drupal Module available yet for ClickHeat, I thought I'd just to a quick how-to integration until someone puts together a module for it (maybe me!):
- Download ClickHeat and unzip / unpack it.
- Upload the whole clickheat folder to your root web site folder
- Visit the clickheat folder in your browser, as in mysite.com/clickheat
Now, you'll want to make it so that it will automatically know when it's on a separate page. The way to do this is to grab the $variables['title'] variable and make it your ClickHeat Group. On my page, I use the following code:
clickHeatSite = 'ibd';clickHeatGroup = '<?php echo $click_heat_title;?>';clickHeatServer = 'http://www.mysite.com/clickheat/click.php';initClickHeat(); //-->
The only thing this code does is replace the single quotes in the title and replace them with double quotes, then sets it as the clickHeatGroup variable.
Heat maps in Drupal, super easy analytics!
In combination with Google Analytics, this should give you a pretty good overview of how best to optimize your site for more targeted clicks.
As a member and fellow instigator of the Boise Idaho Drupal Development group, I am (somewhat painfully) aware that there are either few Drupal developers in the Treasure Valley, or that there's loads and they don't get out much. Nor do they have web sites (which seems unlikely).
However, having only mentioned Drupal on my web site once or twice now, it has come to my attention that there is a pretty significant need for Drupal developers in the Boise, Idaho area. How come? Because I've already had 3 calls in the last three weeks requesting proposals or introductory interviews from folks wanting Drupal development, and the first one came before I had even mentioned Drupal on my site. They had dug me up from the Boise Idaho Drupal user group.
Why the huge need in Boise Idaho for Drupal development?
I actually don't think there's a particularly large need for Drupal development in the Boise area, or in Idaho in particular. I think it's a worldwide phenomenon, and as more businesses start to understand what Drupal is and what it's capable of, it's only going to get worse (better).
I'm excited at the prospect. Drupal allows developers to improve the quality of their coding, and splits the design from the programming, both of which make for an excellent web development business framework. As a business expands, designers who don't know anything about code can be hired and fired alongside developers who don't give a hoot about design (the whole View-Model-Controller schema, to throw in a geeky buzzword).
Boise Idaho, here comes Drupal
There's no way to get around it, web sites in the Boise Idaho area area going to start improving in quality as more and more sites are built on the Drupal framework. As more development firms start to embrace the idea, consumers will have a bit more choice in the matter. Right now, based on my super limited research, there are only two firms in the Boise area specializing in Drupal development, and a couple of others that mention it in their 'everything under the sun' list of services. Drupal allows for de-centralized development, meaning that the code is fairly portable from one developer to another. Another level of competition / cooperation among web developers might do the Treasure Valley some good.
The ClickHeat web site service is one of many out there that allow you to view a 'heat map' of clicks overlaid on any of your web site's pages. The heat map colors areas that get a greater number of clicks with a brighter color. I haven't yet had a chance to compare it with other, similar web site services out there, but out-of-the-box, this one has a lot going for it.
The Pros of the ClickHeat web site service
- It's FREE! I wouldn't neccessarily put this at the top of the list if everything else hadn't been pretty easy as well, but installation went fairly smoothly, and the learning curve was mild. So, you're not wasting good, billable time getting it installed.
- Few dependancies: The ClickHeat web site service is almost a stand-alone product. It requires PHP and the GD image library, but since it's installed on most hosts by default anyway, it's ready to go out of the box.
- Installation Wizard: One thing that's easy to skimp on if you're trying to get a piece of software out the door is a decent installer. The two-step ClickHeat installer is fairly decent (though not perfect), and gets the job done.
- Good help: I ran into a couple issues during the process of testing the ClickHeat web site service, but most times there was some kind of link or help message that lead me to the answer of what might be going wrong.
- Adaptable for different layout types: If you're a web developer and you're thinking ahead, you might wonder how the software works with different types of layouts. Every web site is a little different and handles different browsers and browser window sizes differently. ClickHeat lets you set what kind of layout your site has, whether it's fluid, fixed, or has fixed columns. Most web sites should fit into it's 7 different options.
The Cons of the ClickHeat web site service
I'm sure I'll have more to say about the cons Clickheat as I try a few more heat map services on my web site, but here's what I have so far:
- Not a lot of analysis available: You get to see the heat map based on clicks, but you don't get any additional features, like following a particular user through their clicks, or seeing additional details about a click when hovering. I suspect paid web analytics programs employ more powerful analysis services for web sites, but this is fairly simple.
- Not enough description for the admin options: I ran into a problem after specifying a 'white list' of referrers for the program, which for some reason disabled the clicks I was testing with. I had to head to the ClickHeat FAQs to find the answer. I just assumed that the input was required.
- Odd account and password entry: When setting the configuration of the site, you have to supply a username and password as if you were creating a new account, even if you're logged in. This isn't a huge deal, but this could be moved to another page.
All-in-all, ClickHeat seems like a decent, free web site service, especially if you're just trying to optimize a few of your pages. Additional levels of analysis would be nice, but this is an open source program, which means folks can add in some more functionality if they want it.
Holy cow, I didn't know web analytics could be this fun! I installed ClickHeat on a local server, ran a couple of tests, and then loaded it to my live site. After a few minutes, here's what one of our popular MySpace CSS articles looked like:
Tell me that's not a whole lot of fun!
What do these particular analytics tell me about my web site?
Before getting into a review of ClickHeat, let's see what we can glean from the heat map above:
- First, it looks like people like to click in the green boxes that surround the code sections of the page. My guess is that they're hoping to copy the code so they can paste it into their MySpace site. Or, they could be clicking and dragging their mouse to copy the code. Either way, I could probably make some people happy by adding a way to easily copy the code.
- The couple places that seem to be the 'hottest' on the analytics map of the web site seem to be outside of the box. Perhaps this is from people highlighting the wrong bit of code, and then clicking outside of the box to clear the selection? I don't know, but it will be worth watching to see if the trend continues.
From this information, I could infer that possibly by including a Google Adsense block inside of a green box, I might draw a few more clicks, just people that's where people are clicking. They'll probably navigate around the ad a bit, but if I stuck the ad smack dab in the middle of the code, folks would have to look at those ads a couple times to get the whole code. Hmmm... maybe I'll have to give that a try.
A full review of my experience installing and experimenting with ClickHeat is coming up next.
I've experimented with a number of mice over the last couple of years (I don't mean the fuzzy kind) and keep coming back to this 10-dollar HP optical mouse. It was the first mouse I had that glowed all the time, and maybe for that reason it's carved out a special place in my heart.
Because this particular mouse has been subject to so much handling, it's got some battle marks. Take a look:
Because there are multiple layers of finish on the hand rest and buttons on the mouse, you can see exactly which parts of the mouse sustain the most wear. Even though it's probably not heat so much as friction which caused this wear, I would naturally call this distribution of wear a 'heat map'
What's a heat map? Remember Predator.
Back with even the darkest movies had a healthy dose of cheesy, and CGI effects were limited, Predator captivated me as a child. Somehow I was allowed to watch this gruesome, Arnold Schwarzenegger vehicle in my formative years, and the only parts that were really cool were when the Predator was camouflaged, and when we were looking through Predator's eyes and saw this cool view of the world that was composed of red and yellow blobs (i.e. infrared). The data gleaned from the infrared view allowed the creature to predict where it was most likely to find it's next meal. The hotter it was, the closer to the red end of the spectrum it would appear. (Another example of Buckingham Palace's energy loss).
My guess is that there's a couple of reasons why this kind of visual is attractive to us. One is the pretty colors. The other is that it gives us a real, tangible graph of a specific metric. For the Predator, it was heat. For Buckingham Palace, it's energy loss. For me - if I can find a decent program - this kind of map could tell me a lot about how to optimize my site for my visitors.
Optimizing a web site using a heat map (or click map)
A click map is a heat map based generated on where your users click. Google Analytics provides a rough kind of click / heat map, but it only shows you how many clicks a particular link got. And if more than one of your links goes to the same page, all the clicks will be counted together, which skews the data. Plus, you can't tell where on the link they clicked, whether it was on an icon, on the first word, the period at the end - you just don't know.
The Mission: find a good, cheap heat map / click map program
While I've been interested in using heat maps for quite some time, I've been fairly satisfied with the metrics I get form Google Analytics and my web host's server log analyzer. However, for the sheer coolness factor of it, I think it's time to see if I can get myself into a good click maps program on the cheap. I'll go ahead and post my reviews here so other web site owners have an easier time of picking a good heat map / click map product. Stay tuned!