The "It's Done" Fallacy

Today Apple released a new mouse, and it made me think about one of the major fallacies of developing technology products.

The fallacy goes something like this: "We're done with that, so let's do something new."

See, the mouse has been "done" for years. In fact, I tried to look for a replacement mouse for my old mouse a couple weeks ago, and was really unimpressed with the Microsoft & Logitech offerings. Nothing really new since 1999 or whenever cordless mice were "new". It seems like both of these companies mostly gave up. Longer battery life for wireless mice, I think? But they must have fired all their industrial designers, because now they have mice that push into a little well, so your fingers push into this sharp edge of the case, or these other mice that have back buttons exactly where your thumb goes (Microsoft's are smart about putting the buttons near where your thumb goes). Anyway, I digress.

Making software and hardware better is a bigger problem than that. Because it's about how you set priorities in your organization.

It's not all about "don't re-invent what we did 10 years ago."

Often it's even, "Don't work on something that we finished a week ago." And that probably doesn't make sense, but here's how it happens:

Management: Can we ship this feature early?
Engineering: Well, the UI's not really done, and we want to add all this other stuff to make it work better for actual users. I mean, it kind of works a little bit.
Management: Great, let's ship it. We can do all that other stuff in version 2.

And the big secret is that version 2 actually never happens. Ever.

Because, next month, compared to having a new feature, improving the old feature looks boring. It's not as easy to talk about. It's not as impressive.

But the best teams actually do the exact opposite, because they care about their product and their users. They go back to the thing they were working on last month, and finish the things they were intending to do. They go back to the thing they were doing 2 years ago, and make them better. They keep working until it's done.

And yes, this fallacy happens a lot in the Agile/Continuous Deployment models, where finishing a task means you should probably ship it to users. It was easier to hide "getting it right" in the old, slow way of making features. You have to schedule it in the newer models, and that's hard to do, but it's important.

The era of "more features is better" is ancient history in most products (it makes me think of those magic PC Magazine checklists comparing MS Word to WordPerfect), and companies that do a smaller number of features really really well, keep their users happier and win.

Best Commercial Ever: Our jokes aren't like your jokes

"Picasa-like" smooth scroll for Chrome

I modified some code I found on the web to make Chrome do smooth scroll like Picasa using the new Extensions system. You need dev-channel Chrome at the moment, and it doesn't work for all the cases, more of an experiment for now.

See this post on Stereopsis for more info.

I wish Chrome would compile on VC Express. Then I'd just hack this into the native code...ha!

Information Content of SEC filings: text compression for annual reports

One of the functions of the SEC is to make sure people have consistent "information" about public companies.

Of course, "information" means something else to computer scientists and people who study text compression. The more a piece of text repeats itself, the smaller a compressed file will be. So naturally I wanted to see how well SEC filings would compress.

Here's what I did:
  1. I went to the SEC's companysearch page and found the pages for SEC filings for some big tech companies.
  2. I used Firefox's "save as text" to convert the huge HTML to plaintext.
  3. Then I ran 7-zip to compress.
Of the four companies I tried, Google's 10-K reports are the least redundant, and Yahoo's the most.

Here are the specific ratios I calculated (the "terseness" factor?)
  • Google: 22.34%
  • Microsoft: 21.26%
  • Apple: 20.92%
  • Yahoo: 20.37%
Probably someone is strange enough to be tracking metrics like this, but it's kind of fun to look at the 10,000-foot view. Maybe tracking compression over time would give useful insights, like who's covering up bad results with flowery language.

Of course, this "terseness" number is only make-believe information theory. It probably matters more if the information you're reading is any good.

Case-Shiller up or not? Extra Math Inside!

Case-Shiller is reporting that home prices in LA are up a little.
In fact, the LA index is up 1.8%.

Great news, except...

The median home price in LA right now is $395,000.
There's a first-time buyer tax credit for $8,000.
And $8000/395000 = 2.03%

1.8% - 2.03% = -.23%

Of course, not everybody's a first time buyer.

But, when you can use $8000 more for a down payment, you can buy $80,000 more house, if you put 10% down.

$80,000 / 395000 = 20.3%.

I'll stop there.