How Google crushed and abandoned the RSS industry

Embrace, extend, extinguish: How Google crushed and abandoned the RSS industry

Summary: Most of the commentary I’ve read so far about the loss of Google Reader has been about its use as an RSS client. But that’s a red herring. The real victims were companies that had planned in 2005 and 2006 to build RSS sync engines. Google stomped them out of business like Godzilla sweeping through Tokyo.

Google Reader was born in October 2005. Within two weeks of its soft launch, it had hundreds of thousands of users.

I know those details because the team responsible for developing Google Reader blogged about their progress regularly beginning with that first “Hello, Internet” post more than seven years ago.

The most recent post on The Official Google Reader Blog came earlier this month, when the company announced it was “Powering Down Google Reader.” The stated reason? According to Google’s Alan Green, “usage of Google Reader has declined, and as a company, we’re pouring all of our energy into fewer products.” It was all just one bullet on a longer “spring cleaning” post at the Google Official Blog.

It wasn’t always that way, though. In fact, the short life and sad death of Google Reader tells a familiar story of how Google swept into a crowded field, killed off almost all credible competition with a free product, and then arbitrarily killed that product when it no longer had a use for it.

It’s not unlike the widely criticized model that Microsoft pursued in its pre-Millennium days as a monopolist: Embrace, extend, extinguish. Except in this example it doesn’t appear to be part of a grand plan to destroy an industry. Google was Godzilla, sweeping through the landscape and crushing anything in its path, because few startups can compete with a free product from Google.


Image credit: Classical Iconoclast

Most of the commentary I’ve read so far has been about the loss of Google Reader as a client. But that’s a red herring. It’s easy to write an RSS client, which is why so many alternatives have emerged since the surprise announcement.

No, Google Reader’s real competition back in its early days was not client software but services that aggregated RSS feeds and synchronized them across multiple devices. In 2005, when Reader started, Bloglines owned this space (although they weren’t very good it) and an upstart called NewsGator was also aggressively working to provide a central repository for RSS feeds as a service.

Google’s entry into this market decimated those companies and forced them to pivot or die. Ironically, the people who built Google Reader provided the death notices for both of those competitors.

Throughout 2006 and 2007, while Google Reader was still officially a beta under the Google Labs label, the team in charge of development was busy attracting third-party development support, including external tools and a WordPress plugin. A February 2007 post documented Google’s success at getting publishers to embrace and promote Google Reader.

In May 2007, more than 18 months after its release, Google Reader was still officially a beta, but that didn’t stop the team from offering offline support for Google Reader:

To do this, we’ve used the newly released Google Gears, a browser plugin that enables offline web applications. Once you’ve installed Google Gears, you can download your latest 2,000 items so they’re available even when you don’t have an internet connection. To get started, simply click the “Offline” link in the top right of Google Reader.

A small note of warning: the current version of Google Gears is a developer release. Given this, you may notice a few kinks here and there, but we’ll be working hard to iron those out over the coming months.

Spoiler alert: Google abandoned Google Gears (and thus dropped offline support in Google Reader) three short years later.

Google Reader came out of beta in September 2007. Normally, that would be a sign of commitment, but apparently Google management never really bought into Reader and it was on the chopping block for years.

In September 2008, Google talked about how it was using big-name journalists to endorse Reader by creating their own custom shared news feeds, called bundles, to Google Reader. That effort continued throughout 2009, with heavy-hitter endorsements from Arianna Huffington and Thomas Friedman and Paul Krugman as well as the editors of Lifehacker, Boing Boing and Kottke.

NewsGator surrendered to Google in July 2009, pivoting to a focus on enterprise customers after seeing their core business crushed. Such happy talk!

A hearty welcome to NewsGator users

A little while back, our friends over at NewsGator told us that lots of people who use their client RSS readers like FeedDemon and NetNewsWire had been asking for the ability to synchronize with Google Reader, since maintaining two separate subscription lists was a hassle. Today, we’re happy to report that we’ve worked with NewsGator to make this possible, and new versions of their client readers released today will use Google Reader as the synchronization backend. If you use one of these applications, check out NewsGator’s instructions and FAQ on transitioning your subscriptions.

Now that Google Reader can be used as the online companion to NewsGator’s client applications, they’ve decided to discontinue consumer use of NewsGator Online, their free web-based RSS reader, at the end of August. If you’ve been using this service, you’ll need to transition your subscriptions to Google Reader…. To those of you who have been waiting for this integration and to those of you who are using Reader for the first time, welcome!

It’s a shame, really, because NewsGator was committed to building a business around the back end of RSS. In a statement published in 2005, a few months before Google stomped in, NewsGator’s Greg Reinacker had laid out an ambitious roadmap:

One thing that’s definitely coming (and some of these already exist, although haven’t yet been made public) is extremely deep API support.  Our general plan here is to expose nearly everything in NewsGator Online via API, and allow folks to build applications that leverage our platform in unique ways. Anything from simple notifiers, to complete aggregation applications, to some new kinds of apps that haven’t ever been built yet, will be possible using our API’s.  This is a pretty exciting area — watch over the next few months as we start rolling these out.

In a story filled with irony, the announcement in May 2010 that Google was discontinuing offline access via Gears came with a suggestion that customers switch to two other NewsGator products instead (as well as a third for Linux)

Of course, we know that offline access is important to some of you, and with the wide range of third party clients that sync with Google Reader, you don’t need to give it up. Depending on your operating system, we recommend taking a look at:

  • NetNewsWire (Mac OS X)
  • FeedDemon (Windows)
  • Liferea (Linux)

Each of these alternatives will sync your subscriptions and read state with Reader, and continue to provide offline access to your feeds. … We realize that removing features and support is not easy, but with this spring cleaning done, we’ve laid the groundwork for more Reader improvements down the line. We apologize for any inconvenience….

There’s that “spring cleaning” again.

So, after gutting NewsGator’s original business model, Google encouraged the company to use its back end as a synchronization engine, which it then abandoned a few years later. Anyone who’s in the business of developing apps or services based on Google products should take note.

And then in September 2010 came the other obituary:

The Reader team was saddened to hear that Bloglines will be shutting its doors on October 1. Bloglines was a pioneer in the feed reading space, and for Web 2.0 in general.

We know that nothing will be quite like Bloglines in the hearts of its users, but if you’re looking for another online feed reader, we encourage you to give Reader a shot. All you need is a Google account … It’s also very easy to bring your Bloglines subscriptions over, you just have to export them from Bloglines and import them into Reader.

That post was accompanied by a graphic showing the impressive growth in Reader usage. Oddly, the graph didn’t include actual numbers, only a steadily increasing line showing relative growth.

The end of the road for Google Reader began on October 20, 2011, with yet another post in which the Godzilla of Mountain View announced it was “important to clean things up a bit.” (Note to Google partners: If you hear the word “cleaning,” your business is the trash that’s being taken out.)

In the next week, we’ll be making some highly requested changes to Google Reader. First, we’re going to introduce a brand new design (like many of Google’s other products) that we hope you love. Second, we’re going to bring Reader and Google+ closer together, so you can share the best of your feeds with just the right circles.


We recognize, however, that some of you may feel like the product is no longer for you. That’s why we will also be extending Reader’s subscription export feature …. Your data belongs to you, after all, and we want to make sure you can take it with you.

And then, after an 18-month gap, the other shoe dropped on March 13, 2013:

Powering Down Google Reader

We have just announced on the Official Google Blog that we will soon retire Google Reader (the actual date is July 1, 2013). We know Reader has a devoted following who will be very sad to see it go. We’re sad too.

There are two simple reasons for this: usage of Google Reader has declined, and as a company we’re pouring all of our energy into fewer products. We think that kind of focus will make for a better user experience.

To ensure a smooth transition, we’re providing a three-month sunset period so you have sufficient time to find an alternative feed-reading solution. If you want to retain your Reader data, including subscriptions, you can do so through Google Takeout.

What’s fascinating now is that the entire RSS industry is being rolled back to about 2006 and asked to start over. All those clients that relied on Google’s sync engine? They’re back at Square One.

Like NetNewsWire on the Mac, NewsGator returned to its original owner after its consumer RSS business was gutted by Google. Developer Daniel Pasco wrote this post in the wake of the Google announcement:

Given the discontinuation of Google Reader, I wanted to take a moment to talk about our plans for NetNewsWire.

First, we intend to bring sync to future versions of NetNewsWire. It’s too soon to go into details about this, but you should know that we recognize how extremely important it is and that it is a top priority for us.

Wisely, the developers of that product have decided not to make the same mistake twice. They’ve dropped their plans to rely on Apple’s iCloud.

Meanwhile, the news is not so good for the other NewsGator alumnus, FeedDemon for Windows. Developer Nick Bradbury says “it’s time for FeedDemon to die”:

If you’re an avid FeedDemon user, you probably know that I’ve struggled to keep it updated. FeedDemon stopped “paying the bills” a while ago, so I took a full-time job elsewhere and haven’t been able to give FeedDemon the attention it deserves.

Then today came the news that Google Reader is shutting down on July 1. FeedDemon relies on Google Reader for synchronization, and there’s no decent alternative (and even if there were, it’s doubtful I’d have time to integrate with it, at least not without trading time away from my family – which I won’t do).

That was the nail in the coffin for me. I hate to say goodbye to FeedDemon after a decade of working on it, but it’s time to say goodbye. When Google Reader shuts down on July 1, FeedDemon will also disappear.

In an era of mobile devices, where synchronizing content and settings between multiple locations is a crucial feature, losing Google’s sync platform is literally a killer.

Remember how NewsGator was going to build that sync platform years ago? We’ll never know what might have been, but it’s a dead certainty that Google’s entry into the market made that business untenable.

Of course, Twitter and Facebook made a very large dent in the usage of RSS, but there’s still a market there. A big one, in fact, if measured by the standards of a business that’s not Google-sized.

And now, with Google abandoning that service, any business that uses RSS gets to go back to the glory days of 2006. Ugh.

Back in 2009, when NewsGator surrendered to Google, I wrote this:

[S]elfishly, I’m glad Google has won. It’s the default online RSS reader, and I think they’ve done a fine job with it. I can still use FeedDemon and NetNewsWire on Windows PCs and Macs respectively.


In the bigger picture, I hate being beholden to Google for yet another service where they can watch what I do and who I watch. But I’m willing to trust them, just as I’m willing to trust Microsoft on many issues.

Fool me once…

md5 for hello world

I was playing around with Windows 8, and I found a tool called HashMe that will calculate hashes based on files.. this is great, I’m glad to have found this app.. Windows 8 rocks!

Here are 20 different hashes for the phrase “hello world”





















Snefru(4, 128):

Snefru(8, 128):

Snefru(4, 256):

Snefru(8, 256):


new version of

I love love love this stored procedure, it allows you to spider HTML and easily parse it using SQL Server.

I’m SUPER excited to get home from work today, because there is a new version of this sproc (with better NOCOUNT) that can decrease execution time from ~60s to ~2s.

-Aaron Kempf

FYI, I posted an update to SQLDOM today on Sourceforge (.927).


Besides adding a parameter to allow retrieving a subset of the HTML from the DOM, I found that if the caller did not have SET NOCOUNT ON that the SQLDOM procedures could run much more slowly than expected. (For example, instead of processing a page like in 4 seconds, it could take like 30 seconds.)


This version explicitly sets SET NOCOUNT ON in each procedure to avoid the risk of this condition.


syscolumns is going away

Remove deprecated system tables in SQL Server 2012

As part of a cleanup we’re looking at our 2012 servers for any DEPRECATION_FINAL_SUPPORT events (via Trace), and came across several caused by SQL Prompt (

syscolumns will be removed in the next version of SQL Server. Avoid using this feature in new development work, and plan to modify applications that currently use it.

Yes, SQL Prompt works on 2012, but we’re having to filter them from our logs. If you guys could look at changing that code to use sys.tables (and the like) when querying 2012 servers, we’d greatly appreciate it.

Windows 8 developer frustrations

interesting perspective about Windows 8 developer frustrations

Why are there no great Windows 8 apps? Because of WinRT. A developers view

Let’s face it, there are no great apps for Windows 8 and the number of trashy apps is also very low compared to the Android and iOS ecosystems. Microsoft looks really desperate to bring more apps to the ecosystem. Instead of improving the API and its capabilities Microsoft just generates desperately looking campaigns to improve the apps count. I sometimes wonder if they ever realize that the number of apps is not important when people cannot find the apps they are used to use on Android or iOS in the Windows Store.

So why are there no great Windows 8 apps? I will tell you my opinion and my experience. I tried to develop a few great apps but many of those projects never got done. The reason is the API (WinRT).

Let’s start with something (that should be) trivial. Imagine you want to display HTML files with images, CSS, JS in a WebView. It is a common scenario for displaying downloaded manuals, interactive texts, etc. It can be done on Android, iOS and even on Windows Phone by copying the data to isolated storage and pointing the WebView there. This scenario is impossible in WinRT (at least using C# + XAML, I do not know about HTML5+JS). You can reference files in Isolated Storage (Local / Roaming folders) using the ms-appdata protocol, but the WebView does not work with it. You can use the NavigateToString method to display one HTML file, but all the images, CSS, JS references must be internet URLs, you cannot reference other local files. The only way around this issue is to inline all the CSS, JS and images (as base64) to the html file. Really messy, painful and slow and not really an option if you have JS reading XML files and inserting external images.

Let us continue with something as basic and common as Zip files. Windows 8 offers absolutely no protection of your locally saved files so a client may want to at least use password protected Zip files. The ZipArchive class in WinRT does not support password protected Zip files. No 3rd party Zip library can be compiled in WinRT because of a missing Security namespace. You are out of luck, there is no workaround and it usually is a deal-breaker for a security-conscious client. Do not even get me started on using a custom Stream implementation to encrypt your locally stored files …

Let us assume that you want to create an interactive textbook app like there are a few on iOS. The apps should contain multimedia content like images, video, sounds, Word and Excel documents. You would assume that displaying (or better said previewing) Microsoft Word and Microsoft Excel files on a Microsoft platform would be easy. You should have learned to limit your expectations and always assume the worst by now when dealing with WinRT. You can display Word documents with a component for $199 and Excel sheets with one for $1195.

Do you need your app to display PDF files? There are a few solutions, mainly in beta and each has some flaws. I will write a separate article about rendering PDF files in WinRT but, again, be prepared to spend at least $900 for something that can be done for free on both Android and iOS.

Do not forget about the strange behavior of the Windows Store certification process and the bugs. Let us say you use a FlipView to create a photo gallery. You bind your photos collection to the FlipView and in the DataTemplate use an Image to show the actual photo and a custom control to render the photo’s description in a special way (that the client wants). Nothing special about that, you would do the same in WPF, Silverlight, Windows Phone. The only difference is, that it would work on those platforms, but not on WinRT. The custom control gets created only for the first three photos (maybe some magic constant?) and “cycles” for all the other photos. So the 4th photo has the description of the 1st, the 5th of the 2nd and so on … while the Image is displayed correctly for each photo.

I am really fed up with telling customers who want an (iOS clone) app the magic words “it is not possible in Windows 8″.