In defense of RSS

It’s been a while since the last time I posted here. In that time, a lot of stuff has happened. a lot of stuff in the real world, and a lot of stuff in my own life. I got married, I got graduated, the Loudifier headquarters relocated, and through it all I was able to keep tabs on the news in the tech world.

“How?”, you ask. By using RSS, of course!

Funny enough, my last post was on March 13, and later that day, Google announced that Google Reader, the web’s most popular (and arguably the best) RSS service, will be retired in this year’s spring cleaning. While the announcement of Google Reader’s terminal status was fairly shocking, what has really surprised me is how many people have since claimed that RSS is no longer an important or viable part of the current web landscape. As someone who uses, or rather, used, Google Reader on a daily basis, I couldn’t disagree more.

“But why don’t you just follow your favorite news sources on twitter, or like their pages on facebook, and get updates in your news feed? Isn’t Google Reader just a news feed?” Well, um… no. First off, #IDONTUNDERSTANDSOCIALMEDIA. I’m not just being a Luddite that refuses to adapt to our increasingly socially networked world. I don’t want to get too deep into the philosophical, societal aspects of using social media for news consumption, but I will at least say that I don’t want to save an article by retweeting it and bombarding everyone in my network with links to announcements from the Linux Mint team.

Social media and RSS at a basic level just function differently. RSS readers operate similar to email, every article and blog post waits for you to acknowledge it. This is in stark contrast to the constant stream of information provided by social media (twitter actually has an API called “firehose”) which is meant to be sampled essentially at random.

The ability to control exactly what my news sources are is the main reason that I use RSS. I subscribe to several blogs that update infrequently, but talk about things that I don’t want to miss. For example, I love Earthbound. I have been watching the development of a full length Earthbound hack which is, at this point, several years in the making. Updates are infrequent, nobody in my circle of friends is following an obscure hack of an obscure JRPG from 199X, and I don’t want to go to the website once a week to see what progress has been made. So, I add http://theworldissquare.com/feed/ to my RSS reader, and every time an update is posted, I know about it.

And therein lies the beauty of RSS. Instead of having to go out to a number of news sources, and check to see if there are updates, or scroll through them to see if there was something important that I may have missed, I go to one single place. Once a month or so, when Jeff Atwood or Dan Shipper decide to write up something insightful about the tech industry, I know about it. Conversely, RSS also works well with high-volume feeds. Instead of having to parse the data on Indie Shuffle with my eyeballs, and skip over announcements of shows that I will never go to, I can mark them as read, or if I want to do an SMMR for an artist, I can save the post and come back to it later, without having to scroll through new posts.

But RSS isn’t only useful for subscribing to blogs. RSS is actually a web standard for delivering the content of any site that is regularly updated. Let’s say, hypothetically, that you are a recent EE graduate, living in the Seattle area, and that you are job hunting. You don’t really want to go to Craigslist constantly, but you also don’t want to risk overlooking a post for your dream job, nestled among a ton of irrelevant job postings. RSS to the rescue!

You go to Craigslist, and navigate to Craigslist.org, go to Seattle, Jobs, Arch/Engineering. You are a l33t h4x0r, so you know that you can use the pipe “|” symbol as a logical OR in Craigslist searches, and type in “bsee | pcb | schematic”. Well, now what? You copy the url of this page, open up your RSS reader of choice, and add this feed. Often-times there will be a handy-dandy RSS button that you have, up till now, ignored.

If you click on it, your browser might ask you if you want to subscribe to this feed, and through which service, or it might just give you some ugly raw XML data. Most RSS readers are smart enough to figure out what you are trying to do, but some will expect you to point directly at this raw XML data. Once you have subscribed to the feed, any new job postings matching your search criteria will automagically show up in your RSS reader. 

RSS is everywhere, and helps to standardize the web. It makes it easy for apps and services that connect directly to websites, like IFTTT or uTorrent automatic downloading, to quickly determine what the contents of a website are, and decide what to do with that information. Most of the content on the interwebs can be filtered and accessed with RSS. WordPress, Blogger, and Tumblr, the most popular blogging platforms on the web, all have standard RSS feeds built-in. Even your facebook notifications have a corresponding RSS feed! If you are on a website that you would like to subscribe to, but you don’t see an RSS icon anywhere, try adding /rss or /feed on to the end of the website’s URL, and chances are that you will get to that site’s RSS feed. Seriously. Loudifier.com/feed. Gawker.com/rss. 

So what do I use now that Google Reader is going away? Feedly. It’s not perfect, but at least I don’t have to worry about missing a post on WTF, Evolution?.

Oh, I almost forgot. Don’t forget to subscribe to the Loudifier RSS feed!

Dear Facebook, please fix the internet

Facebook is the most visited website on the internet, followed closely by Google, but do you know what domains come right after Google? More Facebook, or rather more accurately, the domains that serve up data for Facebook “like” buttons.

Check out this list of the most visited websites. Notice how there is a corresponding https version of most of the regular http sites? While that is a great thing when things like user credentials, or email content are being transmitted over the intertubes, a great deal of the information zipping through the cloud can be sent in the clear without the extra processing and delays introduced by SSL/TLS encryption.

So why does Facebook force the entire internet to process its information unsecured once, and then a second time over https? There is a prescribed method for adding a “like” button for a Facebook Fan page to a website. You copy and paste a little bit of code into the page, which asks for some javascript from Facebook, and allows people to like the page in question. Facebook maintains that code, and periodically updates it, but the current version of that code makes two separate requests for some data.

http://static.ak.facebook.com/connect/xd_arbiter.php?version=18
https://s-static.ak.facebook.com/connect/xd_arbiter.php?version=18

That second request means that you must download the same piece of information twice, and the second time it has to go through secure channels. How much longer does this take?

It’s hard to tell, exactly. Pingdom speed test tells me that it takes about 350mS to retrieve the extra 9.3kB, but GTmetrix tells me it actually takes over 600mS, and Google Page Speed tells me the file actually weighs in at 24.9kB.

While it may seem small to quibble over amounts to, literally, a split-second of your time, think about the fact that this happens every time that stupid “like” button, which is on the majority of websites on the internet, is loaded.

For example, the Gawker media network, composed of Gawker, Lifehacker, Deadspin, etc. is currently serving 17 million page views a day. 17 million. A. Day. They all have a “like” button.

Lets be conservative, and say that it only takes 300mS on average for that data to find itself on a user’s computer. That means, that, on any given day, Facebook costs readers of Gawker Media collectively 150GB of data and upwards of 59 days of extra time.

What does that mean in real-world numbers though?

Using a wild guess as to the power consumption of the average PC, the price of electricity in New York (Gawker’s headquarters) and a healthy application of Loudifier Fuzzy Math (patent pending), the power costs of those extra requests cost Gawker readers a whopping $17 every day!

Okay, so maybe it’s not as big a deal as I originally thought, but it still screws up my Page Speed score, which can affect Google search ranking. It is supremely annoying that I can turn an ancient laptop into a web server for $0, and serve a full page over a consumer-grade connection in under a second, but loading assets from an organization with millions of dollars invested in hardware and infrastructure almost doubles my page load times. Granted, the big F handles a couple more requests per day than I do, and about 20% of this site’s traffic comes from Facebook. I guess I can wait for them to throw me a bone now and then.

Even if it isn’t a huge problem, I still think they should fix it on principle alone. Those wasted CPU cycles could be put to better use, like searching for a cure for Alzheimer’s disease. Using the same Fuzzy Math™ as before, if the computing time that Gawker readers devoted to downloading unnecessary data from Facebook were instead used to simulate protein folding, it could boost the total output of the Folding@Home project by about 10%.

Think about that for a second. By wasting your CPU cycles, Facebook is trying to give you Alzheimer’s. The logic is infallible.

Someone in Cupertino is listening

Now that I have five whole Facebook fans (Hey, Rachael!), I’m kind of a big deal in the tech-blogosphere. This is proven by someone at 1 Infinite Loop revealing that Apple will be   shrinking the bezels on the next generation of the iPad, just like I said they should.

I know the target market for this blog could be counted pretty easily be any barefoot electronics hobbyist, and that my writing and subject matter can be as random as my last metaphor, but thanks for reading.