ser testing. This gave us live results and clues into how our users think so that we could provide alternate design solutions. But, the challenge still remained. Making these changes a technical reality could mean more customization to a proprietary system, or hacking an open source solution, or purchasing additional software, or bringing in more programming resources. Development or user testing costs often prevented a truly iterative design process.