From web to desktop: DAY 1

I am currently working on developing a desktop based RSS reader application. Instead of a web application environment (see the post below) I am planning on using the win-form environment. Again the primary language will be C#. If all goes to plan I’ll try to post some screen shots and so you too can keep track of my progress. Screen shots from day 1 can be seen after the jump.

Day 1:Just been playing around at the moment deciding on design layout and so on. Have a look at what I’ve done so far.

Screen-shot:

Click on the image below for a more hi-res image.

As can be seen in the image above I have gone for the typical three panel design approach.

Panel 1: Feed subscriptions Panel 2: Feed titles Panel 3: Feed content

Panel 1 is basically a container for a treeview control which is generated dynamically in code.

Panel2 is a container for a listview control with event handlers defined for onMouseDown events.

Panel3 contains a web-browser control used to display the actual content of the RSS item.

Favicons which can be seen in the treeview control on the left of the image were fetched via the WebClient class which provides a very clever method called downloadfile which takes a string parameter typically the URI of where the favicon is stored on the web-server. So for example the youtube favicon URI is: http://uk.youtube.com/favicon.ico

Inside an RSS file:

Since RSS uses an XML format it is relatively easy to read and understand. Each RSS formatted feed consists of one channel element along with one or more item elements. The channel element is a collection of new items, and the item element is an object or individual item found inside a channel.

Channel element: [Title, Link, Description]

Example:

Item element: [Title, Link, Description, PubDate, GUID…]

RSS formatted feeds can consist of several elements which basically help in describing content whether it was related to news, sport, movies or so on. Some of these elements taken from the official RSS version 2.0 specification which can be seen in the above code snippet images.

Framework:

The syndication framework which I plan to used in develop this application is the Argotic Syndication framework. This framework is maintained and developed by Brian Kuhn and will play a significant part in the development stage of this application.

According to the website (http://www.codeplex.com/Argotic) which hosts this framework it is a “Microsoft .NET class library framework that enables developers to easily consume and/or generate syndicated content from within their own applications.” Thus one could say that the framework is the ‘engine’ of this application. This is evident because a majority of the functions which will be hopefully incorporated into this application will rely on the functionality provided by this framework.

See my next post on Argotic in use for a detailed description of the framework.

Last updated on 8 Jan 2009
Published on 8 Jan 2009