User:Enkidu Linden/Office Hours/2010-04-08

From Second Life Wiki
Jump to navigation Jump to search

List of Attendees

  • Aimee LindenAimee
  • Aimee Linden
  • Chaley May
  • Dahlia TrimbleDahlia
  • Dahlia Trimble
  • Davina Glitter
  • Enkidu Linden
  • jeremy Caxton
  • Latha Serevi
  • Memorial Dae
  • Morgaine DinovaMorgaine
  • Morgaine Dinova
  • Pete Atolia

Transcript

[11:03] Memorial Dae: So we meet again Morgaine!
[11:03] Enkidu Linden: hey folks!
[11:03] Memorial Dae: Hiya
[11:03] Morgaine Dinova: Hi Memorial
[11:03] Morgaine Dinova: Hi Enkidu!
[11:03] Morgaine Dinova: Lemme send a notice to Groupies, it's a bit empty
[11:04] Memorial Dae: ...check the basement
[11:04] Enkidu Linden: i keep meaning to see what that group is all about
[11:05] Memorial Dae: Do me a favor, tick off PLAY ATTACHED MEDIA ON OTHER AVATARS
[11:05] Memorial Dae: I want to see if this is still working
[11:05] Morgaine Dinova: I wrote "web stuff" in the message --- you need to make an entry on the wiki methinks for your OH :-)
[11:06] Enkidu Linden: weird, i thought i had
[11:06] Morgaine Dinova: Hi Latha!
[11:06] Enkidu Linden: hey there!
[11:06] Memorial Dae: Hi
[11:06] Morgaine Dinova: Oh, I hope the OH HUD isn't hard wires. Damn silly for it to be closed source.
[11:06] Morgaine Dinova: hard wired*
[11:07] Morgaine Dinova: Hi Dahlia!
[11:07] Memorial Dae: the one i have is closed
[11:07] Enkidu Linden: where did you get the hud?
[11:07] Morgaine Dinova: Oh, it's not Dahlia, lol. Hi Davina
[11:07] Memorial Dae: It is an old freebie from Chilbo
[11:07] Memorial Dae: Fleep made it
[11:08] Enkidu Linden: shall we start?
[11:08] Latha Serevi: sure
[11:08] Enkidu Linden: last week we started talking about web performance issues, which is a pretty broad subject
[11:09] Enkidu Linden: i sensed particular interest in performance issues surrounding our in-viewer web components
[11:09] Morgaine Dinova: GG himself who made the HUD never turns up at OHs anymore, lol
[11:10] Latha Serevi: Do those internal web components like search use the same webkit as the prim media?
[11:10] Dahlia Trimble: hi :)
[11:10] Enkidu Linden: i believe so. pretty sure they do
[11:11] Enkidu Linden: hi dahlia!
[11:11] Enkidu Linden: so, this week i thought we'd pick a web component and poke it with a stick
[11:11] Enkidu Linden: i worked on the viewer help system so this is a good candidate
[11:12] Morgaine Dinova: The sim is in trouble
[11:12] Enkidu Linden: uh oh!
[11:12] Aimee LindenAimee Linden gets much Joy from poking things with Sticks
[11:12] Memorial Dae: lol
[11:12] Enkidu Linden: should i file a support ticket?
[11:12] Morgaine Dinova: Hi Dahlia :-) #2
[11:13] Morgaine Dinova: Hi Aimee :-)
[11:13] Aimee Linden: lo :)
[11:13] Dahlia Trimble: sim in trouble?
[11:13] Memorial Dae: It must be Aimees fault
[11:14] Morgaine Dinova: My first "Hi Dahlia" never came out
[11:14] Memorial Dae: There we go
[11:14] Enkidu Linden: if you click the ? in any viewer 2 window/dialog/overlay/etc, you'll see the help for that, which actually a web page loaded in a styled webkit browser window
[11:15] Dahlia Trimble: oops I'm using emerald right now :/
[11:15] Morgaine Dinova: I'm in Imprudence.
[11:16] Enkidu Linden: if you're not using viewer 2 you can hit these pages directly
[11:16] Memorial Dae: I am in viewer 2.0 like a good little beaver.
[11:16] Enkidu Linden: best viewed in a webkit browser like safari or chrome
[11:16] Latha Serevi: I'm in 2.0. I'm exploring the help for my inventory window now.
[11:16] Davina Glitter: 2.0, trying to get used to the changes
[11:16] Dahlia Trimble: I was trying to get the window transparency tweak to work in V2 and I messed up something :(
[11:17] Morgaine Dinova: I can't type in a 3-inch wide vicinity input box, among a zillion other issues.
[11:17] Enkidu Linden: here's one such url: http://viewer-help.secondlife.com/en/Second+Life+Beta/2.0.0/nearby_chat
[11:19] Dahlia Trimble: thats a help message? nice
[11:19] Enkidu Linden: thanks! i didn't write it but i drive to work with the guy who did
[11:20] Enkidu Linden: we're hoping to someday open these pages up for resident edits
[11:20] Dahlia Trimble: lol that counts I guess
[11:20] Enkidu Linden: i might not have mentioned this but the help content is all managed on the public wiki
[11:21] Latha Serevi: Clicking around the help, I got to the appearance editor help and it mentions a "Script Info" window. But I can't find it. Hmm.
[11:21] Dahlia TrimbleDahlia Trimble found http://wiki.secondlife.com/wiki/Viewer_2_Help
[11:22] Enkidu Linden: if you want to poke around in the wiki articles themselves, look in the Viewerhelp namespace
[11:22] Memorial Dae: sweet
[11:23] Pete Atolia: hi everyone
[11:23] Enkidu Linden: i.e. http://wiki.secondlife.com/wiki/Viewerhelp:Notifications
[11:23] Davina Glitter: hi hi pete
[11:23] Enkidu Linden: oops, that's an e.g.
[11:23] Enkidu Linden: welcome pete
[11:23] Enkidu Linden: ok, so, performance!
[11:24] Enkidu Linden: we need ways to know that this page is slow in the first place, right?
[11:24] Morgaine Dinova: Measurement++, guessing - -
[11:24] Enkidu Linden: there's about a trillion tools for stuff like this
[11:24] Enkidu Linden: my personal favorite is the SpeedTracer extension to Chrome
[11:25] Enkidu Linden: but you can get a pretty decent picture of the problem areas just by using Web Inspector in Safari & Chrome, or Firebug in Firefox
[11:25] Latha Serevi: I can't find this feature at all. http://wiki.secondlife.com/wiki/Viewerhelp:Script_Information Supposedly accessible from appearance editor but isn't. What gives? (sorry, this is a help content issue not a web issue)
[11:26] Enkidu Linden: hmm
[11:26] Enkidu Linden: i will pass it along when i see him tomorrow morning
[11:27] Latha Serevi: maybe the option silently disappears since I don't own a parcel in this region, or something. never mind.
[11:27] Enkidu Linden: he's usually telling me about my bugs
[11:27] Morgaine Dinova: Is there any performance info for web stuff available in the Advanced menu?
[11:27] Enkidu Linden: this role-reversal will be sweet
[11:28] Latha Serevi: I don't see anything web or performance related in the advanced menu, Morgaine
[11:28] Enkidu Linden: that's a great question that i don't have an answer to. i think you can enable some debugging that will show you what pages are requested and http status codes
[11:28] Enkidu Linden: not sure about load times
[11:29] Morgaine Dinova: The SL viewer is actually once of the best instrumented 3D apps I know. It would be good if that info covered web accesses too.
[11:29] Enkidu Linden: i agree totally
[11:29] Morgaine Dinova: Fast Timers and the various consoles are excellent for diagnosing problems.
[11:30] Enkidu Linden: if you guys don't have any web analysis tools, try this: http://wiki.secondlife.com/wiki/Viewerhelp:Script_Information
[11:30] Enkidu Linden: dang!
[11:30] Enkidu Linden: copy fail
[11:30] Enkidu Linden: http://www.webpagetest.org/
[11:31] Morgaine Dinova: That looks interesting Enki
[11:31] Enkidu Linden: and plug in the url i gave earlier: http://viewer-help.secondlife.com/en/Second+Life+Beta/2.0.0/nearby_chat
[11:32] Enkidu Linden: i like this tool because it can hit pages from different parts of the world, so you get to see a glimpse of real latency effect
[11:32] Enkidu Linden: downside is that it ony uses IE7 so the results are fairly narrowly scoped
[11:33] Enkidu Linden: this particular page was designed for webkit, so you can see from the screenshot just how awful it looks in IE7
[11:34] Morgaine Dinova: What's a .msi ?
[11:34] Latha Serevi: An NCIer gave me the answer to my "where's the script information hiding" question. It's a server 1.38 feature. Betcha it's hiding until I'm standing in a 1.38 region.
[11:35] Morgaine Dinova: Oh, lol. MSIE plugin? Christ, what's a closed binary doing on Sourceforge?
[11:36] Pete Atolia: .msi is just an installer for wi2k and later :)
[11:36] Enkidu Linden: so i have some results back. i'm looking at the first waterfall chart: http://www.webpagetest.org/results/10/04/08/de1038f91a6f50b48907d1e6f131644f/1_waterfall.png
[11:37] Morgaine Dinova: Well the first word of "sourceforge" is "source" .... apparently their standards have dropped.
[11:38] Enkidu Linden: wow this chart looks awful
[11:38] Enkidu Linden: tell me what you guys think about it
[11:38] Dahlia Trimble: that web test thingie doesn't seem to have a unity plugin installed
[11:38] Latha Serevi: Spends a second in javascript? Not sure if I can interpret the chart that way.
[11:38] Morgaine Dinova: I think <nil> since I can't use it on Linux
[11:39] jeremy Caxton: so im new to this, what fun things r there to do?
[11:39] Enkidu Linden: it does spend a full second getting that javascript
[11:40] Dahlia Trimble: Jeremy, go shopping :D
[11:40] Latha Serevi: jeremy, I'll pass you a landmark for a great newbie-helping location. we're in the middle of something.
[11:40] Enkidu Linden: can't load the png, morgaine?
[11:41] jeremy Caxton: appreciate it thank u
[11:41] Dahlia Trimble: check out the museum of robots in showcase, it's one of my favorites ;)
[11:42] Morgaine Dinova: Yeah got the PNG Enki
[11:42] Enkidu Linden: cool
[11:42] Latha Serevi: What are the color codes? I don't see a legend.
[11:43] Enkidu Linden: jeremy: also http://secondlife.com/destinations?lang=en-US
[11:43] Enkidu Linden: the legend is on the results page for some reason
[11:44] Enkidu Linden: so this is telling me that in new zealand in IE7 it takes 3.5 seconds to load this page
[11:44] Enkidu Linden: which is terrible!
[11:44] Pete Atolia: hmm thx, i was trying to figure that out
[11:45] Pete Atolia: yes. Over 1 second is not good
[11:46] Enkidu Linden: notice how in IE7 everything blocks while waiting for javascript to download
[11:46] Dahlia Trimble: that webPageTest thingie says I should gzip mime types that are text/* - I didnt know you could do that
[11:46] Morgaine Dinova: I'm not too worried at slow web access for help ... much more worried at slow access to web-driven capabilities and REST resources.
[11:46] Morgaine Dinova: Which is why I want the measurements in Advanced.
[11:47] Memorial Dae: Well while we were here ive been playing with my text2speech system on the different browsers..it is truely amazing to see the uncached speed side by side comparison
[11:47] Morgaine Dinova: External tools don't reflect what really happens in the viewer.
[11:48] Enkidu Linden: we're worried about that stuff too. i suppose what i'm getting at it that there's a whole host of other problems that come into play when you throw stuff in a browser in addition to server side issues
[11:48] Dahlia Trimble: http://developer.yahoo.com/performance/rules.html
[11:49] Memorial Dae: I think I have a weekend project....other than making stuffed london broil
[11:49] Morgaine Dinova: Aimee, would it be Sustaining that would typically add small features like instrumentation for this?
[11:50] Enkidu Linden: for example, we can often build html on the server side and get it to the browser or viewer or service client pretty quickly, and then stupendously fail in the browser on issues like blocking javascript in IE7
[11:50] Enkidu Linden: dahlia, those performance rules are a great place to start
[11:51] Enkidu Linden: if you have Firebug, the YSlow plugin will compare a page with the recommendations in those rules
[11:51] Dahlia TrimbleDahlia Trimble wants to know more about the gzip thing
[11:52] Enkidu Linden: yes, you should almost always gzip text content for browsers
[11:52] Enkidu Linden: did you want to know how that works?
[11:52] Dahlia Trimble: I wasnt aware that browsers had a gunzipper in them
[11:52] Pete Atolia: hmmm it's a server side behavior.
[11:52] Pete Atolia: yes they all do
[11:53] Enkidu Linden: yep
[11:53] Dahlia Trimble: http://developer.yahoo.net/blog/archives/2007/07/high_performanc_3.html
[11:53] Enkidu Linden: strangely they don't have support for other, generally better compression tools like bzip2
[11:54] Dahlia Trimble: isnt bzip2 kinda slow for encoding?
[11:54] Morgaine Dinova: Bzip2 is only a marginal improvement on gzip
[11:55] Pete Atolia: the zipping is really not that ressource intensive on the clients. A little more on the servers.
[11:55] Enkidu Linden: sure but why not support a wide range of compression?
[11:55] Enkidu Linden: it's the http headers that matter
[11:55] Dahlia Trimble: lots of patents in compression
[11:56] Pete Atolia: depends on the clients. IE is the bottleneck
[11:56] Morgaine Dinova: That's a really good info page at Yahoo. I don't do web stuff, but good to know.
[11:57] Enkidu Linden: you can totally use gzip compression in RESTful services too
[11:57] Enkidu Linden: for services that return small amounts of data it's kind of pointless
[11:58] Dahlia Trimble: ya but some things get pretty big
[11:58] Enkidu Linden: but if you're asking for a lot of data, like from flickr's api, it's good
[11:58] Morgaine Dinova: Aye, but the tradeoffs are different in SaaS, because you want millisecond responses. Having to unzip is generally bad unless the output of a command is huge
[11:59] Dahlia Trimble: maybe I've not seen it before because it gets gunzipped before it's displayed in the show source viewer
[11:59] Enkidu Linden: right
[11:59] Enkidu Linden: to both
[11:59] Dahlia Trimble: what bout wget or curl?
[11:59] Dahlia Trimble: would they gunzip?
[12:00] Enkidu Linden: it would be neat if you could say "i accept gzip but only for responses over 10KB"
[12:00] Enkidu Linden: they do
[12:00] Dahlia TrimbleDahlia Trimble schemes....
[12:01] Latha Serevi: So from the perspective of using REST services in TPV's, for instance, it'll be worth checking whether we're sending the "Accept-Encoding:" header.
[12:01] Enkidu Linden: exactly
[12:01] Morgaine Dinova: curl -V

curl 7.19.6 (i686-pc-linux-gnu) libcurl/7.19.6 OpenSSL/0.9.8l zlib/1.2.3

[12:01] Morgaine Dinova: (libz)
[12:02] Enkidu Linden: always check the headers
[12:02] Morgaine Dinova: Ie. libz does the decompression for curl, various algorithms
[12:02] Dahlia Trimble: cool I learned something new :D
[12:02] Pete Atolia: same :)
[12:03] Dahlia TrimbleDahlia Trimble likes learning new tricks :)
[12:03] Morgaine Dinova: Day wasted if nothing was learned. :-) Sadly, quite a few days like that :-(
[12:03] Enkidu Linden: another great http-level performance trick that i wish we used is chunked transfer encoding
[12:04] Dahlia Trimble: ya I like to learn at least one thing every day, not always possible tho :(
[12:04] Morgaine Dinova: http://en.wikipedia.org/wiki/Chunked_transfer_encoding
[12:04] Dahlia Trimble: does chunked require multiple requests?
[12:04] Morgaine DinovaMorgaine Dinova reads
[12:05] Enkidu Linden: no, just one
[12:05] Latha Serevi: chunked transfer encoding (just wikipedia'd it) - I get the idea, but not clear on what benefit you'd desire. can gunzip the first chunk a bit earlier, I guess....
[12:05] Latha Serevi: ...or sent the first piece while the webserver is assembling the 2nd piece...
[12:05] Morgaine Dinova: Does anyone remember a time before Wikipedia? ^_^
[12:05] Dahlia Trimble: yep
[12:06] Morgaine Dinova: :-)
[12:06] Dahlia Trimble: sadly, I remember a time before the internet
[12:06] Enkidu Linden: if you get just html back chunked, for example, the browser can start rendering the page before it has the whole page
[12:06] Aimee Linden: they used to have those big building with shelves stuffed with bound paper
[12:06] Enkidu Linden: google uses chunked encoding
[12:07] Dahlia Trimble: I even remember card catalogs with little 3x5 cards in them
[12:07] Pete Atolia: chunked encoding is v efficient, yes
[12:07] Dahlia Trimble: RL time, bye all, ty Enkidu :)
[12:07] Latha Serevi: Enki, to clarify ... the browser could also start rendering before the whole thing arrives without chunking, couldn't it?
[12:08] Enkidu Linden: it can if you flush content to it
[12:08] Enkidu Linden: chunked encoding is the formal mechanism for this
[12:09] Enkidu Linden: with html there's an optimal place to end the first chunk, which is right after the closing HEAD tag
[12:10] Enkidu Linden: i'm trying to find the option to curl that lets you see the orginal data so you can hit google with it and see the chunking
[12:11] Latha Serevi: I see...I was thinking client side, all you get is a little bit of a hint on sensible subdivisions; but I gather that on server side it can be the mechanism for flushing partial documents across the socket.
[12:11] Morgaine Dinova: Aimee: (from earlier question) would each team add their own instrumentation into a viewer (eg. web stuff), or would that be the kind of thing that your team would do for them?
[12:12] Enkidu Linden: curl --raw -sv http://www.google.com/
[12:12] Aimee Linden: hmm, generally I guess it's something people would do as they need it
[12:13] Morgaine Dinova: Heh, didn't notice the --raw command before. Thanks Enki
[12:13] Enkidu Linden: sure!
[12:13] Enkidu Linden: ok, we're way over now
[12:13] Enkidu Linden: but i love talking http so it's cool
[12:13] Morgaine Dinova: Aimee: aha, not really a big enough feature to be a team project then.
[12:14] Enkidu Linden: i'll look into the web instrumentation in viewer and get back to you next week, morgaine
[12:14] Morgaine Dinova: o/
[12:14] Pete Atolia: and listening to you all is a pleasure. Thx
[12:14] Morgaine Dinova: Thanks Enki. I was trained as an engineer, so measurement == all :-)
[12:15] Chaley May: have i just found the viewer 2 fan club?
[12:15] Enkidu Linden: haha
[12:15] Morgaine Dinova: I'm on Imprudence, so no :-)
[12:15] Enkidu Linden: well, i like it
[12:15] Chaley May: :)
[12:16] Latha Serevi: Not exactly, Chaley, we just finished Enkidu's office hour and were wandering off...
[12:16] Enkidu Linden: but i'm a much more casual user of the viewer than you all, probably
[12:16] Enkidu Linden: ok every, time for me to eat lunch
[12:16] Enkidu Linden: thank you all for coming!
[12:16] Morgaine Dinova: Bon apetit Enki!
[12:16] Chaley May: cya :)
[12:16] Morgaine Dinova: Cyu next time :-)
[12:17] Pete Atolia: Bon apetie. And thx to you all
[12:17] Enkidu Linden: have a great week!
[12:17] Morgaine Dinova: Thankees, same to you :-)

Generated with SLog Wikifier