We've discussed the problem of classification from time to time and at some point we're going to have to create a classification system that answers our immediate and future needs.
I'll outline some of the thinking I introduced in the meeting yesterday: there may be some useful ideas here.
A big problem with our existing classification set is what they call in the biz, "intellectual managability." As in, even an expert user can't keep all of the details of the system in their head. It's too much to handle.
A second issue is extensibility: the only way to extend the present system is to add to a fairly "flat" structure, which has the unpleasant effect of making the system yet more complicated.
A hierarchical classification system solves for these issues, allowing simple high-level views and a logical path to more detailed views. In the world of computing, it is one organizational paradigm that has been a runaway success. The entire USENET news hierarchy was built around the idea:
rec.arts
rec.arts.film
rec.arts.film.blazingsaddles
comp.sci.lang.visualbasic
comp.hardware.video
... and so on. Similarly, from the world of programming, Microsoft organized the .NET Framework and Sun organized the Java class framework around a similar hierarchical structure, allowing programmers to "mentally manage" a bazillion different programmatic classes:
System.IO
System.Web.UI
System.Web.UI.HtmlControls
System.Security.Cryptography
There are literally thousands of classes in the .NET framework and even brilliant programmers do not remember all of them. However, the simple high-level structure of the thing allows programmers to find what they need pretty successfully: if I want a symmetric encryption scheme and I don't want to build it from scratch myself, I know that poking around "System.Security..." will probably take me to what I need. Once I drill down to "System.Security", the options include "System.Security.Cryptography", and that's my ticket.
Aiding this process of "discovering" categories are the abilities of tools to prompt you what the available options might be, as you are writing out parts of the hierachy. See this post of mine, read the second paragraph regarding "Intellisense", and scroll to the section marked "step 1" and "step 2":
http://kenfine.blogspot.com/2007/03/vsnet-2005-basics-part-1-xml.html
As more of a classification's hierarchy is typed, the available options are constrained to the available options, and you can "autocomplete" things with very little typing. This is useful and efficient. Have me demo it live if this doesn't make sense.
With these ideas in mind, let's consider the problem of our classifications. We could have a high-level hiearchical structure similar to this:
- uw
- uw.academics [a catchall, see below]
- uw.academics.programs
- uw.academics.programs.projectneptune
- uw.academics.units
- uw.academics.units.collegeofengineering
- uw.academics.units.collegeofengineering.computerscienceandengineering
...
- uw.orgs
- uw.orgs.student
- uw.orgs.administration
- uw.orgs.administration.development
- uw.orgs.administration.mediarelationsandcommunications
- uw.persons
- uw.persons.employees
- uw.persons.employees.staff
- uw.persons.employees.staff.classifiedstaff
- uw.persons.employees.staff.professionalstaff
- uw.persons.employees.staff.professionalstaff.kenfine [key by uwnetid]
- uw.persons.employees.faculty
- uw.persons.students
- uw.persons.issues
- uw.persons.issues.employment
- uw.persons.issues.employment.salary
- uw.persons.issues.employment.retention
- uw.outreach
- uw.outreach.diversity
- uw.outreach.k12
- uw.fiscal
- uw.places
- uw.places.buildings
- uw.places.buildings.gerberdinghall
- uw.places.grounds
- uw.places.grounds.washingtonbotanicalgardens
- uw.places.grounds.liberalartsquadrangle
- uw.places.planning
- uw.places.planning.2020campusmasterplan
- uw.places.issues
- uw.places.issues.openspace
- uw.places.issues.earthquakemitigation
- uw.misc
- uw.misc.security
- uw.misc.security.uwpolice
- uw.misc.security.computing
...
This is a starting point. The beauty of this kind of structure includes that facts that:
- The structure can be very deep, but the number of high level "base concepts" are few: misc, places, fiscal, outreach, orgs, academics, and persons. The high-level structure is intellectually managable.
- Things classified within this structure can be viewed at any level of complexity. If you want a view of ALL campus buildings, you or a system can inspect uw.places.buildings. If you want a specific building, you can drill down to uw.places.buildings.gerberdinghall.
- It is readily and rationally extensible without complexifying the base concepts.
- The user of this system is "prompted" down a rational path: all they really need to know is the appropriate highest-level category, and the system effectively asks the person a series of questions at each "step."
- These classifications are fast to type, and adaptable to timesaving UIs and tools.
-KF