Monday, March 17, 2008

Art, film, and one-panel comics

If you like strange, wonderful, and inappropriate things, you must check out this comics and film blog by the boy who taught me to love graph paper.

Here are three reasons why:

  1. One-panel comics
  2. Two-panel comics
  3. More one-panel comics :-)

Sunday, March 16, 2008

Building a website: Setting priorities

So you've registered a domain name, signed up for web hosting, and are ready to start making a website. But where to start? Especially if your time is limited, it's hard to know what to work on first.

These are the initial to-do items that were on my list once I'd set up my domain and hosting:

  • Design a website template (the site's look-and-feel)
  • Start writing content and articles
  • Tell everyone about my awesome new site
  • Install WordPress
  • Set up website-monitoring tools (Analytics, Webmaster Tools, etc.)
  • Make sure the site's architecture is the way I want it (subdomains, subfolders, link structure, etc.)
  • Canonicalize my domain name and homepage
  • Put up a robots.txt file

So which should come first, and how should you prioritize a list like this?

In my case, being able to see the product of my work is very motivating; so my first step was to install WordPress on my site, and to pick a theme for the site. Even though I didn't have any of my own content yet, WordPress puts up an initial "Hello world!" post for you, so as soon as you've installed it there's something there on your site for you to look at (visual progress!).

Next, I worked on some underlying technical/architectural issues. I wanted to do anything that could seriously mess up my site right at the beginning, so that if I did mess something up, I wouldn't lose a bunch of content or visitor traffic in the process. This included canonicalizing my domain name, messing around with my .htaccess file, and installing plugins and other software on my site. I also wanted to make sure that the link structure of my site was just the way I wanted it, so that when search engines started indexing it and people started linking to it they would only see the URLs that I wanted them to see. To do this I changed some of my WordPress settings such as the category base, and picked which page would be my homepage.

Once I knew that all my site's content could be found at the right URLs, I was almost ready to start telling people about my site. But I did one last thing before letting the cat out of the bag: I set up Google Analytics and Webmaster Tools. Analytics tracks visitor traffic and behaviour, but it can only do so starting from the moment you install the Analytics code on your site; so I wanted to make sure that it was set up before I started getting the word out, so that I could track all of my traffic from day one. Webmaster Tools isn't as time-sensitive (since it doesn't rely on JavaScript to track statistics), but the sooner you set it up the sooner you can start seeing what statistics have been gathered for your site.

At this point I was finally ready for word to get out, so I started blogging about my new site. I also put up a robots.txt file to block search engines from crawling certain duplicate content that exists on my site. I'm using WordPress as more of a content management system than a blogging platform (which is what it's geared towards by default), so there are some ways of accessing content (such as by tag or by author) that don't make sense for my site, but I'm too lazy to research how to get rid of those URLs right now. So I'm blocking crawlers from them until I get around to getting rid of them altogether.

And finally, I started putting some actual content on my site. It's kind of like building a house... The point of it is to have a house, and you're probably less excited about the foundation than about the house itself, but you need to have a strong foundation in order to build the interesting parts of the house on top of it. Similarly, I'm excited about getting this site up because I have a ton of information that I want to post; but before I can get to the fun part (creating content), I want to make sure the technical foundations of my site are strong.

So that's how I'd prioritize some of the first steps. I'll go into more detail on several of these steps in my subsequent posts.

Next: Setting up Google Analytics & Webmaster Tools
Previous: Choosing a web host

Thursday, March 13, 2008

Building a website: Signing up for web hosting

After registering a domain name for my new website, I signed up for web hosting so that I could put some content on my new domain.

Choosing a web hoster

"Who's the best web host?" is a topic of constant interest on the internet, and everyone seems to have their own opinion. For me, it's Web Hosting Buzz. I've only ever worked with small-business-style sites, but for all my needs Web Hosting Buzz has been great. I've already blogged about why, and (since that post is almost a year old) I can confirm that they continue to exceed my expectations in both tech support and value (lots of features for a great price).

When picking a web hosting company, you should have some idea of your site's needs, so that you can ensure the hosting provider meets those needs. For example, if you plan to run a dynamic site (or install a CMS such as WordPress), ask whether the hoster supports PHP and MySQL. If you want everyone in your business to have their own email address on your domain, ask how many email accounts the hoster lets you create (some plans offer unlimited email accounts; others may limit the number or charge you for additional accounts). It's better to pay a bit extra for the features you need than to try to "get a bargain" and end up with a setup that doesn't do what you want. I've found FindMyHosting.com useful when comparing hosting plans.

Pointing your domain name to your web host

Your domain name is the address where users will look for your website; your hosting company is where the actual content of your site lives. If you didn't use the same company for both, you'll need to make sure your "address" points to where your content actually is.

When you signed up for web hosting, you may have received information about the nameserver(s) that your host assigned to you. If not, you can find this information in your hosting account. You'll need to tell your domain name registrar what your nameservers are, so that they can direct all your traffic to those particular servers. Generally there'll be somewhere in your domain registration account where you can input your nameservers. They'll look something like ns1.example.com, ns2.example.com.

Once you've got your domain name pointing to your content, you've got a basic website up and running!

Next: Setting priorities (a.k.a. What should I do next??)
Previous: Registering a domain name

Tuesday, March 11, 2008

Building a website: Registering a domain name

Two weekends ago, I took the first step in setting up my new roller derby website: I registered a domain name for it. Two, actually.

Choosing the right TLD (top level domain)

The site is for the roller derby practice group that I skate with. Since we're an independent, volunteer-run organization that's not trying to make a profit, I decided to register a .org TLD as our primary domain: pfmrollerderby.org. I also registered pfmrollerderby.com because I'm sure someone will forget whether we're .com or .org (since .com is such a "default" web-related buzzword for many people). I wanted to make sure we'd get the traffic from both domains, and I wanted to have more control over our "brand" by ensuring that no one else registered the .com version of our site.

Depending on how much money you want to spend and how much control you want to have over your brand name or domain name, you may want to register the same domain name with various other TLDs such as .net, .biz, country code TLDs (.de, .co.uk), etc. I'm cheap, though, and our group is fairly small and local, so I figured a .com and a .org were good enough. If you do register multiple domains, be sure to check back for my post on canonicalizing your domain name... once I get around to writing it.

Choosing the right domain name

A good domain name should be relevant, easy to remember, and easy to tell to someone else. Your domain name will often be the first part of your website that people see (e.g. on your business card or in search results), so try to pick something memorable but also descriptive of what people will actually find on your site. For example, if I do a search for [window blinds] and I get back search results from www.windowblinds.example and www.spirit.example, I may be more likely to click on www.windowblinds.example because their domain name implies that their site is very relevant to what I'm looking for. www.spirit.example might belong to the Spirit Window Blinds Company, but I couldn't tell that from looking at their domain name.

Of course, there are many counter-examples to this, in particular if you have a strong brand name. The domain www.google.com isn't very descriptive (www.google-search-engine.example would be much more so), but Google's branding is so strong that they don't need a descriptive domain name. Same with Twitter, Merrill Lynch, Sears... you get the picture.

I picked pfmrollerderby.org because I wanted to include my group's name (PFM Practice Squad) so as to differentiate us from all the other roller derby sites out there; but I also wanted it to be obvious that the site is about roller derby, since pfmpracticesquad.example wouldn't be very descriptive, unless you were already familiar with our group.

Registering your domain name

I forgot to mention that, during the previous steps, you'll want to use a service like WhoIs lookup to check whether the oh-so-clever-and-memorable domain name you've chosen is already taken. (Heads up: I don't recommend using Network Solutions to do this! Here's why.) Even though their marketing tactics are bizarre and irrelevant (what do NASCAR and bikini car washes have to do with web hosting?), I use GoDaddy to register domain names since they're relatively cheap and well-known, which I take to mean "reliable." $10 for a .com, $9 for a .org. You can register a domain name at a ton of places, and you don't necessarily have to register with the same company that you host your site with.

When choosing a registrar, look for one that allows you the most control over your domain name. They should allow you to host your site with a different company if you so choose, or to transfer your domain name to a different registrar and still retain control over it.

Next: Choosing a web host

Monday, March 10, 2008

Building a website: The beginning

When I applied for the job of Webmaster Trends Analyst, it was still a relatively new position and Vanessa and Jonathan and I threw around a lot of ideas about what we wanted it to become, or what we could do with it. One of these ideas was to build and SEO a website from scratch, and to document the whole process as a sort of step-by-step how-to manual based on real-world experience. While I believe that the approach we take in our Help Center—giving somewhat general advice that each webmaster can interpret to fit their particular situation—is the best way for us to help the most people at once, I also know that sometimes a concrete example is really nice to see.

So, after getting psyched up by several of the sessions I saw at SMX West a couple weeks ago, I've decided to undertake a similar venture on my own.

I'll be building a website for the roller derby practice group that I skate with. I'll be documenting the steps I go through while setting up and running the site; the software and services I use; the problems I encounter; and my priorities in dealing with it all. Hopefully my experience will be particularly useful to small business owners or mom-and-pop webmasters who don't have 40 hours a week to spend on their website; I'll be doing this in my free time, which seems increasingly common among small business owners these days (many are too busy running their business to spend all day running their website).

A few disclaimers:

  • As noted in the sidebar, any opinions on this blog are my own and do not necessarily represent the views of Google. While I intend to do things "by the book" (following best practices recommended by the major search engines), it would still behoove you to read each engine's documentation if you want to know their official position on things.
  • I'm not making any guarantees about how often I'll update. I may flake out. I may get busy. The best laid plans of mice and men...
  • As I said above, I'm documenting my own personal experience. What works for me may not work for you. You may choose a different web host or a different CMS; your project will probably have different requirements. I'll try to document my reasons for choosing X over Y, and you're welcome to share your own observations or reasons for choosing differently; ultimately it's up to each webmaster to make the right decisions for their own site.
  • I'm not a super expert with some of this stuff. I may get some of it wrong, or miss something along the way. You're welcome to correct me, share tips, point me in the right direction, or point out things that I still need to work on. I'm hoping it'll be a learning experience.

So let me know what you think! I'd love to know if you find this experiment helpful. You can find my website-in-progress at http://www.pfmrollerderby.org/, and all of my posts on this topic under the tag webmastering.

Next: Registering a domain name

Thursday, February 28, 2008

Google Charts & Gadgets

I got a bee in my bonnet today to play around with Google Gadgets and Charts. The charts in Analytics are so beautiful that I wanted to play with sometihng similar on my own, so I decided to add a gadget to my iGoogle page showing my lap times from skate practice. Every month our coach times us skating 1 lap and 3 laps, so what better way to track my improvement than to throw it into a graph, right?

A word to the wise: although you'd think that gadgets would be an easy way to get started with Google Charts (whose Developer Guide is pages long and details dozens of URL parameters), I actually couldn't figure out how to make them work. The line graph gadget requires a field labeled "Data source URL", which means you need to encode the data you want to display using one of Google Charts' data encoding formats, which is non-trivial (especially for someone expecting the plug-and-play simplicity of most gadgets), and the gadget comes with no instructions whatsoever (do I need a full Charts URL? Just the data parameter? Can I add in additional chart parameters?). I spent long enough researching data encodings and chart URL parameters that I figured I might as well create my own charts from scratch rather than using the gadget.

Here's what I ended up with: Lap times The left axis shows my 3-lap times, the right axis my 1-lap times. I was actually surprised by how closely the curves match each other. I only have 2 months of data (I missed January), so I'm looking forward to a few more months' worth to see how the charts grow over time.

Sunday, February 10, 2008

Caucus or primary?

Since the Iowa caucuses kicked off the candidate selection process for the 2008 presidential election, I've learned way more than I ever knew previously about our country's electoral processes.

Historically, my political involvement has consisted of voting in the presidential election and calling it a day. I've never felt strongly about a candidate (big surprise: the only elections I've been legal to vote in were the Gore and Kerry elections. Or should I say, the Bush and Bush elections. And while I felt strongly about Kerry in that he was the-guy-who-wasn't-Bush, he certainly didn't stir my socks in his own right). The Democratic nominee always seemed like a foregone conclusion, so I never bothered learning about all this primary/caucus hoopla. Also, in 2004 I wasn't completely hooked on NPR yet, so I wasn't being inundated with daily stories about candidate selection.

But this year I'm both excited, and irrevocably glued to public radio. So after hearing this highly informative story about the Washington candidate selection process, I decided I should go caucus for the first time in my life.

Let me back up a little and explain the caucus/primary thing for those of you too impatient to listen to that clip. A primary is a ballot-based election just like most elections you're probably used to. You go to your polling place, get in the private booth, tick the little box by your candidate of choice, and you're done. Fast, private, and you can even vote by mail if, like Washington, your state allows that option. A caucus, on the other hand, is when voters get together and indicate their candidate preference in person. It's like voting with your body instead of by ballot. You can see how many people are voting for each candidate and you can see who they are, which means you can argue with each other and try to get people to switch sides. More coming soon on what actually goes on at a caucus.

So here's the deal with Washington: the Republican party holds both a primary and a caucus. They use the results from both to decide how to apportion their WA delegates. The Democratic party also holds both a primary and a caucus, but after everyone's taken the time to vote, they throw away the primary results and only use the caucus results to apportion delegates.

What?!? So what's the point of the primary? The chair of the WA Democratic party said, "The primary will be basically a fairly expensive $10M public opinion survey," and if you want your vote to count for more than entertainment value, you have to show up at the caucus. Which is why Nick and I attended.

So can someone explain to me what on earth the value is of having a primary that doesn't count for anything? In particular, I thought the Democratic party was all about promoting equality, and representing and enfranchising a wide variety of voters. Requiring you to show up in person at 1:00pm on a Saturday in order for your vote to count totally disenfranchises anyone who doesn't have a 9-5 Monday-Friday job. And guess what: that's way more likely to be lower-income voters. So all the upper-middle-class cubicle jockeys get to show up at the Saturday caucus and hobnob with their upper-middle-class neighbors, while the rest of their precinct is serving burgers and cleaning those folks' cubicles? That just doesn't seem right. Add to this the fact that it's not exactly common knowledge that the primary doesn't count (that's fairly non-intuitive, right? I generally assume that if an election is held, it's so that people can vote on something and those votes can be used to determine the outcome of the election. I don't generally feel compelled to read the fine print to find out whether my vote will be thrown away afterward). Holding a primary seems both pointless and misleading, and the fact that lower-income voters are more likely to be unable to attend just leaves a bad taste in my mouth.

So can anyone justify this situation to me? I understand the interest of having a public forum to get people together and talking politics with each other (we did meet some new neighbors this weekend), but then why not hold both (primary & caucus) but have the primary votes count and the caucus results get thrown away? What are your thoughts on the situation?