Drew's Blog - Home - Archive

On Choosing Sensible Defaults

People who make things for the web hate old browsers. Making things pretty (and functional) in all browsers can be exceedingly difficult. So, I was happy (and astonished!) to see that IE6 is down to about 0.5%, and IE7 is down to about 1.5%. This is good news for everyone who wants to see innovative things on the web. But this really didn't have to happen.

As some of you know, I recently upgraded from a Nexus One to a Galaxy Nexus. This also entailed a software update from Gingerbread to Ice Cream Sandwich. For me, one of the most interesting default settings changes between the two was the "Automatically Update" app checkbox default. In Gingerbread, this was unchecked by default. In ICS, it was checked by default. (Note: As always, you have to manually approve updates that modify the permissions the app can use.) I really approve of this change.

In the world of the internet, the way we develop and ship software has changed significantly since Ye Olden Dayes of the physical disk. If you release a patch or an upgrade to a program, that program can automatically download the patch over the internet and even install it without the user having to do anything (well, you should probably ask them to opt-in to installing, or have them ask every time they install). At this point in time, bandwidth is so cheap that there is no reason for this to not be your default behavior. If Microsoft had made this the default behavior (for BROWSERS! They HAVE to access the internet!), we would have fewer people using outdated browsers and stifling innovation on the web. (It's also good for security, but that's a different issue.

So let this be a lesson to you. Choose sensible defaults, and you might end up saving future developers millions of hours from trying to make their stuff work with your broken old code.

If you've read this far, you should probably follow me on Twitter.

See more posts

Drew writes code for fun and (sometimes) profit. He's currently studying Computer Science at Carnegie Mellon University. He has previously worked at Facebook, Amazon, and a startup called Intersect.