Article: An Overview of the AiRSS Service Cell
By Michael Rice, Aikernel Project Administrator
This is a fun cell that I've been meaning to develop for a long time. It is still in a very primitive state, but I thought it would be a good idea to write a quick article about it to help other cell developers. Yes, this is yet another RSS reader application.
For those of you who aren't familiar with the "RSS" I can honestly tell you that I'm not sure what it stands for! I think it has something to do with "Syndication" something or another. My sincere apologies to the data format designers on their wonderful and clear work! Anyway, the RSS has become quite popular as a way for web content developers to let their writings and work get syndicated. It is a simple XML specification that you can post on your web server that has a list of the what your channel (i.e., your web site) is and what the content on it is. I'm planning on adding RSS feeds to this site when I have a few more free moments if only to feed into the AiRSS Cell! Even Sun has gotten into the act by adding the RSS on their site.
There are a plethora of RSS readers all over the place. So why build another one? To show off the features of the Aikernel, of course! As RSS readers go, this version is pretty limited. It lets you:
The fourth item is really the only difference. Otherwise, it is simply a feature-poor RSS reader... It can't even pop open a browser to follow a story link. There is a very good reason for this: I couldn't figure out how to do it in telnet! I don't really think it can be done of course. In future versions, I really think we can expand this and turn it into a nice application.
Before we get too far into the cell design, I want to mention two important things:
For those of you who are new to cell development, each feature of your cell is defined as a "Context". Think for a minute about a windows application. If you have a drop down menu called "File" and a menu choice called "Open" you could call opening a file as discrete feature of your application. If you wanted to do the same thing in the Aikernel, you don't need to define the menu and the mouseclicks. You simply define a Context that you might decide to call "Open a File". Then you'll need to define the Activators that you want to trigger the Context as the Aikernel is listening to input data from the user.
In the AiRSS Cell, I've defined the following contexts:
Notice that there are only three Contexts defined here, but I mentioned four features of the AiRSS cell earlier in the article. I did this on purpose.
Context: Browse the available channels
There are four important ways this gets made more intelligent without much effort from the cell developer:
How does the Cell get the context back? Or, how will the cell know when the user has triggered the Context through Activators?? That is the core of the Aikernel. Once it has analyzed the incoming data and compared it to the Activators and Contexts defined by the Cells it will generate an ActivationEvent and pack it with Activators to give to your cell via the doEvent() function.
Context: List the items in a channel
Context: Review more details about a specific item
Room for improvement:
|contact project admin|