[13:50:21] OMG I'M BEING LOGGED [13:50:32] Morning [13:50:36] You sure are early today [13:50:46] just checking in on stuff during breakfast mmmmm yum [13:51:23] Following up on the meeting you had with Trevor the day before yesterday, I'd like to talk to you about some more technical Usability stuff and about LocalisationUpdate [13:52:03] You're having breakfast right now obviously and I gotta go in 5 mins, but is there a time later today that we can talk about that for a bit? [13:52:20] lemme make sure i haven't been booked into 50 meetings like wednesday :) [13:52:47] yay ok i'll be available most of the day [13:53:15] OK [13:53:32] Is it OK if I poke you around 1 pm? [13:53:45] sure :D [13:54:25] OK, gotta run now, see you after lunch then [15:33:00] Good morning [15:36:59] Morning [15:37:37] Working at home again today [15:55:56] Hi brion! [15:56:05] Welcome to our own little corner of the internet :) [15:56:33] heyyyy [15:56:37] !elephant welcome | brion [15:56:37] --elephant-- brion: I don't know anything about "elephant". [15:56:49] !welcome | brion [15:56:49] --elephant-- brion: Welcome to the Usability Initiative! [15:57:01] I always mess up with the dang bot [15:57:16] We call the bot elephant cause it logs the room - so we never forget [15:57:26] (any conversations that is) [15:58:08] ah, the elephant in the room [15:59:22] Roan - you around? Eating dinner? [16:03:06] bah [16:03:39] i just went through several emails some guys trying to push their search engine on us because they didn't realize there were search results below the two-page-long "there wasn't an exact title match even though you don't care probably" message [16:04:02] HA! [16:04:27] Well, that had been solved - have you taken a look at those changes yet? [16:04:41] (nevermind, I showed them to you) [16:08:10] *TrevorParscal grabs some food now that Melissa is awake [16:08:40] *brion backs away so he doesn't lose any fingers [16:18:29] HA HA HA [16:18:38] *TrevorOmNomNom goes back to eating [16:18:57] high availability high availability high availability ? [16:20:17] Que? [17:36:56] *TrevorOmNomNom TrevorParscal [19:37:20] Good afternoon guys [19:37:28] (you're both off to lunch probably) [19:37:51] TrevorParscal: When you get back, can you explain what you mean by making the TOC "navigable"? [19:38:11] I'm here [19:38:12] um [19:38:33] Oh [19:38:44] that's this idea of having a TOC outline in the edit mode, which you can click and it takes you to the sections (scrolls the edit box) [19:40:11] Ah, fancy [19:40:12] btw- IE5 is a mess (not that we are trying to support it) [19:40:21] I feared so [19:40:24] I got windows 2000 installed and checked it out [19:40:40] Have you done browser+OS detection in the survey yet? If not, I'm gonna [19:40:53] even 5.5 is only 0.1 (rounded up) the net [19:40:59] I havn't - go ahead! [19:41:14] I'm working on getting an IE 6 testing setup going [20:06:16] Hey Brion [20:06:29] oy [20:06:52] I wanted to run some practical technical stuff about the upcoming usability rollout by you [20:08:40] As you might know, we're planning to put Vector and the toolbar on the live cluster as options for users to enable in their prefs on July 1st [20:09:09] Also, there's this special page that we've created that allows users to opt into both at once by clicking a big Opt In button [20:09:17] And when opting out, they get a short survey [20:10:08] Stuff that's relevant for you is that we'll be storing the stuff people fill in in that survey in a database table, and that after some time we probably want a dump of that table to pass to Erik Z for statistics [20:10:32] Also, I wrote an extension called PrefStats that tracks which users enable certain preferences, when and for how long [20:11:02] *brion reads [20:11:11] The idea is to use that to track people enabling/disabling skin=vector and/or usebetatoolbar=1 ; every time that happens, it INSERTs/UPDATEs a database table [20:11:23] woot [20:11:26] (it also adds an extra SELECT to each prefs update, but that's probably harmless) [20:11:42] should be pretty harmless yes, those should be rareish [20:11:58] Yeah and we're running UPDATEs for those as well [20:12:22] Anyway; I've also created Special:PrefStats which uses Google Charts to present a nice bar char of how long people have had our stuff enabled [20:12:41] I made it restricted because it requires about 20 COUNT(*) queries that together count the entire prefstats table [20:13:17] nom nom :) [20:13:24] So I was feeling like we maybe don't want the entire world to go to that page at the same time and blow up the servers [20:13:26] is the graph interactive? [20:13:36] No, Google Charts aren't interactive AFAIk [20:13:38] or is it something we could run backgrounded and update a static chart? [20:14:02] Not sure [20:14:17] Anyway, we could also apply the dump-afterwards-and-forward-to-ErikZ method here [20:14:47] :) well if we can generate em easy enough let's not put extra work on poor erik :D [20:14:51] Yeah [20:14:56] They're pretty basic though [20:15:20] What it does is calculate what the maximum duration is someone's had it enabled, then uses that to divide the group in 10 bars [20:15:33] So if the max is 1500 you'll get 0-150, 151-300, etc. [20:16:05] Unless you specify an increment by hand with [[Special:PrefStats/123]] in which case it uses that (still need to add a textbox for that) [20:16:30] I'm not sure that's enough for what the others on the usability team want, but we'll see [20:17:47] Anyway, the main point of my poking you is telling you that there's more than meets the eye when it comes to stuff we wanna run on the cluster from July 1st [20:18:31] If the healthily paranoid side of you wants to review code before putting it live, it's all at http://svn.wikimedia.org/viewvc/mediawiki/trunk/extensions/UsabilityInitiative/ [20:18:35] whee [20:19:12] Also, I wanted to let you know that I've been working on LocalisationUpdate on GerardM's request [20:19:47] I cleaned up the code a bit, and adapted Tim's PHP parser so we could get rid of eval()ing code obtained through HTTP [20:20:02] awesome [20:20:08] The downside is that it's slow as hell now :( [20:20:49] My attempts to profile this stuff have been unsuccessful so far, because the profiler won't write stuff to the DB until the request is finished, and it kept crashing before that or OOMing [20:21:11] I'll try some more but it's hell; my gut tells me we could save a lot of this by agreeing to eval() stuff that comes from the local filesystem anyway [20:21:36] o_O [20:21:53] what would we need to eval that was local to begin with? [20:22:04] I'm not entirely sure [20:22:12] include() should do [20:22:42] *TrevorParscal is going to end up in the loony bin getting old versions of IE to work [20:22:43] :( [20:22:58] We're doing something like eval(stripstuff(file_get_contents("$IP/languages/messages/MessagesBlah.php"))); [20:23:43] Where eval() has been replaced by an awfully slow but safe PHP parser [20:24:11] I'll look into using the message cache for this (not sure it'll do what we want there) [20:24:40] But do I have like your principal approval to be less paranoid about stuff that's in our own directories on the local FS? [20:29:32] you mean the files that are already being include()d? [20:31:59] Yeah they're already being included by the message subsystem [20:32:09] Well not all of them at the same time of course [20:32:37] I'll look into getting that stuff from the message subsystem directly [20:38:38] brion: Also, what are the prospects/requirements/obstacles/whatever for getting LocalisationUpdate enabled on the cluster? [20:39:48] can't say without seeing how it currently works [20:40:38] The idea is actually pretty simple. You run LocalisationUpdate/update.php and it pulls the Messages*.php files from SVN, compares them to the messages files you have, and stores updated messages in the DB [20:40:57] Then it uses a hook into message loading to make messages from the DB override stuff from the Messages*.php files [20:41:47] And it's got some logic to make sure the updated message is still an appropriate translation for the English one; not sure how it does that, but I trust these guys on that [20:41:58] That's pretty much all there is to it [20:54:40] Looks like theres more work to be done on Firefox 1 - but not much [20:54:53] Gosh - this is the tedious part! [20:59:39] You still up Roan? [20:59:52] You've been staying up so late recently :) [20:59:53] Yeah [21:00:00] I know [21:00:05] The curse of having a week off of school [21:00:20] I've got to bascially go through and rewrite the CSS for the skin [21:00:22] :( [21:00:26] Damn [21:00:30] Maybe some of the HTML too [21:00:39] All because of IE6? [21:00:54] I made the mistake of delaying getting a hold of an IE6 test system [21:00:57] yes [21:01:07] Maybe I can get IE5 support too! [21:01:11] We will see [21:01:58] I usually pride myself in backwards compatibility skill, but I got carried away with the whole "we don't worry about anything that's not CSS 2.1 compliant" which was a damn lie! [21:02:16] Not sure who even said it - but it's my fault for not doing enough research i guess [21:02:37] I normally don't use as many CSS tricks (like selectors and stuff) [21:02:53] And they are awesome - but IE just goes "huh?" [21:03:42] 2 more weeks before your trip - you excited? [21:05:39] Yeah kinda [21:05:56] I'll write an e-mail to Naoko poking her to give me some more travel details when she gets back [21:05:59] Like my e-ticket [21:06:03] Right on... [21:06:09] Hope it all runs smoothly [21:06:16] Yeah me too [21:06:21] Is there anything I may be able to answer? [21:06:24] I hope I'll handle jetlag somewhat well [21:06:44] Well stuff like how do I get my ticket, by when do I have to be at the airport, etc. [21:06:46] The trick for me was DO NOT SLEEP ON THE PLANE [21:06:47] :) [21:06:56] but I was going the oposite way [21:07:00] Was that going *to* or *from* Berlin? [21:07:01] Yea [21:07:12] I didn't sleep on either really [21:07:19] I tried to sleep on the way home, but it didn't work [21:07:28] My trip back sucks, I leave at 3 pm Pacific time and arrive at 10:30 am Amsterdam time, but it'll feel like 1:30 am [21:07:50] owch [21:07:54] And I have to get up at 5:50 the next morning [21:08:03] ... or not [21:08:10] I will probably pick you up from the airport [21:08:14] I'm quite sure I will [21:08:20] I for sure will [21:08:20] Great [21:08:21] :) [21:08:28] And drop you off there too [21:08:34] I live like 10 minutes from SFO [21:08:39] (the airport) [21:08:39] Cool [21:11:04] Awesome, browser+OS detection works for me [21:16:31] is it on the prototypes yet? [21:16:57] No [21:17:05] I'm gonna look at it in IE first [21:17:24] right on [21:18:03] God beware me... [21:24:11] Yay! Browser+OS detection live on prototype @ http://prototype.wikimedia.org/en.wikipedia.org/Special:OptIn [21:24:32] Only tested this with Firefox 3 and IE 7, both on Windows, so please test with other browsers+platforms too [21:24:57] AWESOME! [21:24:58] For the record: it never selects Vista because the detection thingy just says "Windows", no additional info [21:24:59] Working well for me [21:25:20] I'm OK with it just being WIndows as an option [21:25:43] *RoanKattouw does that [21:26:01] using programs on one or the other doesn't seem to change the browser compatibility [21:26:14] it still says vista and XP in the drop down [21:26:27] Rather than list all the varieties of windows, just have WIndows [21:26:28] I think [21:26:57] we need to add more cellpadding to this table.. [21:27:01] like 5px [21:27:13] (not 5 more, just 5 total) [21:27:16] I can work on it [21:27:18] I knew it looked weird [21:27:30] I'm gonna probably mess with this page allot anyways.. or some... [21:27:49] there needs to be more space between the radio buttons [21:27:53] like, bottom padding [21:27:55] hmm [21:28:44] Windows thingy is done [21:29:19] awesome! [21:29:21] you rock [21:29:26] you going to bed now? [21:29:30] Yeah soonish [21:29:39] I worry about this job messing about with your sleep :) [21:29:45] Nah don't [21:29:48] brb - sandwich break [21:30:00] I couldn't sleep before 2 am the last few nights, so I decided to get up at 9 this morning [21:30:40] I feel you [21:30:42] Anyway, am I free to grab stuff from the prioritization thingy you sent me? [21:30:46] I still have insomnia from time to time [21:30:52] when I was your age I was nocturnal [21:31:00] totally [21:31:14] Any work towards that stuff is great [21:31:16] I know, I'm still like that except that I have to get up at 6:15 so often [21:31:29] Oh navigable TOC isn't even Babaco, it's Citron ^^ [21:31:38] It's in the middle of Babaco stuff [21:31:45] even if it's just concept line drawings, technical feasibility analyzation, or coding up prototypes [21:31:59] That list shifts allot