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.”

Temporally Challenged

Eric has a new book you should buy, despite the fact he’s all wrong about weblogs. His thesis is that it’s easy to read chronological items that relate to each other from top to bottom on a page. It’s not that Eric has his facts wrong, he’s just looking at the wrong facts.

Weblogs are not 20 chapter books. Eric’s entries refer and develop more than the average weblog’s, he is no exception to the rule that most weblogs would be just as intelligble if they randomly ordered the entries you haven’t read yet than if they presented the newest ones at the top. For some reason Eric insists on using monthly archives for his permalinks, which isn’t helping his visitors or Google (or the bandwidth he’s concerned about). Anchored monthly archives should never be used for permalinks. The only people who still use these are those who are technically hindered from or too lazy to implement post-level permalinks.

On monthly, weekly, or daily archives it makes perfect sense for the entries to be ordered chronologically, because the defining characteristic of the posts is their chronological relation to that date range. On a search result page, I want to see the results ordered either in reverse chronological order or by some search relevance. Both Technorati and Feedster get this, and both default to reverse chronological order of their results. On the front page, which is where Eric has his main beef, the most relevant thing to at least 95% of visitors is going to be the latest items. Anything else is going to be making the site less useful to the majority of users for the benefit of a few. There is a much larger precedent for putting the most recent items at top than just weblogs: most email and webmail software I’ve used, every press release page, news sites like CNN, Zeldman, the Board of Governors, the White House. Breaking the convention of thousands of familar sites for the benefit of the occasional reader who checks back every week or so but is really annoyed at having to scroll funny to what they’ve missed breaks the Hippocratic Oath of design. Weblogs aren’t ordered the way they are because of some freak historical accident, they’re ordered this way because it works.

(A sidenote about the bandwidth issue: it’s dead. Of course pages should be made as small as possible using standards and efficient markup to help them load quickly. No one is going to argue that. However an optimized 10K page loaded thousands of times a day is still a healthy chunk of bandwidth. If you are adjusting your content or paying more for the popularity of your website, find a better provider. The server that this site (and others) is on is allocated 1.2 terabytes of bandwidth transfer per month. At worst it uses a third of that. Server bandwidth should not be an issue anymore these days.)

I mostly disagree with his post, however I feel Eric’s pain. I’ve had to do the scroll-catchup thing before, and it was annoying. Without breaking the website for the vast majority of my users, I can offer some relief:

  1. Eric is a busy guy and I’m guessing he uses a newsreader (like NetNewsWire) to keep track of who has updated. If you click through to the permalink of a new item it will take you to the individual archive for that page, complete with comments. I have always had intra-post navigation at the top of the page, but after reading Eric’s screed it occurred to me where that would really be useful is after you’ve read the article and want to move on to the next thing. So now I have post navigation above the article, after the article, and after the comments. If you’re a few posts behind, navigate the individual archives instead of a monthly archive or the front page. Enjoy.
  2. One benefit to a completely dynamic system is that you can change views on the fly pretty easily. So if the reverse chronological thing bothers you that much, at least with WordPress blogs you have a easy fix. Simply add ?order=asc to any WordPress URI and it will order the dates ascending instead of descending. Example: my March archives, my March archives descending. It would also be pretty trivial to set a cookie to allow people to see things ordered different ways, and I imagine within a few hours of writing this there will be a new hack or plugin on the forums. If only everyone used WordPress.

CC Search to join WordPress.org

The WordPress community has long advocated for a repository with GPL-compatible images, and it’s time to listen to that need. CC Search, a CC0 (Creative Commons Zero) image search engine, is joining the WordPress project with over 500 million openly licensed and public domain images discoverable from over 50 sources, audio and video soon to come.

I am a long-time supporter of Creative Commons and their influential work on open content licenses, and when we heard they were considering shutting down their CC Search engine we immediately started exploring ways we could keep it going. I am eager to give a new home to their open search product on WordPress.org in continued commitment to open source freedoms, and providing this community resource for decades to come. This is an important first step to provide a long-term, sustainable challenger to proprietary libraries like Unsplash.

Automattic has hired key members of the CC Search team and will sponsor their contributions as part of our Five for the Future commitment. I look forward to seeing the project grow and welcome them to the WordPress community! Will share in a few weeks when everything is live and running on the site.

Podsession Responses

There have been two interesting responses to the podcast I did with Om and Niall the other week. The first was Scott Johnson who responded in a podcast. As I expected, most people are taken aback by my statement to “let the engineers pick” what language and enviroment you use for your product. I think there is one important assumption that wasn’t articulated in that statement: you have brilliant engineers and you trust them. As a psuedo-engineer, I find it insulting when people suggest engineers are unable to factor anything other than their selfish language preferences, things like loaded costs, hardware costs, platforms, long-term viability, hiring, etc are simple variables that can be considered by any intelligent person. If anybody in Automattic came to me that was writing a tool in Python, C, Perl (it’s happened) or whatever, I might ask a question or two but at the end of the day I know they’re able to weigh the costs and benefits just like I would. If you’ve hired an engineer that isn’t able to make these decisions as well or better than you, then you’ve already lost the battle and over time more and more of your time will be spent plugging holes in a descent to mediocrity.

The second response was on the Pronet blog which in an amazing feat of blogging acrobatics managed to mention and link every single person tangentially associated with the podcast except me, even though I’m quoted in every heading. The Google Pages example is brought up again to illustrate that all the hardware in the world sometimes solve a scalability problem, but I still think that’s faulty because none of us had any idea why Pages was slow when it launched, it could have been a faulty router for all we know. Pronet responds to “Go with what your happiest working with” with a set of points to consider for a language, but again with the right people none of that matters. Happiness, in all things not just the language, should be the number goal and metric for everything in an early-stage startup. Happy engineers work smarter, longer, more efficient, attract better candidates, and have a better quality of life. (A corollary is that if you’re already set on a language path, don’t hire anyone who isn’t thrilled with working in that language.) For an example of how this can work in a really extreme case, I suggest everyone read the story of Viaweb and Lisp. (Another talk.)In my mind Lisp is a ridiculous language to build a web application in, but to them and their engineers it was heaven and they had better products earlier than their competition as a result of their unusual choice.

(As an aside, I wonder how many people said the same thing about Ruby for web apps before David Heinemeier Hansson, Rails, and 37signals, or even about PHP before Yahoo and Wikipedia? An example (and a little bit of promotion) is better than a thousand whitepapers.)

At an airport in Frankfurt airport security asked famous jazz saxophonist Joshua Redman to prove it was a real instrument.

https://twitter.com/Joshua_Redman/status/619144413369909248

Hilarious! I can’t find any recordings of Joshua playing that classic bebop song, but here’s a Charlie Parker recording:

Houston, We Have a Problem

Well, who would have thought that installing a keyboard and mouse could be so difficult. After my first few words, and using the mouse just long enough to start to really like it, everything has crashed and burned. One of the questions burning in my mind was if I could use the keyboard a,nd mouse with my existing Bluetooth dongle, partly because I don’t want to have to carry anything extra around and mostly because the “laptop adapter” for the Microsoft Bluetooth receiver sticks out from the laptop at least 4 inches. I plugged my old dongle in, and nothing special happened. Not surprisingly, the Bluetooth keyboard and mouse stopped working. I went into the Bluetooth software that came with the dongle to see if I could “discover” them and pair them somehow so they would work. The good news is that it was able to detect both the keyboard and the mouse. The bad news is it had no idea what to do with them. Any attempt to discover their services turned up blank.

I should have known that the operative word when dealing with Microsoft is “proprietary.” I wasn’t entirely dismayed though, I was ready to stomach carrying around the ridiculously long MS Bluetooth dongle just to be able to use the very cool Explorer Mouse; I like buttons and this mouse had them in buckets. But being able to dial up to the internet through my cell phone (T68) using Bluetooth is even more of a must, so I decided to try that with the ugly Microsoft Bluetooth adapter. It worked, beautifully. Many times when dealing with the current Bluetooth software implementations I’ve felt like it was back to the old Windows 3 days, when the interfaces were clunky, buggy, unresponsive, and ugly. The wizard that set the phone up was elegant and felt like a real part of the operating system. In fact it was apparently, but we’ll get to that in a minute.

Anyway the phone works just fine with the MS adapter, however I couldn’t get it to talk to either the mouse or keyboard now. I thought maybe this is just a software glitch, so I went through all the regular motions. Reboot, retry, un-install, reboot, reinstall, reboot, try again, uninstall other Bluetooth software, reboot, try again, reinstall, smash mouse to smithereens against head. Okay, I made that last one up, but I did all of the others, perhaps more than listed. At this point I was thinking it must be a simple hardware issue, so I changed the batteries in both devices to fresh ones that I was sure worked, and tried again. Still no go, it simply wouldn’t detect either of the devices.

Having isolated nearly every variable I could think of, I decided to try it all out on my desktop. So I went through the first step of installing the software, and it tells me that for it to work it has to have Windows XP Service Pack 1 installed. Life is too short.

As a last ditch attempt, I decided to try and pair either of the devices with my phone. I think the keyboard might have paired, even though it probably wouldn’t have worked anyway, but I’ll never know because of the proprietary and non-standard way which the keyboard and mouse pair works only with the Microsoft software. Which only works on Windows. The latest version. With the latest Service Pack. (Did I mention it un-installed the special software for my touchpad on the laptop?)

What I suspect happened is something about the way the old non-Microsoft Bluetooth adapter tried to interface with the devices messed something up, and that is what’s causing them to not work. But at this point I really don’t care.

Maybe Logitech will come out with something nice to counter this, and maybe then I’ll try it, but right now I can only think of disadvantages to using Bluetooth HIDs, such as no current BIOS supports it, it tricky, it takes up two of your seven possible Bluetooth devices, doesn’t offer anything extra, the range isn’t worth it. Also on the range note with my Logitech Cordless mouse (the original model) I was able to walk all the way across the house into the garage, and it would still move the mouse on the screen, but I think that may have been an anomaly. Still, how far do you need to go?

So I have packed everything up from the batteries to the cruddy documentation, and tomorrow I will attempt to get store credit and buy something that actually works. Oh joy.

Paid Support

We just launched the Automattic Support Network which is a place for companies to purchase paid support for WordPress and MU. Originally I didn't think we'd need to do this, simply because the WordPress.org support forums are so amazing and there is such a good community around it. That hasn't changed, but some big companies and enterprise folks are uncomfortable with volunteer support, and want (and insist) on paying someone before deploying a product. Based on that feedback and a lot of input from Podz, we put together this new product, which is basically VIP support with a guaranteed response time. Toni has some more thoughts here. We also rolled out new pricing for commercial Akismet use a few days ago, and the response has been great so far.