Been a loooooooong while since I last posted a blog here.
Anyway, it's 2008 and I'm working full time for a year. The sad thing is, I have more free time working full time than I had working three full days a week plus five units a semester at uni.
So with my free time, I've been getting back into the scene, catching up various things (which involve playing Tsukihime a whole year and a bit after it was originally released >_<, and playing Fate/stay night). One of the major things I'm working on, however, is this little fickle thing we call 'QED'.
It's one of those weird acronyms that is out of sync with the words itself. It's an acronym for 'distributed quality enforcement', and also the codename of a fairly exciting tool that I'm developing for mirror moon. In a nutshell, it allows us to streamline the proofing/editing process by quite a lot. I'm estimating that it'll increase the ease of reporting errors in the text, as well as making the grue's (GRand Unifying Editor) job much easier.
Previously, we have tried a variety of different solutions for proofing, including Trac, flyspray and are currently using just a forum thread for it. Trac and flyspray was too complex for what we wanted, but granted, they were full on issue reporting applications. I happened to browse the forums one day and came across the forum thread with a day of UBW's proofing.
What I saw made me cringe: Each proofreader posted a few sentences of the original text that warranted a change and the proposed fix along with a reason (if needed). Then the master proofer (Message) would go through the posts and either agree or disagree with the change, and in the case of one that he can't decide (usually due to a translation styling thing), it goes to the grue (who happens to be TakaJun).
After all THAT, then the grue looks at the thread, decides whether to implement the fix or not, opens up the diff, looks for the line, then changes the line.
Repeat that by at least ten fixes per scene, around twenty scenes per day, then by however many proofers reported that change... it's a lot of boring and time-consuming work.
There are also a few downsides that further slow down the process. The master proofer doesn't easily have access to context (as it's generally the line that needs changing), and he has to go look for it, which further wastes time. Then, the grue might have to scroll all over the place to make sure the same line isn't reported twice, as one might have a better fix than the other.
I considered all this and decided that we needed a custom proofing solution.
So I made one.
QED began development on the 1st of December, coded in Ruby on Rails. It is fairly close to completion; I'm just implementing keyboard support for even faster proofing (thank you, Message, it is really a timesaver ;o).
Each script file counts as a Section, and they have many Blocks (think chunks of text). The Block contains a copy of the original text and all the English lines within that block. Each Line then has Fixes, which are proposed fixes to the original line. Each Fix has a reason and comments.
The proofer's general workflow is now:
- Proofer sees a problem.
- Proofer adds a fix.
- Proofer moves on.
- Proofer sees another problem, but this time, other proofers have suggested fixes.
- Proofer can then vote on a fix, optionally comment on why, then continue.
And so on. This is already muchly improved compared to the old method already... no duplication of efforts (apart from more than one person proofing the same thing, but that's what we want).
Lets look at the master proofer workflow:
- MP sees an unresolved line (marked with an orange number on the left).
- MP looks at the list of fixes.
- MP looks at the context, which is above and below the line in question.
- MP optionally looks at the original text (which is shown by a toggle link).
- MP makes decision based on intuition and votes.
- MP clicks a button next to the decided fix.
- MP moves on.
How much time did we just save there? A lot.
Now, lets look at the grue's workflow, which is really the above, plus this:
- Grue makes sure everything is resolved by checking the stats at the top part of the page.
- Grue clicks 'Download Diff', which depending on where he is, sends him a .txt in his chosen encoding or a zip file.
I'm pretty damn sure that saved a shitload of time there.
Plus, when keyboard shortcuts are done, things will be even faster. The whole thing also heavily uses AJAX to streamline the process even more. It also has versioning built in so we can see who made changes to what, and also revert if needed.
We will be using QED for HF, and I'm using it to report various bugs I've found in Fate as I'm playing along. QED also has project support, so we will be using this for future projects as well.
That rant was almost tooooooo long, but I hope you guys enjoyed a sneak peek into what goes on behind the scenes.
- chendo's blog
- Login or register to post comments




Sat, 05/01/2008 - 11:28
That sounds amazing^^
I know what a hassle it can be to do group work over the internet, and it is so damn slow to compare and understand what everybody is saying.
Actually, are you going to release it to public? I might be able to use it:P
- Login or register to post comments
- report spam
»Sun, 06/01/2008 - 05:13
I've thought about it... It'll depends how confident I feel about it :p
- Login or register to post comments
- report spam
»Sat, 05/01/2008 - 13:18
that sounds really troublesome but wonderful to keep the work going faster and smoother ^^
thanks a lot
- Login or register to post comments
- report spam
»Sat, 05/01/2008 - 15:35
It is very Japanese. You are likely to be eaten by a grue.
- Login or register to post comments
- report spam
»Sat, 05/01/2008 - 20:16
You guy's sure love to keep busy don't you? I think I understand the majority of that. Your creating a script to organize and improve the original weak proofing system to save time. Organization is the key to speed in the end.
That's really amazing though, I could never do anything close to that...well duh, that's why I'm commenting and not posting.
I don't quite see why the main proofer would 'optionally' toggle the original text, if he's proofing that text it seems that you would want it displayed indefinitely, and maybe in a smaller window when viewing context. An automated rearrange to prioritize the info you need or something like that...Though that's just an observation, I'm probably getting something wrong.
It's very interesting to see what happens well beyond what we see, which is project updates and enjoyable blogs but as for software and everything it's great to hear something about it. Thanks for taking the time to share! ^^
~The dream and story one man writes with the tip of the blade, another man can write even better with the tip of a pen~
- Login or register to post comments
- report spam
»Sun, 06/01/2008 - 05:15
It'll probably make more sense when I post up some screenshots or maybe a screencast. Hopefully new groups are forewarned about the difficulties of producing a quality game patch :p
- Login or register to post comments
- report spam
»Sun, 06/01/2008 - 21:24
Honestly a system like that would work for a lot more then just translations, even building games from the foundation could use something along those lines for editing.
I would love to use that to edit the script I'm producing, so yeah I hope you do get a chance to open it up to more people since I'd surely enjoy trying it.
~The dream and story one man writes with the tip of the blade, another man can write even better with the tip of a pen~
- Login or register to post comments
- report spam
»Mon, 07/01/2008 - 03:51
Yeah, I guess... the problem is support.
If I made it a service so I can open it out to selected people, the problem is when things don't work and they want it to be fixed. I don't exactly plan to charge people for this cause it's a hobby project, not to mention I don't have the time to properly support this outside of mirror moon.
Otherwise, if I made it open source and let people install it, the problem would be them upgrading to newer version, because there might be hacks and what not needed to migrate to the new version and I'm too lazy/busy to make it work automagically.
And realistically, it only works well if you have more than one proofer... if you're doing it solo, then it's probably not as helpful (unless you like versioning, in which case I would suggest SVN).
- Login or register to post comments
- report spam
»Mon, 07/01/2008 - 07:12
There are quite a few problems with the idea of it, but fundamentally it could be used.
On one hand you could provide it "as is" without any further support, literally tell them right off the bat that no new updates or fixes should be expected to be released. That might turn some people off...but others might just like the program and not need new features or the like.
I can't see many people having things 'not work' if you release an already stable edition that's in use by Mirror Moon, since that would suffice as a test phase I think. Though problems may occur with things like installation and odd attempts to do something by users. Though again if it's "As is" they can't really message you for support (Though I'm sure some would anyway)
Another solution may be taking on a team of volunteers to learn the "basics" by themselves, and some of the advanced parts in order to properly troubleshoot for you, saving your time for a lot more important things then dealing with complaints of malfunctions that may be solved quite easily. Releasing it would also give you a broader selection of people that may find issues with it, that might not be caught when you first employ it. If they discover a problem first it saves you the trouble of running in to it when it's least opportune (in the middle of using it for proofing.
Making it Open Source, although one idea I have to agree would present some problems. Making new versions compatible with hacks and scripts is quite troublesome, but you could make it clear that as soon as they install a hack or extra component that they are voiding any support from Mirror Moon on problems with updating or functioning. If they are smart enough to create back ups then they can always revert back, update, and re-hack.
If you mean that you wouldn't want to make an actual installer to automate the process of updating, release only a first version and keep minor fixes and updates unique to Mirror Moon (A little notch a head of the competitors never hurt). Maybe later on when/if you have time, you can throw together a basic installer for a new version of it.
As for mentioning wanting to use it, I did mean for multiple proofers. I have quite a few people who wouldn't mind helping me with some editing and the like, but it's a real pain to send the text file in a circle around these people and comparing changes left and right. Your current method is a lot more convenient then mine, so of course I'd be a little excited about possibly getting a chance to use it xD.
Those are just some thoughts on my part but if you find it inconvenient to release then of course I can do nothing about that, and would understand. Just thought I'd put my two bits in and maybe help out somewhat.
~The dream and story one man writes with the tip of the blade, another man can write even better with the tip of a pen~
- Login or register to post comments
- report spam
»Mon, 07/01/2008 - 08:13
I guess the main thing is I don't want people seeing the source, because it was slapped together fairly quickly, and also it would make things harder for would-be hackers trying to get in and whatnot.
Also, it's built with Ruby on Rails, which is fairly non-standard and will run like crap on shared hosting, which is what most people would tend to have, not to mention the difficulty of installation is pretty high.
I wouldn't consider it stable enough for release, either.. we've only started to use it, and in fact it won't really think about releasing it to anyone until we've done a project from start to finish with it.
Another problem is that people will have to write importers to import the script into the system in the first place. I'm planning on writing a plugin to import VASTT as we are moving some of our other projects into QED.
So... the final word would be: Depends :p
- Login or register to post comments
- report spam
»Mon, 07/01/2008 - 08:57
That makes sense, not only does it present a security issue to give our your softwares code but also personally you would want to make sure it is up to standard, to make sure it makes the best impression and by association comparing the quality to you.
I'm rather interested in the specifics of the matter (What I can understand at least) so I will wait for further updates on how that's going, and working in use with your projects.
Tsk I have shared hosting (And a traffic less website xD) plus my ability to install things is probably zero. So even if you did release it I'd probably just end up staring in awe from the sidelines. Though I do believe dream host supports Ruby on Rails...I'll have to check that out.
Though you did mention the fact that the Grue would be able to download a text file from the code, so wouldn't it be fairly easy to get the script in to the actually software using the same thing? If it can handle text files outbound, wouldn't it work both ways?
And yeah, depends is more then I would expect so I'll hope on that and resist the child in me saying "Oooh new toy to play with!" and cheer you on in your task.
~The dream and story one man writes with the tip of the blade, another man can write even better with the tip of a pen~
- Login or register to post comments
- report spam
»Mon, 07/01/2008 - 10:29
Heh, yeah... Dreamhost does support it, but unless you go for the PS option, it'll be reaaaaally slooooow, since your processes will probably get swapped since you have no guaranteed RAM and what not. The good thing about Dreamhost PS is that the RAM is burstable, but considering the $ per RAM/CPU, something like slicehost would be effective, plus you have more control and root access (it's what we use).
QED can currently handle the FSN diff format that we use to import and export, but that's it. The main problem is importing it the first place.
- Login or register to post comments
- report spam
»Mon, 07/01/2008 - 22:09
Oh so that's what you guys use, I see...Well unfortunately I can't afford something like that at the moment (Yeah it's sad >.>) but oh well. Anyway if it's such a labor intensive program then it just makes it more exciting for me to check out. I' loading the screen cast right now.
I see so the QED's current formats are limited, then that makes more sense. I have no idea where my head was at.
~The dream and story one man writes with the tip of the blade, another man can write even better with the tip of a pen~
- Login or register to post comments
- report spam
»Tue, 08/01/2008 - 00:18
I think It would depend on the size of their screen or if they have two screens, like with a single 17 inch screen I could understand why they would not want it displayed even as a smaller screen. personally I love 2 screens and I stongly suggest that EVERYONE go out and buy a 20inch with 1680by1050 pixels or get the 22/23 inch with the 1920 resolution.
note res on screens is everthing spending the 30 extra dollars to go from a 19 inch with 1280 res to a 20inch with 1680 res is really worth the money invested and don't let anyone talk you out of it.
- Login or register to post comments
- report spam
»Wed, 09/01/2008 - 02:57
Heh. I love dual screens... I've got a 20" iMac and 22" LCD widescreen at work.
- Login or register to post comments
- report spam
»Sat, 05/01/2008 - 21:43
holy crap. i hope that speeds up the proofing process! go mirror moon!
- Login or register to post comments
- report spam
»Wed, 09/01/2008 - 02:31
only thing i have to say is....
D: does ctrl+f not work for when you have to find the lines or something?
i use control + f to find everything....
ESPECIALLY when researching online.......
- Login or register to post comments
- report spam
»Wed, 09/01/2008 - 02:57
That would only work for the current page. The search function searches the whole system.
- Login or register to post comments
- report spam
»