Archive for March, 2009

Foundations 8

Software and buildings. Like any analogy I can only go so far before jumping that line into nonsense. Hopefully what I’ve written here is sufficiently handwaving without going too far back the other way to being pointless. Anyway…

With a bridge or a skyrise the physical laws such as gravity mean that for the life of the building you can’t really change the foundations. Changing the foundations generally means a new building.

Software construction is amorphous in comparison. The underlying code can be refactored and rearchitected whilst the software itself is still considered the same thing. Change the UI though, and you’ve probably got a new piece (or version) of software.

Having meetings standing-up aside, software is still often approached like bridge building. In fear of it “falling down” the architecture for the software is given utmost importance from inception right down to the code level where Christopher Alexander’s Pattern Language work has been somehow morphed into implementation guides and class diagrams.

Yet, with software it seems to me that the most physical part of the system is the user. Just like gravity will make a poorly constructed bridge fail, bad software will fail primarily with the user. Essentially, the user is the primary constraint.

Could it be argued that doing software development and not starting with the user is like building a bridge and not starting with gravity?

Guardian Open Platform 3

Via Rod Peno’s ImMEDIAtely (internal) newsletter.

The Guardian today launched “Guardian Open Platform” which allows people / “partners” to reuse content from the Guardian in mashups etc. They have opened their data stores allowing people to access all sorts of interesting numbers like:

  • Crime
  • Unemployment
  • Inflation numbers
  • Education
  • Migration

Interestingly, they are also setting challenges on their “datablog” asking people to look at some of their data sets and create something from them. Sounds like a good Design Friday exercise perhaps?

If only there were similar free sources of data available for Australia. Does anyone know of any?

Ranking content by user scores 3

I was attempting to catch up on my overflowing Google Reader account recently and I came across this post entitled How Not To Sort By Average Rating by Evan Miller. He starts by describing several simplistic ways in which web designers approach ranking, and how they are far from adequate. He then offers a superior method, the essence of which is:

Score = Lower bound of Wilson score confidence interval for a Bernoulli parameter … We need to balance the proportion of positive ratings with the uncertainty of a small number of observations. Fortunately, the math for this was worked out in 1927 by Edwin B. Wilson. What we want to ask is: Given the ratings I have, there is a 95% chance that the “real” fraction of positive ratings is at least what? Wilson gives the answer.

This is a nice little tip for something that we are including in user interfaces more and more these days; ranking content based on the ratings/scores given by users. Anyone who has designed user ratings into a website will know that it can be easily thrown out of whack by one or two odd ratings.

As one of Evan’s examples illustrates, you might find an item with 2 positive ratings and 0 negative ratings appearing above another item with 100 positive ratings and 1 negative rating. This isn’t fulfilling the spirit of user ratings, which is to show what the audience thought was better (or more valuable) overall.

I freely admit I don’t have the knowledge of mathematics and statistics to full understand the recommended algorithm. But that’s the beauty of it, you don’t have to, you just let the code do it’s thing and you will have well ranked content.

[via Anu Gupta]