In that presentation, one of his strongest analogies is the fact that Software has no physical properties (as in weight, shape, smell, transparency, etc...) which makes it very hard for its users to provide immediate feedback on the software/webapp they are about to use, and, more importantly, it denies the developers with valuable information on how well ‘designed’ their application is (not designed as in 'look-and-feel + graphics', but ‘designed’ as in ‘Design the experience’)
This means that we as software developers must be very disciplined on which customers/users we listen to, and what we decide to do with our limited development resources.
And this is exactly what Curators do in Museums. They understand what their target audience wants, they find the artists + exhibitions items that match his/hers (the Curator) vision and then finally he/she ‘Designs’ the user experience in order to maximize the user’s benefit from attending the exhibition.
After thinking about this concept for a while, I realized that it also fits very well with what I try to do in the O2 Platform when I:
- have a particular problem (let’s say I want to automate a Browser workflow/exploit/UnitTest),
- do a research on the currently available Open Source tools that could address that problem (Selenium, WatiN, .NET Browser Control, multiple CodePlex projects, etc...),
- try a couple that look like the best fit (writing APIs to help consuming them)
- use these APIs in real work engagements
- based on the success use of the original API + O2 Customizations (and Extension Methods Wrappers), arrive at a conclusion on which one is the best Open Source API to use (in this case WatiN)
- Package the chosen API in easy to use modules that are then exposed to the wider O2 community
Basically, I’m a Curator for Open Source with the responsibility to research, test, select and customize APIs to solve specific Web Application Security problems.