New Twitter Has Become Browser Poison
mikecanex.wordpress.com
mikecanex.wordpress.com
As most people have reported, infinite scroll is an easy way to introduce a slowdown over time. The sheer number of DOM nodes becomes quite significant - there are things we can do to ameliorate that issue, as well. Will take a look tomorrow. The feedback is greatly appreciated.
The old UI works great and does not monopolize CPU, unlike the new one which, on load, eats 100% of one core on whatever machine I'm using (to say nothing of the really wide horizontal resolution required).
As for total DM count, that isn't really possible right now. The app is just another API client, and the DM API endpoint only provides the last 20 DMs.
Also interested in what you plan to do to alleviate massive DOM issues, if you could share. Typically an overlooked point of performance.
Re: DOM issues, when you switch around between pages and/or timelines, we detach the timeline DOM elements and keep a reference in memory. Upon returning to a previously loaded timeline, we do a repaint (not bad). Right now, we don't employ any such technique for an active timeline that has been scrolled a long way down. One thing we can do is detach large blocks of tweets that aren't in the viewport and splice them back in (while maintaining an accurate scroll height) if the user scrolls back up.
Why Twitter doesn't implement something like this is a whole different issue.
I mentioned somewhere else in this thread that we could maintain an accurate scroll height but detach more recent tweets when a timeline is scrolled a long distance. We could do the same thing here, and backfill as the user scrolls up. There are some challenging things to get right though if the user decides to jump to the top, etc. Definitely non-trivial.
This is primarily about supporting the back button, and I don't think users expect the latest data when going back through their browser history - generally pages aren't refreshed, and that's not an unusual or unexpected behavior. So you could cache each page state, without worrying about displaying newer tweets, though the caching mechanism itself incurs some nontrivial cost.
And this is one way that dominant sites fall: business considerations are given priority over the user experience. Maybe they just have Flickr-itis and just can't adapt to leaving well enough alone, but for the time being I'm on old-Twitter and not contributing much to the Twitterverse until this is sorted out. If it never winds up being fixed, I've got a head start in living without them.
There is also a possible Second System Effect amongst Twitter's UX gods. It's interesting that after having switched to the new Twitter a couplefew weeks ago, last week I started seeing a "Wanna switch back to the old Twitter?" header. Of course I did, but to me this possibly points to a level of complaints that I did not realize.
A tab should be completely and utterly destroyed when refreshed. It doesn't matter how much memory it used, refreshing it or navigating away from that page should (ignoring optimizations, caching, etc. etc. etc.) be like you were never there.
Just look at the hundreds of complaints here: http://neosmart.net/blog/2008/firefox-3-is-still-a-memory-ho...
Proof? This was the case with Firefox 2 but now it just seems like this is part of their reputation and is not necessarily grounded in fact.
I'll vote for process-per-tab as the single best feature of Chrome.
Lately, I'm close to leaving Safari for Chrome because it's faster, uses less memory and crashes less (in fact, it's never crashed so far, vs 100's of times total probably with Safari.) Unfortunately, Chrome is a little uglier, and has certain less user conveniences. So it's not an easy jump to make.
I also get more crashes with Chrome than I used to get with Firefox, but maybe I'm just opening more tabs.
If your free memory isn't close to 0, your OS is wasting RAM or you don't have much anything running.
These are the two omnipresent and conflicting goals that people want out of any computer that's even vaguely general-purpose. Wait long enough, and you'll see it happen on iPads, too.
ETA: I mean, Hell, we're talking about a page in a web browser. This is an example of both the idea of doing everything simply in a self-contained way that Just Works with no fuss...and the post-1994 reality that people want to make web pages do everything, including building applications out of them and live-updating information. And that's even without involving browser plug-ins.
Once they stop allowing the old version, I'll probably have twitter loaded much less. On a core 2 duo, even scrolling in new twitter is way below par.
Is there a low cpu-usage client? I tried one of the flash based ones, but it brought the fans permanently on on my MacBook... Yeah, that's not going to fly.
Depends on the MacBook; if the fans keep going on some of the lighter models you actually _can_ achieve liftoff with gratuitous flash.
It automatically loads a chunk of data when I scroll to the bottom. The CPU use seems to be proportional to the number of chunks that have been loaded. Initially about 2% and increasing to 50% with 20 chunks.
The new twitter almost unusable because of this. Hoping for a fix soon.
That said, because of the problems with the web version I have switched to the new standalone Twitter application for Mac OS X. I think this is better as well as it allows me to use Growl notifications, notification sounds, and other nice features.
However, this is because I use Google Reader to follow feeds and only use Twitter to keep up to date with friends and acquaintances. That's not the typical use-case.
I'm still looking for a reason to even use twitter. I understand _what_ it is, just not any useful purposes for me.
I did think of it as a way to send broadcast "secret" messages, or something along those lines, or when you are posting mundane stuff (went 2 bathroom had shit). Possibly it could be used as a form of a system downtime monitor, similar to what status.4chan.org is.
But use it for me? That's what emails, txts, and phone calls are for.
https://img.skitch.com/20110118-egpetjh52gwnsxr9ct2g8bxtad.p...
Gives a deep insight on what contributes slowdown to new twitter.
EDIT: I mean, that's on 3GHz 4GB RAM machine. No wonder it freezes slower computers.