TT-RSS - why not?

There are many news aggregators, especially after google's improvement on a reader service. All of them however are part of some fog... steam... ah, cloud!

I on the other hand am a cloud to myself. So here TinyTiny RSS aggregator is a perfect match to my needs. Lightweight, no stupid dependencies (well, except phph, but that's bearable), good online web ui and api and hence - external clients

There are multiple clients for android, iStuff... Since I'm now happiest owner of Jolla phone - I can make a client to myself! Linux way.

The idea is fairly simple - TT-RSS has a convenient JSON API for light remote connection and/or synchronisation, QML has builtin JS engine to that all - so the first step is to implement GUI and API calls - without any hard backend. That resulted in Light version of the client. Next step would be to create C++ model backing with SQL backend (sqlight) leaving QML to deal purely with GUI (view).

As of now client supports basic operations via available API - read, modify, star, publish, unsubscribe, read-all. It doesn't have label management implemented yet.

Headlines in the feed could be listed in forward or backward sorting. Browsing window - number of the articles available for the view is 50. Default sorting is: if number of unread headlines more than 50 - articles are sorted from oldest to newest - that is allowing you to read what you have missed. If number of headlines is less than 50 (fitting single window) - the order is latest to oldest. At any time you can reverse the order from pulley menu - that just inverses the logic and less than 50 are oldest to newest while more than 50 are latest to oldest.

This complicated logic is just based on my preferences of reading feeds - when i have a long backlog I prefer to read the oldest news without scrolling half a day to the bottom. On the other hand if list is short - I want to see latest headlines to be aware of the actual events. You may disagree with it - just ping me and I'll make a config option for more simplistic sorting :) And yes, when there's no unread articles default order is simply latest to oldest (unless Reverse is activated).

When app is launched it loads settings from SQLight DB and tries to build feeds tree. If database doesn't exist - it's created with default values. When API call fails - it fires up settings dialog (unless all params are set and error is not network related). That means on the first start you'd get settings dialog.

In settings you need to enter App url (not full api url, api suffix is appended by the app), username and password for TT-RSS account on the aggregatio server. Separate checkbox Save password is optional, since app stores in settings DB obtained session key, and if you use the app frequently (at least once a day or two) that should keep the session alive without password. That's done since I don't want to bother encrypting stored password, so save it on your own risk

To be continued...

Thu Mar 27 08:22:52 2014 Upd.: Wed Apr 23 23:24:00 2014
© ruff 2011