Main / Rojo

November 25, 2005

[Ajax] Hacking Rojo - Clearance of All Additions

Tags: Greasemonkey , Rojo

Rojo - all in one

I have been adding some additions to Rojo and keeping this script updated with Rojo. Lately, Rojo slightly changed its HTML layout, so some features of the script failed. I also fixed the compatible problem with Firefox 1.5RC3. Following is the clearance of all additions to Rojo of this script.

  1. an Ajax Wrapper for Rojo - replace the remote scripting by iframe request with XMLHttpRequest
  2. 'Mark as Read' to each feed - mark the entire feed as read
  3. 'Mark as Read' to each article - mark the article as read
  4. A toggle to display feed profile - fetch and display the profile of the feed
  5. Quick unsubscribing feeds - at the left hand side of feeds navigation and below each article
  6. new Read all stories - add 'Read All' after 'Expand All' and 'Collapse All'

Download: AJAX Wrapper for Rojo v1.5. (Greasemonkey script)

October 02, 2005

[Ajax] Hacking Rojo - Quick unsubscribe feeds in Rojo

Tags: Ajax , Greasemonkey , Rojo

Quick unsubscribe feeds in Rojo

In Rojo, you can unsubscribe feeds only within two pages, the page of managing your feed list or the one of viewing the feed profile. Now the rojo.ajax.user.js script injects quick links to let you unsubscribe feeds any time. The response time of unsubscription is very fast due to the calling to unpublished Rojo API (RPC). :)

Download: AJAX Wrapper for Rojo v1.4. (Greasemonkey script)

Continue reading "[Ajax] Hacking Rojo - Quick unsubscribe feeds in Rojo" »

September 14, 2005

[Ajax] Hacking Rojo - Adding bits to feeds in Rojo

Tags: Ajax , Greasemonkey , Rojo

Rojo - Feed Profile

Rojo is lacking of some designs of user friendly. Why am I saying that? Sometimes we need to make an unnecessary click to get some basic but useful information of a feed. While reading stories of a feed, we probably want to take a look at the profile of it, or we also need to link to its original site. Furthermore, we would like to know the number of subscribers, unsubscribe, or rename the feed. All the stuff is in the profile of the feed, and need a click to get it.


The worse is still the slow response of Rojo. Loading a new page requires not only to fetch from server, but also needs extra time for browsers to render it. Now the script rojo.ajax.user.js v1.3 adds some bits to it. It fetches the profile of the feed in background, then displays a toggle below the title of feed. Click the toggle will show the information on the feed in Ajax way.

Download: AJAX Wrapper for Rojo v1.3 rojo.ajax.user.js

Continue reading "[Ajax] Hacking Rojo - Adding bits to feeds in Rojo" »

September 06, 2005

[Ajax] Hacking Rojo - Ajaxize more of 'Mark as Read'

Tags: Ajax , Greasemonkey , Rojo

Rojo - mark as read

Last time I have Ajaxized a 'Mark as Read' on a single feed to move the HTTP request to background by calling XMLHttpRequest instead of bringing to a new page. The counters of unread entries are reset on LHS menu. This time I extend the work to each single story and the feed below the story entry. That means you can now mark a story read as well as the feed of a story. See the screenshot above.

For each story, you can now do expand/collapse, mark as read, or both on it. For the feed of a story, you can also mark it read. This makes you much easier to mark a feed read without going to the page of that feed.

Download: AJAX Wrapper for Rojo v1.2 rojo.ajax.user.js

Continue reading "[Ajax] Hacking Rojo - Ajaxize more of 'Mark as Read'" »

August 20, 2005

[Ajax] Hacking Rojo - Ajaxize 'Mark as Read' function

Tags: Ajax , Greasemonkey , Rojo

Since my previous work 'an Ajax Wrapper for Rojo' has replaced the iframe remote scripting by XMLHttpRequest, some slow 'loading whole page' transactions of Rojo need remodeling now. Well, I use the term "Ajaxize" which means turning the old-fashioned transactions of cross-pages into Ajax approach. The first one I've done is to make "Mark as Read" as a background transaction.

The script 'rojo.ajax.user.js' is now version 1.1 and has the following features:

1. Override the Remote object(remote scripting) by an Ajax wrapper. 2. Mark as read is now Ajax and reset the unread count on the LHS menu.

Download: rojo.ajax.user.js

Continue reading "[Ajax] Hacking Rojo - Ajaxize 'Mark as Read' function" »

August 18, 2005

[Ajax] Hacking Rojo - an Ajax Wrapper for Rojo

Tags: Ajax , Greasemonkey , Rojo

Rojo is a great web-based RSS reader. It supports tagging not only feeds but also article entries. The user interface is neat and well organized. The use of DHTML and CSS makes the site easier reading and more accessible.

As we already knew, Rojo uses a lot of DHTML + Javascript techniques to enhance the user interface. Despite Rojo has the modern design of tagging and social share, it seems not to be an Ajax approach I talked in my previous post, "Hacking Rojo - Rojo is not Ajax? ". Rojo retrieve asynchronous data by remote scripting with iframe, not by calling XMLHttpRequest. There would be a little bit slower when using remote script instead of XMLHttpRequest. Therefore I did a small experiment to replace the iframe remote script by the Ajax way. The Greasemonkey user script can meet my need to override the methods of Remote object in Rojo.

This Greasemonkey user script is a wrapper for Rojo to replace its iframe request by the XMLHttpRequest function. The data retrivial will proceed in background, so the browser won't be seen in loading pages any more. After installing the script, the response of using Rojo should become faster.

Download: rojo.ajax.user.js

Continue reading "[Ajax] Hacking Rojo - an Ajax Wrapper for Rojo" »

Google Ads

Powered by
Movable Type 3.2