Achievements and Optimizations
Ok, Optimizations. These really only affect the Index2 beta users and Firefox users. You should really be in one of these 2 groups.
- CSS Sprites: Vlad combined a number of our chrome images. Vroom used the same technique to combine our top 25 topic icons into a single image. The top 25 icons appear on 60% of our stories, and the chrome images appear on every page load. These 2 changes dropped perhaps 20 requests from a typical fresh page load. That should be a measurable performance increase for a lot of people.
- Library Purge: Scott removed the last remnants of the YUI library. This was THE library to use for AJAX a few years ago, but as of now, we have totally ported to jQuery. The last 2 bits that used YUI were some animation bits, and the discussion2 threshold changing floating widget thing. Porting those 2 things to jQuery let us pull several hundred k of JS from our includes. This let us trim another 85k from our compressed JS transfers. We've cut the JS included on Slashdot in half in the last month.
- Varnish: Jamie installed varnish as a reverse proxy behind the F5 but before our apache. Really this won't be a significant performance improvement for now. We use a complex system of static pages to cache the most read content on the site, but varnish will at last let us deprecate that ancient system for something much simpler. We'll be experimenting with this more over the week, but the only real change for most cases is that most of our static content can be served w/o the latency of NFS. Not a big deal really, but it's something. But when we purge out the old caching system, a lot of things will be a lot easier to maintain and debug.
- CDN: We're probably going to test a CDN this week. The performance gains will be minor, but it will let us move 50 megabits of traffic off our main router and distribute that globally. It sure won't hurt.
A note on Achievements. We launched this as an april fools day joke. We're glad many of you got it. We had great fun with it. But achievements are actually a real, working system. And they serve a purpose. Most of the major bits of functionality on Slashdot have a corresponding achievement. Posting a Journal? Getting a Story Accepted? Being Moderated Up? Using all of your Mod Points up? While many achievements are silly jokes: getting the first block of achievements is essentially a tutorial. And getting some of the more complicated achievements would be a useful indicator for a quality contributor to the site. The heavy lifting on this was done by Chris Brown.
We're also experimenting with a thing we call 'Auto-More'. When you get to the end of the page, a second block of articles will be added to your index. The cool thing is that this means we can serve a smaller selection of stories on the main page request. Since 2/3rds of you never read past story #6, that means that you will get your page a little faster. But 10% or so of you get to the bottom of the page. And you will transparently be given more content. We're doing a bunch of logs to see if this works out. It's just an experiment tho, we may kill it if there is a problem. I think it will eventually be connected to the pause/play function available to logged in Index2 users.
This week we intend to start rolling out the Index2 beta to a very small number of firefox users. A good number of you won't notice. Some of you will tho. You won't hurt our feelings by disabling the thing immediately but I hope you give it a shot. It's great on Firefox. It has a few bugs on Safari. It will work on Chrome as soon as Google gets a Mac port out (Hint hint!). As for IE... well, you'll keep the old system for a few more weeks, but you're only like 14% of our users, and you keep shrinking.
Ok, back to work. You too.
IE usage down to 14% seems like a major story, even for a tech heavy site like Slashdot. It would be interesting to see trends of browsers on /. over time. And maybe even OS stats?
btw, Taco, I use noscript to turn off the Javascript on /., mostly because Firefox 2 on my Solaris machine is just too slow (and there's really no hope of getting Firefox 3 working -- I'd have to compile half of Gnome in library upgrades). I can accept some of the UI weirdness (like the gray triangle on top of every story on the main page), but I hope you don't make Javascript a requirement for viewing /. That would be painful!
"Save the whales, feed the hungry, free the mallocs" -- author unknown
How about adding Unicode support so that posts aren't often filled with random garbage when commenters assume one of the major technical sites on the internet should be able to handle curved quotation marks.
They tried that once before. But some idiots found some Unicode characters that could be used to reverse the display of Slashdot and spoof scores. See my previous post on this topic
"The summary isn't quite correct, because the article says '<foreign language>', which actually translates to something like '<english translation>'"
Slashdot then totally mangles the quote they took out of the article and displays it in random ASCII characters. Is it something that's totally necessary for the site to have? No, but it's 2009, sites should be able to deal with more than ASCII. I certainly think it would have been a better use of developer time than achievements.
Sturgeon was an optimist.