The 2 to the Nth feature

posted by Jason Kottke   May 03, 2004

Overheard at work today regarding the number of mail accounts on our system:

We've got more email groups [eg. marketingteam@example.com] than we do user accounts [eg. jim@example.com], by a factor of more than 2 to 1.

Bit of a lesson in that statement for software developers, I think. If you've got N users on your system, those N users can form ~2^N groups. For example, a system containing 50 users can form ~1,120,000,000,000,000 groups for a total of ~1,120,000,000,000,050 different entities in the system. If your feature set, interface, and performance metrics only cater to the 50 users, you're ignoring most of the possible entities. In developing software, build features for groups and watch your garden grow.

Note: this also easily applies to mp3 players (N songs, 2^N playlists), weblog software (N posts, 2^N "categories"), and newsreaders (N feeds, 2^N feed collections and/or N posts, 2^N post collections).

Another note: thanks to Stephen, Simon, and Graham for correcting my poor back-of-the-envelope math. It's 2^N, not N^2.