As a software developer myself I often find that in the back of my mind I’m analysing the software I use, particularly during upgrade times, for signs that it has been designed well. For an example, I’ll share my latest discovery.

There have been many changes during the FeedDemon 2.0 alpha builds, but the most obvious one is Nick adding and removing things from the default newspaper style “surfer” as we work out the best place for features to go. Every new build I get there have been features added and removed, buttons moving around and links that bring up FD menus. Aside from a fantastic knowledge of HTML Layout, this speaks volumes to me about how Nick designed his newspaper event interface.

See I’ve been working with the Microsoft WebBrowser control (which FD uses to display the newspaper) and the related DHTMLEdit control for 4 years now, so I have a fairly good idea of how the interfaces to it work and the sorts of things required to trigger features in the host application. If you look at the source code of a newspaper in FD 1.6 or above, you’ll see lots of links starting with “fdaction:”. These fake links are captured by FD and trigger code to perform tasks as specified by the link.

So back to why I can see this is a well designed interface. The speed with which Nick has been trying different combinations of features, moving them from the toolbars to the newspaper and back, tells me that the code was designed for extensibility and flexibility, making it easy to add and remove actions without writing large sections of code.

Discoveries such as this always boost my confidence in the developer of an application, and in some cases help to further my own knowledge by trying to come up with how I would have done it 😀


I’m posting under a “feeddemon” category this time. Lets see if this gets some notice, my last post didn’t show up anywhere – I guess “software” is too broad a category 😉