The Codecon 2004 Call For Papers is now out. If you've got an actively maintained cool project, please consider submitting.
Bram's Law
ncm: Sadly, artificially causing difficulty is an invalid loophole. But adding functionality which is inherently more difficult may work. Bloating up what should be a simple spec is mostly just an example of Bram's law in action.
Databases are a good example. MySQL started without transactions at all, has no indexing for joins, and doesn't scale to a decent number of rows even with that ridiculously limited feature set. Postgres, on the other hand, supports full transactions, lots of fancy joins, and scales up extremely well. Unfortunately, Postgres can't be simply pointed at a file and used as a library, which is why people use MySQL.
Image Grouping
I had an interesting idea for a user interface for image grouping. The user is shown three images and asked which one least belongs. Then another three, and another three, etc. I'm not sure what the point of this is, or what one might do with the data, but it seems like an interesting idea.
What Customers Want
The things which will make people love your software, by rapidly plummeting order of importance, are:
- ease of use
- stability
- performance
- features
The order of priority many people use when writing software, and, unfortunately, what users generally say they want when asked, are:
- features
- performance
- stability
- ease of use
This is a siginificant discrepancy.