branchandroot: wings of fire (fire wings)
Branch ([personal profile] branchandroot) wrote2012-07-09 01:26 pm
Entry tags:

Incandescent Outrage, Film at 11

You know what infuriates me most about AO3 (today)? The more I read the little things that wranglers anonymous and not are stepping up to tell us, the clearer it becomes that it could work. I don't mean that in a fuzzy procedural way, either, I mean the actual structure of the archive is completely compatible with changing the archive over to canonical, navigable tags and usable fandom hierarchy navigation and not making the wranglers do every damn thing. IT COULD BE DONE RIGHT NOW. Most of the structure is already in place, it's just completely invisible to the users!

It would not take any extra hand-work on the part of the wranglers. It would not require more downtime than any other commit, or break existing functions. The big change would not even be a very difficult bit of code to write! (Terrifying, perhaps, but not difficult.)

How, you ask? Let me tell you, because the top of my goddamn head is about to blow off with the force of my indignation over the pointless ideological stonewalling that's stopping the archive in its tracks!

1) The absolutely necessary first step, on which all else is predicated, is that the public voices of the Archive must speak up to say that Responsible Parties were, after all, mistaken and that the tagging system needs to change. Announce what the changes will be, and a loose timeline of when, so users can take whatever action seems wise to them (eg doing the canonization of their stories themselves so there are no mistakes). Apologize for taking users down a dead-end path for so long and explain the logic behind the upcoming changes (ie readers actually being able to find the authors' stories and wranglers not dying of overwork as the archive grows). Admit that fixing things will inevitably cause some new mistakes, and surface old mistakes. Refrain from any \o/ whatsoever. Do it all again in email.

2) Next step. Make a "request new canonical tag" page. It should be quite simple, as close to one-click as can be. One text-field for each tag type (Fandom, Character, Relationship, Genre/Flavor/Whatever). If Character or Relationship is filled in, a prompt comes up for what Fandom this should be a child of. If a Fandom is filled, a prompt should come up asking for any character/relationships the suggester can think of offhand to populate it with. I'm thinking it should only be visible to logged in users; anything else is spambait. On the wrangler end, this should be equally one-click, as they review requests. Prospective buttons: Approve (immediately creates canonical), Request Review (pops up a flag in whatever task-flow forum exists, asking another wrangler or maybe staff for another opinion), Approve-Needs Forming (creates canonical which the wrangler may alter the phrasing of and optionally pops up a flag asking people to help find synonyms among the non-canonicals to wrangle into the new canonical), Reject (pops up a "reason" form which sends an email to the suggester with the reason filled in; also adds suggestion to blacklist table, with reason; previously blacklisted suggestions do not go through, just pop up a page with the reason for rejection [malformed, malicious, etc.]; the email and this form should both have a link to Support, in case someone wants to argue or get clarification).

3) Next step. Edit the posting form so that Fandom, Character, and Relationship fields can only be populated from the canonicals (possibly re-using the code for selecting a collection name). Fandom(s) remains the only required tag and must be entered first, to create the pool of Character and Relationship options; a warning to this effect should come up if someone clicks into those fields without entering a Fandom. The only other new bit of code required would be a new field for Genre/Flavor/hold a user poll to decide what to call this one. The place where all the No Fandom canonicals will go, at any rate. The Additional tags field can remain as is, in all its freeform glory, perhaps with a note to the effect that Additional tags will not be wrangled, now. Add a prominent link to the "request new canonical" form, and links beside each tag field that will lead to a page of that tag-type for the fandom(s) entered, so people can check what's available instead of having to guess forever. One new note, one new field, four new links, three altered field types. That's it! Test it and send that puppy live. Now all new stories will be in the appropriate format, working off the already existing canonical tag structure and requiring no further wrangling.

4) Adjust import function to look for and set Fandom first, and then try to match any other tags discovered to the fandom's canonicals pool, so as to allow as much of the filling-in process as can be done. Results will probably be about the same as they are now.

5) Write (another) filter sidebar in which only the canonicals show. A fandom index might show Characters, Relationships, and Genre/Flavor canonicals. A character index might show Relationships that character appears in and Genre/Flavor canonicals. A relationship index might also show associated Genre/Flavor canonicals. None of them should show Additional tags at all; instead perhaps there can be a link to the Tags section and a link to the Search form. Revise the in-menu "or" function so that it usefully searches for "character X OR character Y" AND "flavor A OR flavor B" instead of just "anything with X or Y or A or B" which is useless. All of these will be very straightforward mysql queries, instead of monstrous, ass-end-to walker functions. Hold the execution of this until tags are retrofitted.

6) Prep work done! On to the nerve-wracking, if not really difficult, part. Write a query to replace every non-canonical tag id with its canonical version in the story table of the database. Depending on the database structure, this could be as simple as "story.tag_id = tags.canonical where story.tag_id = tags.tag_id and not tags.canonical = ''". Take a good drink to settle your nerves. Clone the story table. Run the query on the clone; this will probably take a few days to get through. Make a news post that The Time Has Come. Take another drink. Shut down the posting form, import any new entries since cloning, swap the names of the clone and the live tables, revive the posting form, now breathe. That should take maybe fifteen minutes, if people prepare beforehand, and that's allowing a margin for a mild case of hysterics or two. If you want to close posting during the replacement process, you won't even have to do the import step. Lo, the archive is running seamlessly on all canonicals! Take another drink.

7) Now it's time for clean-up. Write a query to delete all empty and/or non-canonical tags. Write another to determine all stories with character/relationship meta-tags, the authors' emails, and send them auto-emails informing them that they have meta-tags Y on Story X that should please be re-set to the appropriate canonicals in order for the story to be searchable. Delete these particular meta-tags as they empty. Send general emails to inform all authors that retrofitting is done and they should please check their stories. Warn the wranglers and support people before-hand, because there will invariably be some mistakes showing up and probably some irate users needing to vent. In fact, make a special news post for them to vent in, including any strategies people can think of for easy checking and clean-up, and link to it in the email. Chairs should be on-hand for their volunteers with tea/hard liquor/kleenex/adorable kitten pictures. Schedule this, people.

8) Once the fallout looks to be dealt with, announce completion and success. Now you can \o/. Send the new sidebar live!

9) It's now time to reform the navigation. The Fandoms lists can probably stay as are, at least for now, but every single index page, whether for a fandom, a character, a genre, or whatever else, every index page should show the branch of the hierarchy it is in, as a breadcrumb at the top of the page. For example, selecting "Bishoujo Senshi Sailor Moon" should show, in the breadcrumb "Sailor Moon - All Media Types >> Bishoujo Senshi Sailor Moon". Selecting "Tennou Haruka" from one of those stories should show "Sailor Moon - All Media Types >> Characters >> Tennou Haruka" (or whatever the parent structure is, in that example). Beside the breadcrumb should be a link to the landing page of the fandom. All of these functions and pages exist already, all that is required is to make them visible to the users as well as the volunteers, with a few conditionals to conceal the wrangling links. The public view of the fandom landing page should also have a link to the "request new canonical" form.

10) While you're thinking about it, fix the advanced search, also, so that it has sub-fields for different kinds of tags, and searches for discrete tags as opposed to doing breakage-prone all-field string comparisons.

Congratulations. You now have a working, navigable, professional looking goddamn archive, that can run fast and sleek with as many readers/users as want to come; be proud of yourselves!


Now. That involved only a small amount of new coding, all of it straightforward, and it will fix both server-load and worker-load. The majority of the fix is one query to canonize existing story tags, and a slightly edited form to select new ones, using canonicals and hierarchy that are already established in every case. The rest of it is simply showing users the navigation that's already there. This change-over would not break any existing archive function. It could be nearly seamless. It would even surface things that are currently mis-wrangled but don't readily show it on the front end as the tags stand. And the wranglers would have the far more manageable job of reviewing requests for new canonicals and maybe populating new fandoms instead of trying to make sense of every senseless tag with their hands tied behind their backs. Everything is in place already, to make this work!

It could be done so easily. It could be started right now. WHAT IS STOPPING YOU?
qem_chibati: Coloured picture of Killua from hunter x hunter, with the symbol of Qem in the corner. (A cat made from Q, E, M) (Default)

[personal profile] qem_chibati 2012-07-10 08:49 am (UTC)(link)
Not actual teal world examples, but many variations exist. "lol so drunk when I wrote this", "Ed has so many, many issues", "tumblr style tags ftw".

Their purpose is to convey the artistic vision of the fanwork as commentary, and I find them very useful to my fannish experience, since it's been quite helpful in avoiding particular works, as the author pov is one I will likely not identify with.

Tag wranglers currently deal with them by assigning to a fandom if applicable and not canonising or marking unwrangable if applicable. (so they don't clog sidebar /drop down)

if a tag is not a character, fandom or relationship, there should be multiple uses before canonising - so for example if a group of people started tagging with "get xxx laid challenge" in order to group works for a particular challenge - that could get canonised.
edenfalling: stylized black-and-white line art of a sunset over water (Default)

[personal profile] edenfalling 2012-07-10 09:20 am (UTC)(link)
Some that I, personally, have used include things like "they're pretty crude illustrations though since I am not really an artist" (in reference to an illustrated story, because false advertising in re: artistic quality is nobody's friend!), or "once you create the rest of the world it has to count as much as your special country Mr. Lewis" (in reference to a Chronicles of Narnia story set entirely in Calormen from a Calormene viewpoint), or "minor background creepiness on account of Gamzee" (because there isn't a tag for that, but when the point of the story is fluffy cuddles and snuggles, it's nice to point out a potential mood killer), or "there is not actually any sex in this story" (to qualify a canonical "Threesome" tag, because again, false advertising is nobody's friend).

In other words they're little bits of additional information to convey details about the story -- mood, background assumptions, attitude toward canon, etc. -- that help people decide whether any given work matches what they want to read.
busaikko: Something Wicked This Way Comes (Default)

[personal profile] busaikko 2012-07-10 09:51 am (UTC)(link)
Thank you for clarifying, I appreciate it.

That's information that I would add in the author's notes, or in the summary if I felt it was necessary for the reader to know before clicking through. Is there a reason that you would not do the same thing, given that probably you are the only person who will use these tags, and only in one instance? (I have a feeling we come from different internet cultures re tagging, and it's interesting to me to question my assumptions of Things that Should/n't Be Tags. I mostly picked tagging up from Delicious, where there was a sort of a developing fan consensus over tag formats to allow people to find stuff, i.e., people coming to use the common format "fandom:Homestuck" so that all the bookmarks could be located in one search. That is, a user-need based system, not a creator-need one.)
sylvaine: Dark-haired person with black eyes & white pupils. (Default)

[personal profile] sylvaine 2012-07-10 10:51 am (UTC)(link)
I wish that the people who run the Archive (... NN, right? and how sad is it that I don't even know this?) would just follow this easy step-by-step process. Seriously.

(I presume the Genre/Flavor category would also include things such as kinks and certain fandom tropes (for instance, vampires, werewolves, etc), yes?)
edenfalling: stylized black-and-white line art of a sunset over water (Default)

[personal profile] edenfalling 2012-07-10 10:57 am (UTC)(link)
As I said to Branch, it's stuff that would either be awkward in an author's note - requiring way more words to introduce, or tangential to the rest of the note - or is stuff I want visible on the page(s) before a potential reader opens the story itself.

[identity profile] baby_werewolf.livejournal.com 2012-07-10 11:19 am (UTC)(link)
I think you'd definitely want the inline version/the 'my tag doesn't exist' button on the story page, I was thinking that as I was reading your post, and it was the only tiny nitpick I had with it: it does needs to be immediately obvious and accessible how to request new canonicals from the 'post new story' page, or people will get frustrated - an obvious in-line tag request set-up, and a working holding space for stories with unapproved tags would maintain the sense of flexibility and of the archive being open to new/unusual characters/pairings/etc. that the current system offers without the chaos of total tagging freedom.
gloss: superhero hit over the head with a book (academia)

[personal profile] gloss 2012-07-10 12:22 pm (UTC)(link)
I have never understood...why the belief at the OTW seems to be that some kinds of academic work (e.g. media studies) have great value, but other kinds (e.g. library science, taxonomy) have none, and that there is nothing to be learned from the years and years of work that people have put in to learning to classify shit (particularly written-down shit), we should just reinvent classification from the ground up.
As a sometime student of classification, THANK YOU FOR THIS. Centuries of debate and options and theory are available! And they are awesome!
sophinisba: Gwen looking sexy from Merlin season 2 promo pics (gwen by inwhatfurnace)

[personal profile] sophinisba 2012-07-10 02:18 pm (UTC)(link)
So much this, from the very beginning. I HATE not knowing how I can make things easier on the wranglers.
anatsuno: (thinking about it)

[personal profile] anatsuno 2012-07-10 02:21 pm (UTC)(link)
I should be running out the door and I’m not - at all - skilled at this on the technical level like you are; I completely agree that the way things work NOW is unsustainable and it needs to change, and I haven’t read the comments (this is my whole disclaimer), but here’s where and why I respectfully disagree with you here - I hope I’ll be articulate enough.

I understand that in other archives since time immemorial the work the archive did, the infrastructure it provided, was to have / relied on having canonical silos. But the AO3 was created precisely with the philosophy that it would support and encourage diversity and not enforce formulations (much) in those so-called canonical things. this was explicitly asked for/debated/decided at the time, I remember it clearly because it was and remains crucial to me.

What I mean is, the fact that I can designate a work of mine as being LotRiPs (fandom) and not Lord of the Ring RPF (fandom) is not unimportant to me - it is one of the basic, fundamental reasons I archive my work at the AO3 when I have never archived it in a fandom-specific or pairing-specific archive before.

What you’re suggesting would totally make AO3 life easier but I can’t agree with your step #3, at all. I wish wrangling would change but I disagree strongly w/ making tags enforceable from the top. Still & forever. The promise of a lack of top-down imposed vocabulary / taxonomy was made, and I want AO3 to keep it.

(aside: that promise is not even implemented enough imo: I am disappointed that while I can - I do - indicate that my fic is a LotRiPS fic on the page itself and in the header, the title of the page in my browser, which also becomes the text of the bookmark if I bookmark the page on Pinboard, say, or the filename if I save the fic, remains the “canonical formulation” - that’s a top-down imposition I resent, not just because I would resent it no matter what, but precisely because it goes against the promise that was made)

The thing is, whether it ruffles coders and librarians’ feathers or not, different ways to format relationship and fandom tags have semantic meaning, sometimes a LOT of it, see many a fandom kerfuffle - so imo users must be able to tag using those formats if we mean to respect them as creators. The whole point of the tag system is to invisibly unify that diversity, not to erase it.

I’m fascinated with [personal profile] sara’s comment about taxonomy having value as work that is looked down upon in the OTW, and I agree that is a problem - work is work, and librarians indeed have worked long and hard on these issues, we might not have to reinvent the wheel. But I think we’re also doing something that has never been done, precisely because we’re not trying to impose (too much of) a top-down decision on semantic differences that are meaningful to a very wide, very varied and very opinionated crowd. As a friend of mine (a coder, too) put it after reading your post: “So they’re proposing to remove the part of the tagging system that’s more sophisticated than any other site in or out of fandom? No.”

What would help more than enforcing CANONICAL TAGS ARE ALL THAT APPEAR is letting people designate synonyms themselves. So that if I tagged my story with a variant tag, it would say “Is this related to X”? Or, “is there a canon tag you want to hook to?” But I could still tag my stories Star Trek: Alternate Original Series instead of Star Trek (2011), damnit. Just let ME wrangle them as I submit my work; allow users to suggest merges like LibraryThing does, etc. But don’t force my hand.

It seems, from what I hear from within, that building infrastructure for interactive support is regularly backburnered - but it could totally address this.

So yeah, there is a lot to discuss, here. Also, I admit, I'm not just loath to see some of the changes you propose, I’m also irritated that the history of the AO3 seems forgotten; that most people seem to think it all was done wrong because omg some people are egotistical/stupid/inefficient and the Org is a slow dim-witted behemoth, and so on and so forth. There are underlying philosophies behind some historical decisions, if not behind all, and there are ethical discussions that were had at the origin of the archive that we all seem to have forgotten entirely, here.

So yeah, there are reasons why I can tag my fic so the header says it’s a LoTRiPS fic, or a Star Trek: Alternate Original Series fic. There are reasons why I need to be able to say “this is a domlijah podfic” and not a “Dominic Monaghan/Elijah Wood” podfic. And these reasons are why I (and a number of others) archive my work at the AO3. They make the computer work difficult, and organizing wrangling the way it was organized has also required + made human work difficult, so we both agree that some things need to change - but that doesn’t mean disappearing diversity is the answer. We can change in other ways.

At least I very much hope so.


Edited (typo) 2012-07-10 14:28 (UTC)
sophinisba: Gwen looking sexy from Merlin season 2 promo pics (gwen by infinitesunrise)

[personal profile] sophinisba 2012-07-10 02:25 pm (UTC)(link)
I agree, it would be great to have that kind of prep work for a new fandom or pairing available for a fan to put in without a sustained volunteering commitment.
sara: S (Default)

[personal profile] sara 2012-07-10 03:03 pm (UTC)(link)
Every argument I've seen about tagging at the OTW is, essentially, something that I've also seen covered just reading over C's shoulder the first year he was working on his MLIS. This business where it's somehow groundbreaking to have these taxonomy arguments all over again just mystifies me -- and I will be the first to admit that this isn't even my field!

But yes: there are a lot of really clever people out there who have spent the last few decades focusing their energies on how to write metadata for online objects. They have come up with at least a couple of good ideas....
erinptah: (hellsing)

[personal profile] erinptah 2012-07-10 05:40 pm (UTC)(link)
No Fandom currently includes about 4380 canonical Character tags, 500 canonical Relationship tags, and 5220 canonical Additional tags.

/drive-by statistic fairy
ar: Kira Nerys from DS9 flopped in a chair. (ds9 - kira hmmmm)

[personal profile] ar 2012-07-10 05:50 pm (UTC)(link)
Oh, God, I want this.

Back when The Playboy Club was on, I thought two of the characters' last names were Beaseley rather than Beasley for some reason. I wrote fic and tagged it as such, and only months later did I realize I'd been reading and spelling the name wrong the entire time. I was mortified, especially as my stories were among the first posted to the Archive for the fandom and thus had probably been seen by pretty much everyone who went looking for fic.

Had your proposed system been in place, I never would have had this problem. I'm a writer, a reader, and a tag wrangler, and these changes would benefit me in all three spheres. Wouldn't it be nice to think they could occur?
erinptah: (Default)

[personal profile] erinptah 2012-07-10 05:56 pm (UTC)(link)
Generic names. Like the character "Jack" and the relationship "Jack/Sam". They're metatags for tags with the characters' full and/or disambiguated names (Jack Harkness, Jack Sparrow, Sam Carter/Jack O'Neill, Jack Harkness/Sam Winchester, etc), which are filed under the fandoms in question.
foxinthestars: cute drawing of a fox (Default)

[personal profile] foxinthestars 2012-07-10 06:12 pm (UTC)(link)
The main thing is generic un-disambiguated names, e.g. "Harry," or descriptive tags for characters without names, like "Mom" or "a bartender," and relationships composed of such characters; I saw "Harry/Tom" come up as an example of this. Generally they're metatags with disambiguated versions for fandoms that particularly need them (e.g. "Harry Potter/Tom Riddle" or "Mom (Homestuck)") attached as subtags.

(Argh, crossposted...)
Edited 2012-07-10 18:12 (UTC)
kenllama: llama, with caption "I feel pretty" (Default)

[personal profile] kenllama 2012-07-10 06:13 pm (UTC)(link)
I think you've nailed it here.

a) it has to work, and
b) the mechanism has to be sufficiently transparent to the user that they can participate in the sense-making of the archive.

Right now, the heavy lifting of navigation-related sense-making is relegated to the wranglers and made heavier by the (ignorance*) of the users.

There are systemic arrangements that leave, as you say, collateral damage, and those really need to be fixed. I appreciate the folksonomic variations (free-style tagging) that enrich a controlled vocabulary (canonical tagging), and I think that your proposal to use controlled vocab for some fields and have free-form tagging available elsewhere is an ideal solution.

* ignorance only in the sense that because the system is opaque to the users, they can not participate in the process of helping it work better.
troisroyaumes: Painting of a duck, with the hanzi for "summer" in the top left (Default)

[personal profile] troisroyaumes 2012-07-10 06:39 pm (UTC)(link)
(Dropping in from [tumblr.com profile] unofficialotwnews) I feel like there should be a way to modify [personal profile] branchandroot's proposal so that you have the canonical dropdown that determines where your fic appears but also have another field to type in the display fandom/character/relationship name if you dislike the canonical form. If you don't specify a display name, it'll default to whatever canonical you chose. So canonicals get used for searching, browsing, etc. and serve as the fanwork metadata, but the additional fields are used for the actual information display on your fic. That would stay true to the Archive's philosophy of user choice/expression while actually fixing the search/navigation issues.

However, I think this would involve more coding work than [personal profile] branchandroot's current proposal. I mean, I am not involved with AD&T in any way, so I don't actually know how their database is set up but I suspect it would require more database wrangling if you had to separate out display from metadata.

ETA: I want to add...I really like this proposal (with the above modification or not) and am hoping that AD&T staffers will take a look and give it some consideration.
Edited 2012-07-10 18:43 (UTC)

Page 3 of 5