Zocalo is a lightweight web feed reader designed for Zaurus.
Web feeds are standardised
summaries of web sites. If you want to surf the internet quickly or track
a large number of web sites it is faster and more convenient to read feeds
and only read whole articles that interest you. Furthermore, feeds can easily
be downloaded and read offline.
Zocalo main features:
Read RSS, RSS RDF and Atom feeds
The GUI and features are designed for PDAs and a keyboard is not required for navigation
When starting this work, I wanted a feed client that makes it easy to
update my feeds quickly and read them offline because using wireless internet
on mobile devices uses a lot of battery power.
I wanted a client that didn't use a lot of resources. I don't want to
save megabytes of old feed articles. I'm not really bothered about
marking which articles I have read or not. RSS 2.0 recommends 20 articles
as a limit to any feed anyway.
There didn't seem to be many web feed readers for the Zaurus, one that
I had been using was ZauRSS, but it was missing many features and
I didn't like the GUI. Fortunately Takatsugu Nokubi, the author of ZauRSS,
had kindly made his source code
available so I downloaded it and started rewriting it to satisfy my needs.
The menu and toolbar icons are the Crystal icons by Everaldo,
the default feed status icons are from Wikimedia and the Zocalo icon is my own design.
Read the help file!
Use the cursor keys to navigate. Toolbar icons are from left to right:
switch view out, switch view in, update current feed, open in browser,
and stop transfers.
In portrait view use the jog wheel, OK and Cancel buttons to navigate.
Only one transfer is active at any time but you can update
all feeds from the menu, they will be downloaded in sequence.
The articles view shows only articles that were in the feed when
you last updated it, articles from previous updates are not stored.
After an update, new articles are marked with a different colour (see
settings) but articles that were present the last time you updated will be black.
When you exit Zocalo the article status is cleared.
If you are short of space you can clear the data in the saved feeds
(but keep the list of feed URLs) via the Storage tab in the Settings dialog.
Some web servers do not return the Content-Length header so for those feeds
the progress bar will not move.
The version number does not reflect the status of the software
and is an arbitrary number chosen by myself.
I have been writing feeds by hand and using scripts to help automate that
process for some time now and I think web feeds are great. The standardisation is not.
There are 3 standards for web feeds, RSS 2.0, RSS RDF and Atom. In my
opinion, RSS 2.0 is the best: simple and easy to write but its specification
is not as clear as it could be. RSS RDF requires a lot of parsing
and is less simple. It is not as suitable for a lightweight client on a
mobile platform or if you write the feed by hand. Atom is good but still uses too
many RDF-like features. When a human reads RDF it is difficult to imagine
how it will be parsed.
Advice for Writing Feeds
When writing a feed or a feed module I think your philosophy should be
to choose a standard and follow it. Keep it simple.
Don't add images, HTML or CSS to the article descriptions. Don't include the
whole article in the description, make a summary. Avoid using
additional namespaces. I despise advertisements in feeds, it is not
About Web Feed Clients
I don't believe feeds are in any way similar to email.
I don't think a web feed reader should treat them with the same paradigm of
number of "unread" and "read" messages; although I did eventually introduce a limited
version of this into Zocalo. I want to use a feed reader to skim
a number of websites and pick out the articles I want to read in more
detail. Some of them I will want to go to the web site and read them
in a web browser. Or I will just want to read a summary
because I don't have time to read the article thoroughly.
Changes in 2.0
The Continue dialog during Update All will automatically timeout
Support for category tags in Atom feeds
Parsing of allowed HTML tags in Atom feeds. Note: text that is crossed out using the
strike tag, e.g. deleted, will appear as "x-deleted-x"
Removal of HTML tables from article descriptions
Improved handling of header tags in article descriptions
Select user interface font from all available sizes; options to set bold and italic styles.
Note: not all fonts will support styles
Feed Information now informs you how many consecutive times a feed has failed to update.
Note: the first time you run 2.0 all feeds will show as failing 1 update
Exiting from the Feed Information view will now return you to the feed you were reading
Toolbar icon for Update changed to Update All
Bug fixed - Clearing article store now clears feeds from disk again
Changes in 1.9
Support for Internationalised Domain Names (IDN).
Remove <script>,<noscript> and comments from article descriptions.
Parse some unsupported HTML entities out of article titles.
Tidied up help file.
Bug fixed - OK button not working on SL-C3X00
Changes in 1.8
Fixed problems preventing Zocalo from opening in portrait mode.
Cancel button can now be used to navigate out of views; same as the left arrow tool button.
If the current view is the Feeds view then cancel will exit the program.
Settings icon removed from tool bar for more space in portrait mode.
Memory leaks were found and fixed.
Bug fixed - proxy password now saved correctly.
Changes in 1.7
Faster opening of Zocalo window by postponing some start up functions.
All feeds are now saved straight after update to reduce the time needed to save feeds on exit.
Open Browser icon is now ghosted during an update.
Bug fixed - open browser function opened wrong article if feed order was modified.
Bug fixed - navigate out function switched to the wrong feed after an update.
Changes in 1.6
New menu option to reload a feed: Reload Feed will delete all feed details except the
position in the feeds list and the feed URL. It will then be updated.
Menu and toolbar items that are not applicable are ghosted.
Improved Edit Feed dialog.
Feed titles made visible prior to downloading during Update All: The feed table will now
scroll during update if your list of feeds take up more than one screen.
Attempt to handle wrong MIME type for ICO files.
Better handling of downloads when user changes selected feed during update.
Bug fixed - articles list was resized wrong; broken in 1.5.
Bug fixed - adding more than one feed offline.
Bug fixed - detecting Atom post service as a feed.
Bug fixed - handling feeds at start up incorrectly.
Changes in 1.5
Support for multiple enclosures in Atom feeds.
Switch from Tango to Crystal icons.
Toolbar now uses arrows to "go into" a feed and "come out".
Downloaded feeds are now saved to disk individually, previously all feeds were saved together.
Exiting the program will be much faster if only a few feeds were downloaded.
Feeds are periodically saved as you read them.
There may be a delay when starting Zocalo 1.5 for the first time if you upgrade from a previous version.
Support for HTTP authentication.
Feeds may be rearranged in the Feed View table. Use Fn-U and Fn-D or the context menu to move the selected feed up or down.
Proxies that require a username and password are now supported.
If date parsing fails, the date parser will now try to read Atom format dates for RSS feeds and vice-versa.
Many feeds use incorrect date formats.
Changes in 1.4
Much improved discovery of feeds when adding a feed by entering the website URL
New, reliable extraction of feed URLs from website index page.
Dialog with choice of URLs when multiple feeds are available, e.g. try http://www.telegraph.co.uk
Full website icon support
Zocalo will search for website icons when a feed is added by both feed URL or website URL.
Search in the default location, /favicon.ico. Please note this is not best practice: a
favicon should be set by the website using a <link> tag.
Refresh the feeds view so that new icons show up immediately.
Changes in 1.3
Status icons for feed status (red = invalid, yellow = unknown, green = good).
Preliminary support for website icons. *1
Enclosures (e.g. podcasts) can be downloaded. *2
More unwanted HTML tags parsed out of article titles.
After an update Feeds that have new articles are highlighted in the Feeds View.
Settings icon added to toolbar.
Settings dialog cleaned up and more options added, including choose font face.
Feed information table updated.
Improvements to usability, e.g. when selecting "Update All" the main widget will switch
to show the feeds view and each feed will be highlighted as it is downloaded.
Minor bugs continue to be quashed.
*1 Feed must be added by website URL. Discovery of feeds from website is not robust and
is being improved for 1.4
*2 This is limited to one enclosure per article which is fine for RSS but Atom supports multiple
Changes in 1.2
Added support for portrait mode using jog wheel and OK button. Press OK
quickly to navigate in, press OK and hold to navigate out.
Press and hold stylus on feeds in Feeds View for context menu.
Automatic discovery of the feed if you enter the URL of the website.
Change the colour of the stripes, the same colour is now used as the
background for an article's header.
Change the colour of new articles.
Help file added.
Bugfix: Actually use the specified qcop signal if you change the browser.
Changes in 1.1
Preferences can now be adjusted for network timeout, web browser and font size
Date format follows system settings
Highlighting during update all is now correct
Option to continue if an error occurs during update all
Faster exit if no updates were made
Note: if you are upgrading from 1.0 then feed updated dates will not use the
new system until you have updated them.