Search Logger
Posts from: Mihai Parparita

Author Archive

Greasemonkey Scripts

10:51 am - October 21, 2005 in The Official Google Reader Blog

I've written my share of Greasemonkey scripts. I'm therefore very glad that in turn other people are writing their own scripts for Google Reader. We make no guarantees that we won't (inadvertedly) break them, but we'll certainly be looking at them for inspiration as to what our users want out of the application.

Get Google Reader scripts and more at the Userscripts.org repository. To learn more about Greasemonkey and learn how to install scripts, check out the excellent Dive Into Greasemonkey.

 

Warning: Geekery ahead!

3:39 pm - November 3, 2005 in The Official Google Reader Blog

You may have noticed that some Greasemonkey scripts broke with the recent release (for example, the excellent Google Reader Auto-Read). First, a bit of background. Reader uses JavaScript. A lot of it. So much that it would take a while to download even on a broadband connection. What we (and other Google products) do is to compress it before sending it to the user. So this line of code:

FR_Queue_currentQueue.pageDown();

becomes:

t.ma()

Only people care about descriptive names like pageDown; to a computer, ma is just as good. It turns out that these compressed names will change from release to release, as we tweak the code (the more often a name is used, the shorter the compressed name that's chosen for it). Greasemonkey scripts that rely on these compressed names (like the aforementioned one) will therefore break.

So far the situation sounds pretty dire. How can more stable scripts be written? The answer turns out be quite simple. Reader has UI controls for most things that you'd want to do from a script. For example, if you want to automatically move the queue down, you can think of that as being equivalent to the user clicking the "Down" button repeatedly. Those buttons have IDs that we promise won't change without a good reason. Through JavaScript, you can simulate user clicks. Therefore, if your Greasemonkey scripts relies on them, you'll be all set. To give an example, I've written a modified version of the auto-read script that uses this method. It has code like the following (the simulateClick function is included in the script):

simulateClick(getNode("queue-down"));

I hope this helps other Greasemonkey scripts authors that are trying to tweak Reader (and other sites too).

P.S. We just pushed a new Reader release. No new features, but we have fixed a few bugs with unsubscribing and keeping things unread.

 

Why should text have all the fun?

2:58 pm - December 15, 2005 in The Official Google Reader Blog

We at the Reader team like to receive some visual stimulation with our reading, so we're subscribed to a bunch of photo feeds. It's great that RSS and Atom can deliver more than just text, but it gets boring to view everything in the exact same fashion.

We've therefore come up with what we call "photo templates," which is a special display mode we have for photo sites. When it's triggered, we try our best to expand thumbnails to full-size photos. Additionally, on the right side of the screen we display a list of clickable thumbnails of other photos from that feed, so that you can cherry-pick the best ones to view. Right now we support the feeds from a few sites; here's a list of them and a sample feed from each one:

This is great if you use one of these photo services, but what about other sites or self-hosted photo blogs? For now we've specifically whitelisted the above five sites for photo template support. This doesn't scale that well - there's thousands of sites and only a few overworked Reader engineers.

Our plan is to support the Media RSS extension to RSS and Atom (the thumbnail and content tags are most relevant to photo feeds). This way, if you include the right tags, Reader will be able to display your feed with the photo template without us having to do any work. The Media RSS spec is pretty thorough, and you can use Flickr's feeds as examples of usage.

 

XML Errors in Feeds

12:50 pm - December 23, 2005 in The Official Google Reader Blog

Dealing with the millions of RSS and Atom feeds out there is hard work. We're not trying to make you feel sorry for the Reader team, but as anyone who has attempted to implement a feed parser knows, there are many subtle deviations from the spec that you have to handle if you want to have any hope of satisfying the needs of your users (who shouldn't have to care about such things).

The feed generating/parsing world has had the debate about Postel's Law, as it applies to XML and feeds, several times. We are not here to weigh in on either side of the argument. Instead, we hope to provide some data so that such discussions can be made on more than philosophical grounds. Without further ado, here are the top XML errors that we have encountered when parsing all of the feeds that our users have added to Reader (and there are a lot of them):

% of errors Error description
15.6% Input claims to be UTF-8 but contains invalid characters.
14.9% Opening and ending tags mismatch
13.9% An undefined entity is used (e.g.   in an XML document without importing the HTML set)
7.8% Documented expected to begin with a start tag, but no < was found
5.7% Disallowed control characters present
5.5% Extra content at the end of the document
4.2% Unterminated entity reference (missing semi-colon)
4.2% Unquoted attribute value
3.8% Premature end of data in tag (truncated feed)
3.3% Naked ampersand (should be represented as &)
2.1% XML declaration allowed only at the start of the document
1.8% Namespace prefix is used but not defined
0.75% Comment not terminated
0.64% Attribute without value
0.17% Unescaped < not allowed in attributes values
0.11% Malformed numerical entity reference
0.11% Unsupported/invalid encoding
0.10% Comment must not contain '--'
0.10% Attribute defined more than once
0.07% Char out of allowed range
0.03% Comment not terminated
0.02% Sequence ]]> not allowed in content

As a whole, about seven percent of all feeds that we know about have some of these errors (this data is based on a one-day snapshot, so transient errors may be present). Note that these are all XML errors, meaning that the feed is not well-formed. We are not talking about complying with and validating against the RSS or Atom specs - that is an even higher bar than we have set here. In general, our recommendation to feed producers is to use the work that the community has put into the feed validator.

On a related note, we're aware that Reader has some issues with titles. It's great that there are test cases, and we will add this bug to our to-do list.

 

Your Labels, Your Way

3:15 pm - February 1, 2006 in Official Google Reader Blog

Reader has supported labels since the very beginning, but they haven't always been easy to get to. To make them more accessible, we've added a drop-down menu at the top of the page, allowing you to get to any of your labels with just a couple of clicks. Keyboard fans shouldn't worry, we've covered that angle too. Simply hit g then l to bring up the label selector:

Label Selector screenshot

Type in a label name and/or use the arrow keys to select a label. Once you've selected your desired label, hit the return key to load it. Quicksilver fans may recognize and appreciate the interaction style. We've also added a few more g keyboard shortcuts to make getting around easier, refer to the complete list.

Some other changes and bug fixes we've made recently:

  • You can hover over item titles in left side list to view them in a tooltip - useful when longer titles are cropped.
  • The "keep unread" checkbox works once again in Internet Explorer.
  • Don't reset the window scroll position for some keyboard shortcuts (like scan down/up).
  • Improved sorting and filtering in the subscriptions drawer.
  • Better error messages for empty and not found feeds.

Stay tuned for more fun things in the near future.

 

View your reading lists in new ways

1:26 pm - March 25, 2006 in Official Google Reader Blog

Everything that you see in Reader is available as an Atom feed. While that's normally only of interest to Atom fetishists, it does mean that you can view your reading list in new and interesting ways.

Reading lists as screensavers

RSS Screensaver ScreenshotMac OS X Tiger has a nifty screensaver that can display any feed with cool swooshing text. Here's how to view your reading list in it:

  1. Using Safari 2.0, load your reading list feed
  2. Add a bookmark for that feed
  3. in the "Desktop & Screen Saver" preference pane, select "RSS Visualizer"
  4. From the "Options..." sheet, pick your reading list
  5. Enjoy your new screensaver!

Windows users shouldn't despair, there are plenty of options for that platform too.

Reading lists as Live Bookmarks

Live Bookmarks ScreenshotFirefox has a neat feature where feeds can be viewed as Live Bookmarks. This means that you have your reading list, your starred items, or even any label can be one click away in the toolbar. To use this feature, use Reader to navigate to the label you want to use. Then click on the feed icon in the upper right corner and choose "Add '<your name>'s starred items" Live Bookmark". You should now have that item in the toolbar, as pictured on the left.

Reading lists for podcasts

iTunes ScreenshotReader has had an inline podcast player for a while. However, one of the core attractions of podcasts is that they can be taken on the go. As a web app, Reader can't really function as a podcatcher. However, this doesn't mean that you have have two completely separate lists of subscriptions, one in Reader and one in your podcatcher.

  1. Subscribe to your favorite podcasts and give them a label such as "podcast"
  2. Using our sharing feature, make that label public
  3. Copy that label's feed URL
  4. In iTunes, select "Subscribe to Podcast..." from the "Advanced" menu and paste in the feed URL.
  5. You will now have a feed that lists all your items from Reader, so you don't have to worry about keeping it up to date in iTunes.

While we used iTunes as an example, this should work with any application that supports Atom 1.0.

 

Labels: Better, stronger, faster

3:52 pm - April 7, 2006 in Official Google Reader Blog
Labels: Better, stronger, faster Between the label selector and ability to share, labels are getting more and more useful in Reader. Today we're happy to release additional enhancements that make labels even more useful: Deletion: You can now delete labels you don't need or use anymore. Auto-completion: So that you don't have to remember if it's "friends" or "myfriends", we now provide an
 

There’s some Reader in my Homepage!

12:55 pm - May 4, 2006 in Official Google Reader Blog

Reader and the Google Personalized Homepage have always been kindred spirits, seeing as both deal with feeds (and the teams sit 10 feet apart). We're therefore very happy to announce that your Reader reading list (or any label of your choosing) can now be added as a module to the homepage. To use it, simply click on the "Add it now" button below (you'll have to be signed into your Google Account).

Add it now

Here's what it looks like:

Module screenshot

Like the regular Reader interface, the module remembers what you've read, can sort your reading list in different ways, and allows you to view items by label. Additionally, you can view items directly on the page in a nifty floating bubble. Finally, there's a few non-obvious things you can also do:

  • If you add more than one instance of the module, you can tell them to display different labels, use different sorting orders, etc. It's almost like building your own Reader interface.
  • You can use mouse scroll wheel (when hovering over module) to scroll the item list up and down.
  • You can click the "edit" link and customize many things about the module.

P.S. Just wanted to give a shout-out to Nick Lothian, who had written an unofficial Reader homepage module much earlier on, tiding our users over. Thanks Nick!

P.P.S. If you're looking for a way to move your homepage feed modules over to Google Reader, this OPML export module comes in handy.

 

With a little help from our users

10:23 am - June 7, 2006 in Official Google Reader Blog

The Reader team is pretty small and while the list of things we'd like to do is a mile long, there are only so many hours in a day. It's always very satisfying to see that we have users passionate enough to step in and do some of the things that we always thought would be nice to have. Here's some recent examples of this:

Jason Toal has put together an excellent screencast that covers nearly all of the features that Google Reader has to offer. If you know someone who is new to the application, point them to it and they will quickly get up to speed. Even if you are a seasoned user yourself, you may be interested in the more advanced features that are covered, such as sharing.

Speaking of our sharing feature, people have figured out very seamless ways of integrating clips into their sites.

Eli Dourado has written GROSX, a notifier for Mac OS X that tells you when you have new items to read in your Reader account. In addition to a menu bar icon, GROSX also integrates with Growl, allowing you to get notifications of new items with cool translucent overlays. GROSX also lets you monitor a specific label so that, if you have 390 subscriptions like me, you can monitor only the really important things.

 

Your wish is our command

3:21 pm - July 19, 2006 in Official Google Reader Blog

Here's some recent changes we've made to Reader that we thought you'd like to know about:

Reader list controlsReading list ordering defaults: Your reading list can be sorted in different ways (by date or "automatically", which shows you more relevant items first). Additionally, it can have read items hidden or always visible. Until this week, the default combination was to sort automatically and show read items. Unfortunately, this meant that new items did not necessarily end up at the top, which was confusing to some users. We've therefore changed the defaults to sort by date and hide read items. If you prefer a different combination, these settings can be controlled by the links at the bottom of your reading list (pictured on the right).

Related subscriptions menu: When we made the recent improvements to reading by subscription or label, we neglected one use case, which was to see a list of subscriptions that have a particular label. Based on feedback from our users, we've added a new menu, "Related subscriptions," that shows up when selecting a label or a subscription that has labels.

Starring in the mobile interface: Our mobile interface is handy for when you're on the go, but occasionally you can come across an item that you would like to re-read when you're back at your computer. Until now, the mobile interface provided no way to flag an item so you could find it later. Now all items that you read have a "Add star" link at the bottom of the page, so you can easily add it to your starred items.

Bugfixes: As usual, with each release we try to polish Reader by fixing bugs here and there. Some recent ones that we've squashed include: better Safari support on the settings page and when marking items as read, better support for non-audio enclosures and better support for relative URLs in entries.

A lot of these changes were made in response to user feedback and bug reports. The best way to make yourself heard is to post in our discussion group.

 
 
 
 
 
 
It's All About Search | © clsc.net |
2012.05.1822:41
Tech used here: Valid HTML - Valid CSS - Valid RSS - JavaScript - PHP - Smarty - MySQL - and a partridge in a pear tree.