I was not going to do any posts about the PyCon proposal review process until it was done, but I am sitting here with a head cold, and hopped up on med’s, and my pet-peeve button has been pressed one too many times (so we will go with that excuse, verses me just being a disagreeable, argumentative, melodramatic person
). This does not directly relate to the proposal system, but it is a very useful data point. Obviously I do not hate tags to the exclusion of their general use. This post and all my others have tags. I have not always been so averse to tags and saw semantic tagging as being the first step into a more useful web experience. The real issue is that every one has their own concept of what a tag is and how they are used.
This topic came up on the organizers list a few weeks ago. Laura Creighton made some very good observations on how we were crossing purposes with the tags on proposals; using them for reviewers, speakers, and attendees. She notes that the tags which are useful to reviewers are not those that are useful for people wishing to attend a talk (software issues kept me from implementing this). Herein lies the first problem with tags. Each person looking at the tags will be trying to use them for a different purpose, and you can not tell that person not to use them in that way. Some people want them to filter multiple objects of some type, some want to find related information, some are more interested in the occurrence of specific tags, while others find information in the tags them selves. The holy grail is to try to have one set of tags achieve all goals, but it just can not be done, as the review process has shown.
To me, the best example of tags just not working, is the tag cloud. When I first saw a tag cloud I was in shock. “Why didn’t I think of that?” It seemed so obvious that the tag cloud, with size and color, conveyed a depth an immediacy of information that it was one of those revolutionary ideas. A revolutionary idea is one which is very simple, easy to use, and yet extremely powerful. Then I started trying to use sites which implemented tag clouds. I now despise the tag cloud, and dismiss sites which use them. Why? Because they do not provide an interface into the information I the user care about. A python based blog has a huge ‘Python’ tag and a number of other medium sized tags all related to python, and then there are a few little tiny, impossible to read tags, one of them being ’svn’ say, and that one post contains the nugget of information I care about. If there were a way to make the cloud represent the size of tags by how important I deem them to be at that time, then it would be a useful interface. As it is, it is an annoyance, and completely useless as a means to find information, which is presumably the purpose of the interface. the one place where I thought it would be usefu, news, where the size is representative of the number of news articles of the day or week which have that tag, falls flat in my experience as a user. I rarely care about the most talked about subjects of the day. I care about the little things, the oddities, the things that matter to me. I guess what is important to me is not what is important to the majority of other people. Maybe if I cared about what everyone else seems to care about (if these clouds are in fact representative of that), then they would be useful. But are they even a good measure? How would one determine that?
This is the general problem with tags at the end of the day. They are representative of what the person assigning the tags feels is important, not the person who is using the tags feels is important. So why do I use tags on my site? They are for me. I really do not expect them to be useful to anyone else. The tags help me find stuff I have posted previously, and to generate some tag specific feeds. This post will not show up on the unofficial planet python, as it is not python related. In that regard the tag is a content filter for that aggrigator, which again is more a use for me, than anything else.
So what does this have to to with the pycon proposal system? Well last year when I first wrote the proposal system I included a free form text field for people to add categories. No one could agree on how this field would be used, so I just left it like that and figured the program committee chair would figure out how it would be used. Keep it simple, and let procedure determine the rest, not code. Its a meme I use often, and it provides for great flexibility with little (usually no) code work. The proposal system was in a lot of flux at the time, and we never did come up with instructions for that field. The end result was a haphazard representation of like categories with little overlap. There was ‘web’, ‘web service’, ‘web-interface’, ‘web framework’, etc. Jeff Rush spent hours going over the list and standardizing it to what we ended up with. It is a fairly long list, but not too long for the number of talks, and it fits on one page on all but the most restrictive of resolutions. We did not want a repeat of this and when I asked for feedback on the proposal system, the only specific feedback I received was on the categories. What people wanted was:
- Have example categories to choose from.
- Allow for people to add their own.
- Have those added categories in the selection.
- Allow for spaces. (At first I liked this, but now I regret it)
- Limit people to 10 categories. (I wanted 3 and should have stuck to this point)
- Do something better than the usual multi-select as the control-click thing can be a pain.
I would have ignored that last one, except 5 out of 8 pieces of feedback mentioned that. So I cheated and used the django multi-select widget, and seeded the tags with ones from the previous year. There are some public examples where you can see the end result. You will also see all the tags people have added over the review process. the hope was that as people would only add a few tags as needed and would reuse the ones already present. The nice ’search’ feature on the widget makes things even easier with limited form real estate. The end result is we have 113 unique tags being used for 141 talks! We have 6 tags which start with ‘web’, for which ‘web’ would be perfectly fine. We had 5 talks which used the tag ‘develop 3x faster than others’?!?! The truly humerus part is that two of those talks were claiming to be faster/better than the other. I have removed that tag, and will be going through the others as well. One person repeated the title of the talk as a category. There are others whom have created lengthy categories resulting in a category list which is longer than their talk summary! The only thing I can think of to explain all this is that the form interface still sucks, and the process is still not described clearly.
I will be going through all the proposals and doing a category house cleaning, and try to get a handle on things. I think I will limit things to about 20 categories, and next year those will be the only categories we will have. We will also limit the number of categories per proposal to be 4. Hopefully this will make categories have some actual use. Currently they are nothing more than an annoyance, and have little value.
I should note that I am not a web designer, user interface specialist, or web anything. I am a C++ developer with extensive python C/AP and integration experience. This PyCon-Tech stuff is a lark, and 100% out of my comfort zone. The things I want to work on (survey data mining using NLP, interest statistical analysis, group theory for google maps), I have had to put off as more important core features are needed. Think I am completely off base? Think you can do better? See something about the site you don’t like and think it sucks? You are most likely correct, and no I do not know how to fix it. So PLEASE step forward and help out!
