RSS Reader MIDlet

Platform: J2ME MIDP 1.0

Description:

The free RSS feed reader is a cell phone (mobile) J2ME/PhoneME MIDP application that is able to read most RSS servers/feed versions. RSS is a lightweight XML format designed for sharing headlines and other content like blogs and news. Data is stored on the device and updated on request. Read Wiki documentation for more details on which program to use.Add RSS feed bookmarks.  The program can be compiled/built/run entirely with either proprietary or FOSS (Free and Open Source Software).  Features include

  • Parse RSS feeds
  • Browse RSS feed headers
  • Read topics
  • Read all unread/read topics
  • Supports ISO8859_1, windows-1252, UTF-8 , and UTF-16
  • Update all/updated feeds with single command
  • Open item link or enclosure in device browser (On supported devices)
  • Save on exit or request
  • Import and synchronize RSS feed lists from internet or phone memory
  1. OPML
  2. HTML hyperlinks
  3. Line by line
  4. HTML Auto links
  5. HTML OPML auto links

RSS Reader MIDlet with Nokia N80

Midlet is designed to run on J2ME MIDP 1.0 devices so it will work also on older devices. The downloadable package includes binary files along with source code and NetBeans IDE 5.5 project files.

rss-reader-import.png RSS Reader

RSS Reader RSS Reader

Download binaries and source code

Older binaries for BlackBerry:

http://www.substanceofcode.com/downloads/midlets/rim/RSSReader.jad
http://www.substanceofcode.com/downloads/midlets/rim/RSSReader.cod

Contributors:

  • Irving Bunton

Version history:

Version 1.5 – July 24th 2007

  • Open link in device browser
  • Support long feed URLs

Version 1.4 – December 20th 2006

  • ATOM support

Version 1.3 – December 3rd 2006

  • Sync feeds from OPML list
  • Save feed items when application is closed
  • Update all feeds with one command
  • Improved text rendering (HTML tags are removed)
  • Improved feed support

Version 1.2 – September 14th 2006

  • Added a support for importing RSS feed lists using the line-by-line or OPML format

Version 1.1 – April 13th 2006

  • Added a support for basic username and password authentication (eg. htaccess)
  • Fixed the item title when item is changed
  • Removed titles from the item screen to make it more simple

Version 1.0 – April 26th 2005

  • First public release

  • Anonymous

    Hi OMP,

    The reader does handle RDF, however there are many versions of RSS with RDF so some have not been handled. Tommi and I have tried to find and handle the different versions of all types of RSS including ref, but we may have missed some. Can you give me some URLs of ones that do not work? Then, I can change the parser to handle them.

    Regards,

    Irving

  • OMP

    Hi Irving

    Thanks for the feedback. As you mentioned; the dev version parses RDF format perfectly.

    Thank you for your response.

    Regards

  • warfab

    Great program! Way better than the N81′s built-in rss reader :D

  • carxeus

    Irving, how to show the images in the rss reader??

  • Irving

    Hi carxeus,

    Currently, you cannot show the images in the reader. This is listed as an issue on the google web site. To accomplish this it would require a server which allows JSP. Currently, we don’t have this. OMP has been looking into this, but he does not have a solution yet. Bandwidth is an issue in finding a host. It would also slow down the retrieval somewhat however, there are other programs (e.g. operamini) that take seconds to get data from a server.
    So, now getting images is up in the air.

    Regards,

    Irving

  • carxeus

    Please, check the URL http://alonsogarciapablo.com/campestre-mobile-version-portable-del-buscador-de-casas-rurales-y-fotos/, you can do something similar with RssReader?

  • Irving

    Hi carxeus,

    The site that you gave me is in Spanish so I wasn’t able to figure out how they were doing it. I used translation program, but still no luck.

    Best Regards,

    Irving

  • carxeus

    Irving,

    They do not show the full code, but it seems that the following and i need your help to know whether it is possible to implement in RssReader:

    1 .- Identification of img tag, for example:

    2.- When identifying the img tag (http://…../ *. jpg) to draw the image as follows: they must show this with a variable of type Image, for example:

    HttpConnection hc = null;
    InputStream is = null;
    String url = “http://web.softideascorp.com/rss/ec28_negocios.PNG”;

    hc = (HttpConnection)Connector.open(url);
    is = hc.openInputStream();
    img = Image.createImage(is);

    for this example you can show images jpg, png, gif and other formats.

    Please check this information.
    Thanks for your answers.

    Regards.

  • http://www.substanceofcode.com Tommi Laukkanen

    @carxeus:
    The problem of displaying the images is not in the identification of img tags or parsing the URLs but it is in the scaling of images and the fact that J2ME phones can only support PNG format.

    As it has been discussed before we would need a proxy server for handling the downloading the images and do the scaling automatically for larger images. Hosting of proxy service isn’t free (or we haven’t found such a service provider yet :))

  • carxeus

    Hi Tommi,

    Thanks for your quick answer, maybe we need do a resize image and convert *.* image to *.png image.

    Then, for the convertion we need a GD library in the PHP language.
    I testing the convertion from jpg to png, this library its work perfectlly. The problem is we need to store the PNG image in a server, to show in the J2ME phones.
    I have a webhosting in linux and php, if you want we can try it.

    Thanks for your answer.
    Regards.

  • carxeus

    Hi Tommi,

    Here a code for a resize image: http://developers.sun.com/mobility/reference/techart/design_guidelines/image_resizing.html

    Please check.
    Regards.

  • http://www.substanceofcode.com Tommi Laukkanen

    @carxeus: By resizing I mean that images should be resized on the server to fit the phone screen as-is. It makes no sense to download large images like 100k over the air if the smaller phone screen sized image can fit in 10k. Especially when people might have to pay fortunes for mobile data plans.

  • carxeus

    Ok, i understand i make a code in php server that let convert *.* image to *.png image.

    My code works with PHP on my server and got a test satisfactory in the following example:

    *. jpg image (600×800 pixels) with a weight 87.5KB, i could transforming an image *. png (156×110 pixels) with a weight of 15KB.

    The test should be done with RssReader is:

    1 .- Identify the img tag.
    2 .- Send the URL (http://…../ *. jpg) of the IMG tag by GET method.
    3 .- My php code traps the variable, makes the image in PNG format and save the image to the server after the resize to 156×110 pixels.

    Please Tommi or Irving, I need help making this test.
    I need you to help me identify the img tag, then I need to get the url of the image in a variable and I do what you need and prove that it works.

    My english is a little bad.
    Thanks for your prompt replies.

    Regards.

  • Irving

    Hi Carxeus,

    Sorry for the delay. I’ve been working on another program. I’ll try to get some results back Fri.

    Regards,

    Irving

  • carxeus

    Hi, Irving.

    Thanks for your answer, i need to identify the image tag and writting the image in the middlet under title (although for to watch the url image under title).

    Thanks for your prompt replies.

    Regards,
    carxeus.

  • Kettir

    Just wanted to let you know that this is working great on my Razr v3xx. Thank you!!! My only question: when I add a new feed, I always get the fields filled in with the last feed I added. I’ve found that this is not going to over-write the feed I put in last, at least so far it hasn’t, but it is a little confusing at first. But I can live with it to get something for my old tech v3xx!

  • Irving

    Hi Carxeus,

    Thanks for your reply. I guess I’m not clear on what you want. The RSS specification has an image for the feed as a tag. This is for the channel as a whole (i.e. the feed). Is this what you want to show? Also, for each RSS item, there is no official image item, however the description often contains a CDATA which has HTML markup which has images in it. Do you want one or the other or all these images?

    Best Regards,

    Irving

  • Irving

    Hi Kettir,

    Thanks for the feedback. I’m glad that you like it. I thought that it would help to add for the situation where some data needs to be saved used from a previous feed. I’ll change this to be done only on request. If you like the program, you can rate it at http://www.getjar.com/products/11333/RSSReader.

    Best Regards,

    Irving

  • Kettir

    OK, don’t worry about that one, I can see how it would be handy to leave it as is. I wonder is there any way to “clear out” what has already been downloaded for a particular feed? It wouldn’t have to keep track of what’s new for the next download, just clear everything that’s come in so far. I see “delete feed” but I think that would probably delete the whole feed and I’d have to re-add it, right?

  • Irving

    Hi Kettir,

    I’m not sure what you mean exactly. You are right that delete feed removes it so that you would need to re-add. You can update only the modified feeds with update modified in a header list and update all modified from the bookmark list. It seems that you want to remove the items from a feed. Without other changes, this would mean that the next time that you opened the feed, the items will be retrieved again. I guess that there would be two ways that this would show up. By ‘clearing’ the feed, it’s items would not show up in “River of News” until the feed is opened again. Also, some memory is saved. Can you provide an example for this.

    Best Regards,

    Irving

  • Irving

    Hi carxeus,

    Sorry for the delay. Please see my questions above. Although after I looked over your comment above, it looks like you expect only 1 image per item. I’m unemployed so I spend some time looking for a job.

    Regards,

    Irving

  • OMP

    Hi Irving/Tommi

    I am currently making use of this evaluation feed from FlightStats.com:

    http://www.flightstats.com/go/rss/flightStatusByAirport.do?airportCode=CPT&guid=70cbe593c1d6de05:-7f99245f:120324c8505:2b26

    Though; for some reason the title of the feed does not reflect correctly in the RssReader. I am sure it has something to do with how the reader interprets the feed but I am not sure if changes can be made to the reader to rectify this. As well as where the changes should be made, if possible.

    Regards

  • carxeus

    Hi Irving,

    Thanks for your replys, can you tell me about some of the mobile devices that do not support GIF or JPG formats.

    Regards.

  • Irving

    Hi OMP,

    If you go to the web page that you reference in your link using firefox (and other browsers), you can do show source to see the XML. The title and description has beginning, middle and ending spaces. I have just made a change to do a trim which should take out the spaces beginning and ending. The RSS Reader currently does not format HTML whereas the google reader does. With HTML if there are a lot of spaces, they will be removed in these situations. The next version 1.12 which I have trouble getting out as I’m still working on RC2, will have a basic HTML formater. So far the trim that I have done helps with the titles.

    Regards,

    Irving

  • OMP

    Hi Irving

    Great to hear from you again. Thank you once again for your time and effort. I realised that there were a lot of white spaces in the format and contacted FLightStats regarding this issue; though they replied that they will be putting my request into a “wish list.”

    The actual implementation of this “wish list” was dependent on their resources; thus I did not expect anything soon from them.

    I am also glad that the reader will soon also be able to handle HTML; as I noticed there are many feeds that are specifically designed for the Web and HTML.

    I understand the how “trim” works though in which class would you advise this is implemented and if you could direct me to the line of code; it would be appreciated.

    Regards

  • Irving

    Hi carxeus (and OMP later) and Tommi,

    Unfortunately, this blog only allows me to reply to one person at a time due to moderation. So, I will have to answer OMP later after I get back from the weekend.

    For carxeus, I do not know of a table that maps the phone models to whether they accept GIFs or JPGs. I think that you would have to look at development documentation for the phones.

    Tommi do you know of how to find this information?

    Best Regards,

    Irving

  • http://www.substanceofcode.com Tommi Laukkanen

    @Irving, @carxeus: MIDP 2.0 only supports PNG. Upcoming MIDP 3.0 has a wider media format support and it most likely supports JPGs and GIFs.

  • OMP
  • Irving

    Hi Tommi,

    In this article by Sun, http://developers.sun.com/mobility/midp/questions/imagetype/ it says that although the J2ME is only required to support PNG, it says that devices MAY also provide support to alternative formats. This implies that some phones will support these other formats. I think this is what carxeus is referring to. If I’m not mistaken.

    Regards,

    Irving

  • OMP

    Hi Guys

    Thank you to Irving for the assistance regarding the removal of white spaces from rss titles/descriptions. It works perfectly.

    I have also noticed that there are some feeds that allow you to add parameters to their feeds; to effectively “search” for what you are looking for with in the feed.. I am aware that when adding the feed to the reader you can just add the parameter to the specific link and the feed will be requested accordingly.

    The concern with this approach is that that parameter will be saved to the database and effectively, the same paramater be used everytime the feed is updated. Is there a manner in which we can input the parameters without having to edit the feed details everytime; to accommodate for paramater values that change.

    Regards