Blog

Increasing Drupal Performance by 265% in 10 Minutes

in

PHPInstalling a PHP accelerator can be an easy and effective way to speed up your applications.

PHP is a scripting language, meaning your code must be parsed, compiled on-the-fly, and finally executed for every page request. It's not difficult to see how this approach is less-than-optimal.

A PHP accelerator (or opcode cache) like APC works by keeping that compiled code in memory. The result can be a boost in performance anywhere from 2 to 7 times.

I installed APC on my Ubuntu 1.8GHz VPS with 1GB of memory from VPS.NET with a few short commands:

aptitude install php-pear
aptitude install php5-dev
aptitude install apache2-dev
pecl install apc
echo "extension=apc.so" > /etc/php5/apache2/conf.d/apc.ini
/etc/init.d/apache2 restart

I ran Apache benchmark before and after to get an idea of the gains. With 10 concurrent users requesting 100 pages each, my page loads jumped from 23 to 86 per second. 265% faster. Not bad for the default configuration!

Gone Skiin'

in

A few more trips up to Stevens Pass and I'll be ready for this.

Superior, Speed Fly from Marshall Miller on Vimeo.

I'm Moving to Seattle!

On June 1st, I begin work for the University of Washington at the Institute of Health Metrics and Evaluation.

View from our new apartment

IHME was created at the UW with a Bill and Melinda Gates Foundation grant in 2007. They make high-quality public health information available to researchers and understandable to policy-makers. The projects they work on are fascinating and I can hardly believe I'll be working there in a few short weeks.

I'm incredibly excited to head west with Brooke to start new jobs and explore a beautiful city. Everything about this intimidating logistical undertaking is coming together perfectly.

  • Brooke has been staying with Kate and Kris for the past week and started her new job yesterday.
  • She has already found a beautiful new apartment for us in Eastlake overlooking downtown Seattle and Lake Union. The photo above is the view from our future living room!
  • Our good friend Adam is going to look after our Des Moines condo until it sells.
  • The wonderful people at IHME have been willing to get very creative in order to work out a start date that works for both of us.

Of course, I'll miss my family, friends, and coworkers here. Des Moines is a great city with great people. But the world is a pretty little place with things like video chat and plenty of daily departures out of Des Moines International. We'll be back often!

Okay... and now I want to see when you are all coming out to visit in the comments. :)

Guest Speaking at Drake University

Old Main, Drake UniversityI had the pleasure of speaking (again) to Dr. Kelly Everling's PR Copywriting class at Drake University yesterday.

We covered a lot of ground in an hour:

  • Creating usable sites
  • Why it's so important to write clearly and concisely on the web
  • The basics of search engine optimization
  • How to drive traffic with linkbait
  • and more!

It's great that Kelly is exposing her students to these issues, knowing full-well that many of them will someday be asked to produce content for the web-- no matter what their job title is.

I was really impressed by their participation and appreciated their great questions.

I'm schedule to talk to a design class next week. Looking forward to it!

The Elements of User Experience by Jesse James Garrett

Book cover: The Elements of User ExperienceYou're on your way to becoming a bona fide designer with the five planes of user experience design.

This slim book should be required-reading for anybody that puts their hands on a web site. From strategic planing to layout and visual design, Jesse James Garrett brings a wide range of concepts together into one easy-to-grasp model.

Ignoring user experience design costs you money.

Call them life's little miseries. You're late for work because the switch on the alarm clock was in the middle position instead of all the way to the left. You rear-end the car in front while fiddling with your phone. You loose unknown numbers of sales because your web visitors are not filling out the contact form properly.

User experience design makes sure that everything that happens on your site is planned-for and on-purpose. This book breaks it down into five easy-to-understand planes:

  1. Strategy plane
  2. Scope plane
  3. Structure plane
  4. Skeleton plane
  5. Surface plane

1. It all starts with strategy

Most sites that fail do so because nobody explicitly defines what they want out of the site, and what users need from it. What are your objectives? Your business goals? How are you going to measure success?

This plane examines user needs, research, creating personas, identifying team members and stakeholders. It's the foundation that the other four planes build on.

2. Defining scope isn't just about what you will and won't build.

It's about identifying potential rough spots in the process. It's about having all team members on the same page. It's about avoiding the dreaded "scope creep."

Here, you're gathering requirements from stakeholders and users. You're coming up with functional specs and content requirements.

Most importantly, you're deciding which ideas not to implement. Instead, prioritize them based on your strategic goals.

In my experience, the two most-often overlooked planes are Scope and Strategy. Too many people think that they need a web site "just because" (lack of strategy) and then simply copy/paste everything they have into it (lack of scope).

3. The Structure plane is the realm of interaction design and information architecture.

This is where the abstract ideas behind strategy and scope become more tangible.

Begin to address what works best for the user here, rather than waiting until you reach the skeleton plane or surface plane.

As a Drupal developer, I was pleasantly surprised to see terms such as node, controlled vocabulary, and metadata introduced here. My life would be so much easier if everyone were familiar with them.

4. The skeleton plane defines form and function.

This plane begins to bring visual elements into focus. It has three key aspects that work closely together:

  • Interface design is about making sure the most important things get noticed.
  • Navigation design gives users a sense of "geographical" awareness. It gives them a way to understand where they are and where they can go.
  • Information design communicats information in a way that makes sense to the user.

This is where page layouts come together in the form of wireframes. They are used to establish the visual design, as well as to check progress against the strategy, scope, and structure of the site.

5. The surface plane address how elements are presented visually.

Visual design is not really about aesthetics or taste. (If that were the case, it would be called "decoration.") The ultimate goal of visual design is to reinforce, not distract from, the structure defined in the skeleton plane.

A good visual designer uses many tools, including:

  • Contrast
  • Uniformity
  • Consistency
  • Color
  • Typography

The user's eye should have a path to follow-- a short "guided tour" of what's on the page.

These ideas scale

The five planes can (should!) be applied to every web project, no matter the size or budget. What may seem like unnecessary overhead or busy-work will end up saving you time and producing better results.

The Elements of User Experience should be on every web professional's shelf next to other classics like Jared Spool's Web Site Usability and Steve Drug's Don't Make Me Think.

Finishing the NYC Marathon

in

Scott running the NYC MarathonOn November 1, 2009, I finished the New York City Marathon.

It is a massive event. More than 43,000 finishers run along a route through all five boroughs and past (I'm told) and estimated two million spectators! And a big thank you to @LizaK and @NikaK for letting Brooke and I stay at their awesome apartment in Brooklyn.

Vote for us!

in

Brooke and I have put together an entry for the SmartyPig "Dream Big" video contest. We'd appreciate all the 5-star ratings we could get. Thanks for your help!

What is Drupal... in 57 Seconds

in

The folks over at PingVision put together a great little piece of video explaining something that can be a bit tricky. What is Drupal, anyway? This weekend, they announced that their effort won them SIX Telly Awards. Nice work! Congratulations.

Joining the Drupal Association

in

Drupal Association MemberThis morning, I finally got around to joining the Drupal Association. It's the organization responsible for the infrastructure, funding, and promotion of Drupal, the open-source software that powers hundreds-of-thousands of web sites both small and large. I consider this just a small gesture of appreciation and support for an amazing community that really does have the potential to save the world. Go Drupal!

New York City Marathon

in

I found out yesterday that my name was drawn in the New York City Marathon lottery. I couldn't be more excited! With more than 100,000 applicants and "only" 40,000 runners accepted, some people try for years to get in.

This will be my 3rd marathon. I've run the Des Moines Marathon and Grandma's Marathon in Duluth, MN. I'm hoping to break 4 hours for the first time in New York.

If you have any interest in running at all, I'd really encourage you to take a shot at running a marathon. It's not as hard as it sounds, I promise. You'll be in the best shape of your life, you'll meet great people (like the folks at Capital Striders), and you'll have a lot of fun.