Open Source

Losing your Google Reader? Try Tiny Tiny RSS instead

Marco Fioretti recommends a free software RSS reader that won't leave you in the lurch.

Google Reader will close shop soon, apparently leaving millions of users in despair. Or so they say, at least.

In my opinion, instead, the termination of Google Reader is wonderful news. I've already explained the general reasons for such a statement on my personal website. Here, instead, I'll show you one of the practical solutions: Free Software that may not be just as complete and polished as Google Reader, but offers a very similar service, in a way that will never leave you alone as Reader is about to do. This week, I'll cover its basic installation, and the next one its advanced usage.

Enter Tiny Tiny RSS

Technically speaking, Google Reader is more or less a Web-Based RSS aggregator. One of the easiest and richest Free Software applications of the same category is Tiny Tiny RSS (TT from now on for brevity). I downloaded, installed and configured the copy you see running in the screenshots here in about ten minutes. I did it on my own home desktop, running Fedora 17, just as a quick demo for this post. You can (and should) do the same on any computer permanently accessible from the Internet. In this way your very own RSS aggregator will be accessible from any computer you may use.

Installing TT is not difficult at all. You just need any Web hosting account with PHP support and access to one MySql or PostGreSql database. Sure, if it is the first time that you try something similar you'll likely need more than ten minutes, but between the official installation instructions and the extra explanations below you shouldn't have any problem.

The actual installation

Download from the TT website the ZIP archive with the last stable version of the software (1.7.2 when this post was written), and unpack it in your Web space. You will obtain a folder called Tiny-Tiny-RSS-X.Y.Z. I suggest that you move it to something with a shorter name, as I did:

  #> cd /var/www/html
  #> mkdir tiny
  #> cd tiny
  #> wget
  #> unzip
  #> mv Tiny-Tiny-RSS-1.7.2 tt
  #> cd tt
  #> chown -R apache:apache cache/ lock/ feed-icons/

I changed the name of the unpacked directory from Tiny-Tiny-RSS-1.7.2 to tt to make its URL shorter. I then changed the owner of some subfolders to be the same as my Web server user. This made those folders writeable, as requested by the official instructions. If you install TT on a hosting account, check with your provider on how to perform the same operations.

The database

Here are the exact steps to create and prepare a Tiny Tiny RSS database with MySql, which is by far the most common option on economic Web hosting accounts. I am showing the command line version, but the same basic operations are available in any MySql administration GUI:

  #> mysqladmin create my_tt
  #> mysql -u root
  mysql> use mysql;
  mysql> CREATE USER 'tt_user'@'localhost' IDENTIFIED BY 'helloRSS';
  mysql> grant all privileges on my_tt.* to 'tt_user'@'localhost';
  mysql> exit;
  #> mysql -u tt_user -p my_tt
  mysql> source schema/ttrss_schema_mysql.sql;
  mysql> exit
(Note: I have edited for clarity the commands above, leaving out all the MySql output!)

In plain English, the first six lines above create a MySql database (my_tt), and a MySql user (tt_user, with "helloRSS" as password) with full access rights to it. The last three lines mean that that user will have to execute, in any MySql client, the commands in the file schema/ttrss_schema_mysql.sql included in the TT distribution. This action will populate the database with all the tables it needs to work.

Basic configuration

Once the database is ready, you must go inside the TT folder, copy the config.php-dist file to another one, called config.php, and edit to suit your needs. For a basic, single-user installation, you should need to change only these six parameters:

  define('DB_TYPE', "mysql");
  define('DB_USER', "tt_user");
  define('DB_NAME', "my_tt");
  define('DB_PASS', "helloRSS");
  define('SELF_URL_PATH', 'http://localhost/tiny/tt/');
  define('PHP_EXECUTABLE', '/bin/php');

The first four ones are self-explaining. SELF_URL_PATH is the root URL of your TT installation. The right value of PHP_EXECUTABLE varies from system to system. If the Web server is a Linux or Unix box, you should type which php at a command prompt to know what to use.

In addition to these steps, please make sure that the mb-strings and xml extentions for PHP are installed and enabled. Otherwise you'll get more or less cryptic errors instead of the login page of Figure A:

Your feeds, finally!

After doing everything explained in the previous paragraphs, you'll be finally ready to point your browser to http://localhost/tiny/tt (or whatever your URL will be, of course) and start configuring the software. Log in as "admin" with password "password" (and change it immediately, of course). You'll find an intuitive environment, accessible from any browser (there is also an Android client!). Tiny Tiny RSS lets you easily define as many feeds as you wish (Figure B):

Organize feeds in categories (Figure C):

TT can display all your feeds in one chronological stream, sort them in several other ways, or limit the view to some categories. To give you an idea of what the result may look like, I shamelessly loaded the feeds of the TechRepublic Open Source blog and those of some of my own blogs, and got the view of Figure D.

Conclusion (for now)

What you've read so far should be enough proof that, with any luck, the dismissal of Google Reader won't be the end of RSS, blogging or Civilization in general, no matter what you've heard online. Next week, we'll look at what else Tiny Tiny RSS can do, which is much more than what you have already seen.


Marco Fioretti is a freelance writer and teacher whose work focuses on the impact of open digital technologies on education, ethics, civil rights, and environmental issues.

Editor's Picks