WordPress CrazyEgg

CrazyEgg is a pretty cool service that tells you where people are clicking on your web page. By far, the coolest feature is the “heatmap” doppler view of your page, which they overlay over a snapshot taken when you start the click tracking session. I’ve been running it for a few days on the front page of WordPress.com, here is a screenshot of the results. Next I’m going to try it on our signup form. And wouldn’t it be cool for the WP write page?

Funding Warning

Just a warning for entrepreneurs out there, if you ever announce funding you will be contacted by people offering the following services: banking; debt financing; PR services; other VCs; fancy SoMA offices; telephone services; India outsourcing; Kansas IT outsourcing; recruiting (x10); equipment leasing; renting/leasing/buying real estate; stories about Audrey Hepburn; web analytics; bandwidth; data communications (?); Java programming. Expect 50+ emails in the first 12 hours, and a steady trickle after that. They will also send emails to firstname @ your domain for every name they can find on the website. It gives you a newfound appreciation for those nice Nigerian banking folks, who gave you attention before you were “big.”

The Feed Validator is Dead to Me

Is anyone else sick and tired of the so-called feed validator changing its mind on fundamental issues every other week? I’m sure Sam Ruby and whoever else is still working on the Validator mean well, but the constant ivory tower decisions to change the way it interpets “valid RSS 2.0” is making it seem more like a political advocacy tool than anything else. Perhaps I should give the benefit of the doubt and “Never attribute to malice that which is adequately explained by stupidity.”

I’m not even talking about deciding they can change the world by decree. (Which has already been addressed.) The latest in their line of enlightened changes is that the author of the Well-formed Web spec has changed the capitializition of the wfw:commentRSS element at some unknown point to lowercase Rss. This arbitrary decision has been codified by the validator, which now reports the millions and millions of feeds that use the previously correct capitialization as invalid. Confusion ensues.

If the previous paragraph makes your eyes glaze over, congratulations, you’re normal.

Here is a post on their mailing list which also explains the issue and includes a link to the archive.org version of the page with the capitialization everyone uses, which was there for at least two years. One line can cause so much trouble.

But wait, there’s more. “In addition, this feed has an issue that may cause problems for some users.” They’ve also started marking all uses of content:encoded as potentially causing problems, which is funny because it actually avoids a ton of problems and (again) people have been using it in RSS 2.0 feeds for 3+ years now, and I even asked Dave Winer about it in the past and he said that was fine. Their documentation on the topic seems more geared toward instilling fear, uncertainty, and doubt in RSS 2.0 than addressing the reason they’ve decided to start warning about this element. Where a validator normally provides stability, the feed validator has become the Homeland Security of the RSS world, keeping us all in a constant state of dulled fear, insensitive to whatever warnings they’re giving us today because we just want it to stop.

I’m sure the content:encoded change can be rationalized with a perfectly convincing argument. I wouldn’t be surprised if someone as smart as Sam could do the same for the arbitrary wft:CommentRSS change. I know that the code is open source and we could fork it and create another version of the validator that doesn’t invalidate half the blogosphere on a Tuesday afternoon. But then we would have more than one validator, and that defeats the point.

A Little Funding

The best thing that can ever happen to a web service is to have passionate users. Users that notice and email you the second there’s a database problem, users that really push the limits of what you can provide, and users that are phenomally successful and bring thousands of others to your doors.

As a service provider, you have a strong responsibility to these folks. They’re putting their life online with you, they deserve nothing less than 100% uptime. They tell all their friends to try you out, they deserve for the experience of the hundred thousandth user to be as great as the tenth. WordPress.com is serving 4.2 million hits a day on a handful of boxes. Akismet has gotten to the point where it’s blocking so many spams every second that any fraction of downtime is very noticable to users. (Like we had this morning.)

At Automattic we’ve always taken this very seriously, and from the bootstrap beginning I planned for it to be sustainable and frugal in the long term. Of course since I moved to San Francisco I’ve talked to dozens of really high-quality investors who were interested in what we were doing, but the bubble model of giant valuations and ultra-rapid growth never really appealed to me.

The growth of WordPress.com and Akismet has outpaced anyone’s expectations. Recently, I made the decision to sell a minority stake in the company to a few select partners who I think are going to bring a lot of value to the business far beyond mere dollars. This isn’t going to change how the business is run, or the people involved with it, but it will allow us to take better advantage of the opportunities before us and also for us to keep our promise to every one of you to maintain a fast, stable, and innovative platform in the long term.

Automattic isn’t going to get fancy SoMA offices, throw huge parties at SxSW, or “get big fast.” We took a small amount of capital to put things that were already growing fast in a stable position, so from month to month you’re not robbing Peter to pay Paul. We’re going to use the money to pre-emptively address scaling issues before they happen, and continue to share everything we can back to the community, like all of the code behind WP.com in WordPress MU, the spellchecking feature we sponsored, free Akismet for 99.9% of users, and a few other goodies we still have up our sleeve. In terms of hiring, we’re still going to grow very deliberately in line with our revenues and focus on the very best and brightest (and BBQ-loving), like Podz.

We’re going to publish more technical details about everything later, and this is already longer than I hoped — I’m sure you folks have some questions. I’m going to do something a little different and turn the comment section here into a FAQ. If you have a question, please post it below. If you want to say “congrats!” or “that sucks!” do it on this entry instead to keep the question and answer flow clean. If a question warrants a long enough answer I might turn it into a separate blog post.

Open Source Legal Docs

Not technically open source, because I don't know which license is best for regular text, but I just put a Creative Commons Sharealike license on the WordPress.com terms of service and Automattic privacy policy. People were stealing them anyway, might as well make it legit. 🙂 Feel free to grab bits and pieces and search/replace your company/project in. If you want to throw us a link as a thank you, I'd be flattered.

Note to self

When flying to Canada, BRING YOUR PASSPORT. Update: I wrote the preceding from my Blackberry at the ticket counter. After I found out about the passport, I rushed to the departure area and got the world’s best cab driver. His English was atrocious, but he understood what was going on. There was thankfully no traffic on 280 to SFO to my house and he did it in about 15 minutes. Ran in, grabbed the passport, ran back out. Lost a minute while he tried to ask me if I had “all three things”: passport, tickets, and ID. He says a lot of people run in to get a passport and leave the tickets on the table. He took 101 back to SFO, which had a bit of traffic. Big tip. No line at ticket counter, the flight was delayed. The lady was so kind, she switched me to the last window seat on the flight to Las Vegas and I got an upgrade to first class from Vegas to Toronto. (Maybe I’ll get some sleep.) No line at the security counter so I breezed through. Had time to grab a reuben at the deli. Sometimes I think I lead a charmed life.