Jump to content

RSS Docklet


Ertai88

Recommended Posts

  • 4 weeks later...
  • 1 year later...

As a matter of fact, I started development of an RSS Reader Docklet a few days ago... I will eventually publish a thread here (when it becomes usable)... I would like to have some feedback on the possible functionallity it may have...

Right now I may reuse most of RSS Daily Strip Docklet so the Items would be listed at a right-mouse click... it's just I have not clear what to do next... this is, just open the feed... open a window with the content... I am not sure... since many feeds contain complex HTML content that would require me to do HTML rendering... which is no simple task. There is an RSS Docklet at wincustomize.com but it's a bit old and not very flexible.

Your feedback could give me some ideas.

Link to comment

What I find really complex is to render the actual feed... that would require the docket to become a full rss feed reader... which I think would be better off simply creating a link to an existing feed agregator... said that, having multiple feeds is not a problem... since I have already setup that on the RSS Daily Feed.

But having an "unread" count would mean the docklet should keep an updated count of any feed that is "viewed" (whatever that really means)... One way to do that is to cache the feed and then save some data to disk... then when the feed is updated, there should be some kind of "reconciliation" process there... I do not know! mhmmm... I believe docklets should be simple easy software that help us do things quicklier & easier.

What do you all think?

Link to comment

@Smaky:

I think it can be made simpler:

Just store in a "cache" file the titles of the RSS feed, and then when you update you can compare and calculate the number of new items (and properly update the icon).

When the user clicks, just replace the "cache" file with the current one (so count resets to zero) and launch whatever the user setups to read the RSS feed.

This way you also avoid rendering HTML content (but if you want to do that, consider either Internet Explorer embeded as an .ocx, or using Gecko or some derivative, writing an HTML renderer yourself is a pain in the active-scripting-stuff aka ass).

Link to comment

Yep... I just do not want to create an HTML renderer... it will never be really complete.

On the other hand... in relation to the "cache", what worries me is that the docklet is supposed to let you have multiple RSS Feeds configured (as in the RSS Daily Strip Docklet), so it might be posssible that a lot of feeds be configured... and I am afraid I will be asked to have a current count on each of them (so updating the feeds would mean to retrieve all configured feeds and do something as you described).

Currently, the RSS Daily Strip docklet does not face this problem since the feed is only refreshed whenever you change to a different profile (or when the timer fires - every hour or so).

Looking at NewsFire it seems that it is a complete RSS Feed Reader that has some kind of support for the Mac Dock (I really do not know since I have no Mac around), and as I said... to be able to have a current count for all feeds it would mean to loop through all configured feeds and update each one accordingly... what worries me more is the "read" status... since the docklet is not an RSS Reader... after clicking on it it would either launch an internet browser pointing to the RSS Feed item's link or your configured RSS Feed reader... but there will be no real "read" state... for that, the RSS Feed Reader must be able to "update" the docklet... it seems to me that such thing would not be possible.

Link to comment

Mmm... ok, what about embedding Internet Explorer into the docklet?

I know it looks like a crappy solution, but you would just have to save the feed item contents into a temporary .html file and open it using an ActiveX IE control.

The ActiveX control to import is "Microsoft Internet Controls".

Then you add a WebBrowser instance into your form, set some stuff such as AddressBar, MenuBar, etc... to false, then to open a page just:

WebBrowser1->Navigate ("file:///C:Documents and settingsSomeUser........TempSmaky'sRSSReadertemp.html");

And that's all.

I'm not sure how hard is to add an ActiveX control into a C++ project. I can write a .dll to display the control easier if you want.

Link to comment

Thanks matonga...

Neither do I know how to include the ActiveX control in a C++ project... let me reseach a little bit and if I do not realise how to do it I'll call for your help.

Mmm... ok, what about embedding Internet Explorer into the docklet?

I know it looks like a crappy solution, but you would just have to save the feed item contents into a temporary .html file and open it using an ActiveX IE control.

The ActiveX control to import is "Microsoft Internet Controls".

Then you add a WebBrowser instance into your form, set some stuff such as AddressBar, MenuBar, etc... to false, then to open a page just:

WebBrowser1->Navigate ("file:///C:Documents and settingsSomeUser........TempSmaky'sRSSReadertemp.html");

And that's all.

I'm not sure how hard is to add an ActiveX control into a C++ project. I can write a .dll to display the control easier if you want.

Edit: In VC++ 2008 adding an Internet Explorer Web Browser ActiveX Control is simple... I just created a Dialog and right click on it... then Insert ActiveX Control... I just need to figure out how to program against it.

Link to comment

I found this codeproject article... http://www.codeproject.com/KB/cpp/ActiveXC...WithoutMFC.aspx

Since all other references for IE ActiveX Component mentioned MFC C++ project (and since I have had a lot of issues trying to complile Docklets with MFC support) I think that would be the way to go... unfortunatelly after compiling the code it shows not window at all... could you take a look at it and tell me if it worked for you?

Edit: Nevermind... I made it work... I was messing up something. Well I now have a Dialog with a feed being shown.... I think I will make the Docklet usable... and create a thread for it... thanks... se you all again in a few days.

Link to comment

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
×
×
  • Create New...