A lesson in optionality
May. 7th, 2008 05:52 pm![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
[Side-note: I haven't been posting much. Sorry: work's been eating my brain, and I don't want to bore people with a complete excess of CommYou stuff.]
Facebook's latest feature is built-in chat: when you're in FB, there is simply chat *there*. It's not something you turn on -- it just sits at the bottom of your window. And you Can't Turn It Off. (Far as I can tell.)
Which wouldn't be so bad, except that it's taking up about 60% of my CPU, far as I can tell. I was initially worried that something in CommYou was running out of control, but no -- it's just as bad on the Facebook homepage. And since Chat is their new feature, I rather suspect it's the culprit.
Moral of the story: features that the user can't turn off are *bad*; cute features that they can't turn off are worse. A lesson for me to remember in CommYou...
Facebook's latest feature is built-in chat: when you're in FB, there is simply chat *there*. It's not something you turn on -- it just sits at the bottom of your window. And you Can't Turn It Off. (Far as I can tell.)
Which wouldn't be so bad, except that it's taking up about 60% of my CPU, far as I can tell. I was initially worried that something in CommYou was running out of control, but no -- it's just as bad on the Facebook homepage. And since Chat is their new feature, I rather suspect it's the culprit.
Moral of the story: features that the user can't turn off are *bad*; cute features that they can't turn off are worse. A lesson for me to remember in CommYou...
(no subject)
Date: 2008-05-08 01:35 am (UTC)thank you for posting that.
(no subject)
Date: 2008-05-08 02:35 am (UTC)(no subject)
Date: 2008-05-08 02:50 am (UTC)(no subject)
Date: 2008-05-08 03:21 am (UTC)And two or three posts every couple of days is "not much"?
Huh
Date: 2008-05-08 01:25 pm (UTC)Re: Huh
Date: 2008-05-08 03:56 pm (UTC)Re: Huh
Date: 2008-05-08 04:24 pm (UTC)Re: Huh
Date: 2008-05-09 02:29 am (UTC)Re: Huh
Date: 2008-05-09 02:26 am (UTC)Now you have me wondering, though. Maybe it's something strangely browser-session based. The CPU problem is very consistent, but I haven't restarted the browser in a good while (most of a week). Maybe it's a pathological situation that doesn't arise for quite a while, or is related to navigating away and back many times, or something like that...
Re: Huh
Date: 2008-05-09 01:05 pm (UTC)Right. I meant that maybe the reason I wasn't seeing it eat CPU was that it just wasn't working for me.
That could be it, then. If it's FF2, that could definitely be it; I try to keep mine open indefinitely, but I always have to restart sooner or later, what with memory leaks and all. (3.0 is supposed to have fixed most of those.)
Actually, memory leaks could explain the CPU usage: garbage collection can be extremely CPU-intensive in pathological cases—e.g., when JavaScript is repeatedly polling the chat server, constructing and discarding objects representing the connections.
Re: Huh
Date: 2008-05-09 02:23 pm (UTC)Yaas -- probably the biggest reason I'm looking forward to 3.0. I run a lot of Google apps (email, calendar, reader, etc), so my memory usage tends to be pretty bad. I've been controlling that lately by not running quite as much at once (three windows at a time with half-a-dozen tabs total, instead of seven windows with 20-some), but I do wonder if the cumulative memory leakage is somehow interacting badly with Facebook.
I still suspect Facebook Chat is complicit (it's the only thing on the FB homepage that *should* be using a non-trivial amount of CPU); as you say, that sort of communication can be expensive, especially if the implementation is a little naive. Now I'm wondering what their protocol is, and what I can learn from it. CommYou is going to have some automatic polling, at least by default, and it would be good to not have similar problems...
Re: Huh
Date: 2008-05-09 02:28 pm (UTC)If it's in JavaScript, the source is sitting in your cache.
You could deliver something in Flash or Java that maintains a persistent connection, so that you can push stuff down to the client. 'Course, that means a lot of connections on your end, which gets expensive.
Re: Huh
Date: 2008-05-09 10:04 pm (UTC)True, although we'll see if that's useful. It is quite possible to obscure Javascript to a fantastical degree -- some of the better compression programs produce output that could win an obfuscated-code contest in a walk. (At the highest compression levels, the results have left me scratching my head at the idea that it could even execute.)
You could deliver something in Flash or Java that maintains a persistent connection, so that you can push stuff down to the client. 'Course, that means a lot of connections on your end, which gets expensive.
Yeah, that's not likely to be practical. Current plans are for variable-speed polling, sensitive to the context and nature of the conversation...
(no subject)
Date: 2008-05-08 03:59 pm (UTC)I agree that turning it off should be an option though.
Amusingly, Digsby (whih I can no longer use) has _already_ incorporated FB Chat.
(no subject)
Date: 2008-05-09 02:28 am (UTC)I'm quite intrigued, actually. IM/Chat integration is in the cards for CommYou in the moderately near future, and I'm starting to wonder if there is useful synergy to be mined with Digsby.
Why can't you use it any more?
(no subject)
Date: 2008-05-09 05:12 am (UTC)