Syndirella is getting ever closer to the release of the version 0.91. The release of 0.9 was plagued with quite a lot of problems (I even had to do two successive updates to fix the worst of them). I do not want the release of 0.91 to look the same. And I need your help.
First of all, if you ever reported a problem to me, please verify if it is fixed in the recent builds. If it is not, you should report it again. I will go through all the unanswered bug reports and try to contact everyone, but you will make my work easier if you confirm your reports after testing the latest build.
If you don't have any obvious problems, here are some tips for finding new ones. Generally, the main things to watch out for are drawing problems - specifically, drawing the list views and the toolbar. You should also check for resource exhaustion - load a lot of feeds into Syndirella, do some "heavy reading" (holding down the spacebar for a couple of seconds is a nice approximation), do some stuff with the toolbar and so on, and watch for exceptions signifying that Syndirella has run out of resources. There were some reports of resource leaks, and I've made some changes that could probably fix that, but I'm not too sure.
Another thing to be watched is the feed updates. Do all the feeds update correctly? Do you see the proper dates for feeds which have the item dates specified? Do any of the feeds get stuck in the "updating" state?
Please report problems by e-mail, not by ICQ and not by comments here. E-mail is much easier for me to keep track of.
And thanks in advance for your help!
My birthday is February 25th.
My Amazon wishlist is here.
Technical note: Amazon shipping to Russia has been tested and found to work. The cheapest option takes about a month to deliver, but I'm not in any kind of hurry. :-)
Technical note 2: The out-of-print books in my wishlist should probably be bought elsewhere and not on Amazon. If you're willing to buy any of those, drop me a line, and I'll remove them from the wishlist.
Despite all the good things that have been said about VMWare, I find that I'm not really able to use it for testing Syndirella under different OSes. The thing which causes the most OS compatibility problems is drawing - but I cannot rely on VMWare to show me how Syndirella would look when I run it on a real machine with that OS. For example, today I noticed that Syndirella running under Windows 98 in VMWare doesn't show checkboxes in the "Import feeds" list view correctly. I was a bit surprised that no one reported such an obvious problem, and spent some time trying to debug it, but to no avail - I couldn't see any problems with the code. Then I revived Windows Me installed as a dual-boot OS on my wife's computer and tried Syndirella there - and the checkboxes were drawn perfectly.
I guess I should try using Virtual PC instead of VMWare. It is significantly slower, but at least it is something I can trust.
Download binaries, sources or installer.
Not much, but enough to prove that I'm alive. :-) Expect more fixes in the next three days - Monday is a state holiday here in Russia, so I'll have enough time for Syndirella in the coming days. And for the e-mail backlog, too.
One of the interesting features of the computer game market in Russia is that quite often new games appear in Russia earlier than they do in Europe and the States. Probably the most noticeable case of that was Arcanum - Russians could play the final and complete version of it more than a month before it appeared in stores all over the world. And today I saw ads announcing the availability of Master of Orion 3 (which has the official release date of February 25th).
The reason for that is simple. There is always a delay between the date the final gold build is made and the date it appears in stores. And the pirates don't have to wait - they just grab the gold build as soon as it's available and start printing the CDs. And it looks like the distribution network of the pirates here is quite a bit more efficient than the official one.
And only in very rare cases, and for the most wanted games, pirates publish betas or other early versions. (For example, "Doom 3, Russian and English version" has been available for several months already, but the CD actually contains the leaked E3 demo, and not the complete game. Of course, this isn't advertised anywhere on the CD.) Thus, when you buy a pirated English version of the game, you can be pretty sure that it's the real thing.
However, the majority of the people here prefer buying Russian versions of the game. Thus, as soon as a new game appears, various pirate companies hurry to translate it as quickly as possible - every additional day taken by the translations means many thousands of lost CD sales. And you can imagine the usual quality of such translations, when the whole production cycle of a translation takes three or four days.
Nowadays, more and more games are officially localized and published. Official localizations generally use the same "per CD" pricing scheme as the pirates do, and the prices are just a little bit higher - $3 per CD, as compared to $2 per CD for pirated disks. The quality is, of course, much higher, and usually the pirated releases of a game magically disappear from the stores once the official localization is published. But official localizations take much longer to appear - several months, usually - so most people don't bother waiting for them and buy whatever appears earlier.
(I really want this blog to become more than a list of announcements for new builds of Syndirella. Hopefully there will be much more posts like that in the future. :-) )
The reason for today's about 3 hours downtime was worse than usual. It's not running out of prepaid traffic or network connectivity problems. It is some nice people putting 380 volts in our power supply. Luckily, only one thing burned before I rushed to turn off the power switch of the apartment - but quite unluckily, this thing was the power supply unit of our main computer.
I've brought back the site on my wife's PC for now, and I hope to replace the PSU of my old PC within a day or two... if there are some problems with the site, feel free to e-mail me, and I'll find a fix. And I cannot afford not to buy a UPS this time around.
Update: Site back up with a new PSU. Total cost of repairs: $24 and about 4 hours of my time.
Response to the comments here :
Ricky: I don't really want to add the default browser preference to Syndirella itself. Why don't you and the other people create a separate user account for each of you, and specify different default browsers for each user account?
sub: Searching for text in news items will be implemented in one of the future versions, most likely in 0.92.
Mattias: Possibility to specify a custom stylesheet for news items is also planned for 0.92.
I have just upgraded to MovableType 2.6, and installed Brad Choate's MTTextile plugin. This is a test of the Textile formatting.
Big fat bugfix for yesterday's blunders.
If you are experiencing slow drawing performance in 20030216, you should simply delete Syndirella.exe.manifest from the Syndirella installation directory. This removes XP theme support but restores the performance to that of the previous builds.
I'll try to investigate why exactly the slowdown occurs, and make a proper fix which doesn't cause performance degradation.
Download binaries, sources or installer.
From now on, I'll start pushing towards the release of 0.91. I'll stick to the initial plan and leave the new hierarchical feed list code developed by Joe Hildebrand to the next version (the code is not yet finished enough to be integrated quickly and with few problems).
There are two main things that need to be addressed before I can release 0.91.
One is the tray icon animation, which is annoying to many people. I'll have to find some option that, on one hand, provides a sufficiently visible notification that some new items have arrived, and on the other hand, doesn't attract attention when the user wants to focus on something else.
Another problem is feed update error handling. I've already got some complaints from the web site administrators that Syndirella is polling their sites far too often (once a minute or so). I'll need to make sure that fatal errors (like 404 errors) are reported as message boxes and not as status bar notiications. And for intermittent problems, Syndirella should switch to polling once an hour if five update attemps in a row (done once a minute) fail.
Other than that, my main focus will be stability and performance enhancements. Don't expect any major new features after today's build.
James Robertson pointed me to BottomFeeder - another free news aggregator currently on the market. The interesting part about BottomFeeder is that it is written in Smalltalk, which is not quite a common language nowadays. BottomFeeder is cross-platform, running even on such exotic systems as HP/UX and SGI - but that is also its main downside. It is not too hard to create a cross-platform UI toolkit, but it's much harder to create one which obeys all the UI conventions on all the platforms which it supports.
So, here is the log of my experiences with BottomFeeder. Sorry if I'm being too harsh in some places. But in fact, I'm trying to hold myself to the same standards when doing Syndirella development. If there are any similar problems with the Syndirella UI, feel free to tell me about those - and feel free to sound as harsh as you like. :-)
First, the download is quite large - more than 5 megabytes. On one hand, the .NET Framework is four times bigger, but on the other hand, you need to download it only once, and not with every update of Syndirella. Does Cincom Smalltalk have a way to separate the application from its runtime?
OK, it starts with no problems. I take a look through the menus... well, quite a lot of options here. I wonder who would need to use all the four kinds of "save settings" and "restore settings" commands... shouldn't this be done automatically and transparently for the user?
Looks like BottomFeeder supports OCS, so bringing in my subscriptions from Syndirella should not be a problem. I export the OCS file from Syndirella, go to BottomFeeder, right-click the "Feed Lists" icon and select "Add Feedlist..." Oops... it prompts me for an URL, but I want to import from a local file. After some guessing, I make the file:/// URL for my feed list, switch to BottomFeeder and press Shift-Ins to paste it to the dialog. Oops... nothing happens. They did implement the standard edit box popup menu, but forgot about the shortcuts.
OK, I paste the URL anyway... "Unable to process feed!". Let's see what went wrong. I go to Help / View Current Error Log... and see a non-resizable window with no horizontal scrolling. Do I have to export the log to a file, so that I could read the complete messages? Anyway, it's clear that probably I need a real http: URL, not a file one.
I put the OCS file to my local webserver and enter the real URL. OK, now it shows a feed list with 45 feeds.
First thing I see: it fails miserably to process Cyrillic feeds. Only squares instead of Russian letters. So I wouldn't be able to use BottomFeeder even if I wanted to.
Next impression: it shows "(rss0.91)" after all the feeds. Why do the users care? Wouldn't it make more sense to show the unread item count, or some other useful information?
The list of items is quite inefficient in its use of the screen real estate. Why all the borders and padding? Why is the "Item Title" column by default wider than the pane containing the item list? Also, this may be subjective, but I do not think that it's really important to waste some more screen space on the latest update dates.
(Update: There is an option not to show the table, but that hides the item dates. Quite a typical thing - instead of implementing one good behavior, the author allows the user to choose which of several bad behaviors is less bad than the others.)
The HTML browser is more or less OK... but the cursor doesn't change when pointing to a link. At least it does show a tooltip with the link destination. All the links are opened in the external browser, but looks like it is not determined quite correctly. My default browser is NetCaptor, but BottomFeeder opens new IE windows instead of new NetCaptor tabs.
(Update: There is an option to do all the browsing in BottomFeeder, but it's quite hard to do any kind of browsing with no Back button and no popup menu to replace it.)
Out of habit, I tried to press Space... of course, it doesn't move to the next unread item, but it does something strange instead - it just removes the focus from the selected item and clears the item text pane. Pressing Space again brings the focus back. Why is that needed?
Clicking on a feed which is not yet loaded produces no feedback on what the program is doing. If the feed is slow to load, it may seem that the program has hung, or something.
Even though I am a developer of an RSS reader myself, I don't understand what is "Run Server Interface for Feed Gathering", why is that different from "Run Server Interfaces Compatible with Other Tools", with what other tools it is compatible, and why one checkbox is checked by default and the other one is not. And there is no help or anything to guide me.
(Update: No, there is actually a help file, and a description of these settings. I wonder why the authors created yet another standard for subscription icons, and did not stick to using the Radio standard. Just think of how many icons each weblog would need to have if every single aggregator invented its own subscription standard.)
The "Apply" and "Close" buttons in the settings dialog are located on different sides of the dialog. Is it an UI standard on some platform? On the platforms which I have experience with, the standard recommends placing the buttons next to each other.
The content:encoded RSS element is not supported, so on many feeds I see only excepts instead of full item texts. And for dive into mark, I see nothing at all. The error log shows some XML parsing error, but I can't see the full error text, so I don't know what's the problem with that.
So, I could continue for a while more, but I think it's enough for now. :-) And even functionally, BottomFeeder doesn't have many advantages to Syndirella. It does have a tree view of the feeds, it does sort the feeds by name, it does have a preference for automatically following links in items with empty descriptions, but that's about it. And it doesn't even support RSS autodiscovery.
Sorry again if I'm being too harsh, and I do hope that the BottomFeeder authors will be able to correct most of the problems that I've complained about. But for now - well, see for yourself. :-)
Sam Ruby gives his list of reasons why he likes the Radio aggregator better than Syndirella. Here's my list of responses.
Come back in a month or two, and you won't be disappointed. :-)
Some long-awaited fixes today.
I will be going on a business trip to my employer's office, from Thursday till Saturday. Most likely, I will not be reading e-mail during that time.
Download binaries, sources or installer.
That's not much... too bad I don't have time for more. :-(
Thomas Gage asks why I want to support embedding Mozilla instead of IE in Syndirella. My answer is simple: the users want that, and it is simple to implement. This is a low-priority feature for me, since I don't use Mozilla myself, but if someone implements it and sends a patch, I will be happy to integrate it.
A productive day, indeed...
Download binaries, sources or installer.
The import preview functionality still needs a lot of polish (search, language filtering, error handling). All this will be implemented in the following builds.
And after that, I think it's time to start pushing for the release of 0.91. The only major piece of functionality planned for 0.91 that is not yet implemented is the possibility to configure the default settings for feeds. Besides that, only bugfixing work remains. I think that it will be possible to release 0.91 final in two weeks.
Dorothea complains that no one likes her style of archive navigation.
Well, in my opinion, weekly archives are the most convenient reading form for weblogs that do not provide full post texts in their RSS feeds. I read Dorothea's feed from Syndirella, and it is very easy for me to click the link on the first unread post, read all the new posts on a single page, then return to Syndirella and hit Ctrl-M to mark the feed as read. It is made even better by the fact that the archive page lists the newest entries in the bottom, so I can use the natural top-to-bottom reading rather than the ugly back-and-forth scrolling required for reading the front pages of weblogs. If every post was on a separate archive page, it would involve far more clicking for me to read all her latest posts.
An important achievent today: My.Yandex, the only RSS syndication service in the Russian Internet that I'm aware of (maybe the only one that exists), now exports its list of feeds in the OPML format. This is especially exciting because this finally makes Syndirella useful for Russian users - most of the sites which have the feeds do not advertise them in any way at all, and I myself was not aware that so many sites actually have feeds.
Of course, quite a lot of RSS advocacy in Russia still needs to be done - writing and publishing articles, pushing webmasters to fix their broken feeds, to add autodiscovery support, to add feeds for sites which don't yet have any... However, we do have a base to work from now.
So tomorrow I'll implement my part of the agreement with Yandex - support for importing OPML files from HTTP sites, with the possibility to preview the feeds and select the ones that should be imported. This will, of course, open the doors to other major RSS feed directories like MoreOver and NewsIsFree.
So, a lot of exciting stuff coming soon. And now - sleep! :-) And quite a large backlog of e-mail to answer tomorrow.