150 likes | 281 Views
Defining the Significance of RSS. RSS , or Really Simple Syndication is a family of web feed formats used to publish frequently updated works—such as blog entries, news headlines, audio, and video—in a standardized format.
E N D
Defining the Significance of RSS RSS, or Really Simple Syndication is a family of web feed formats used to publish frequently updated works—such as blog entries, news headlines, audio, and video—in a standardized format. Essentially, RSS streamlines communication between publishers and readers. RSS feeds provide a simple solution for those who follow multiple blogs or websites. Instead of visiting each site individually, subscribing via RSS conveniently delivers the content directly to one place.
Why we chose to develop this application Many RSS reader applications exist for the Android platform. However, none currently implement text-to speech. We feel that this Is a critical feature for users who would like to hear the content of their feeds on the go. It may also be of use to those with partial blindness or other vision problems. Additionally, many of these RSS reader applications cost money. Some offer free ‘lite’ versions of their applications, but remove critical functionality and introduce advertisements. With our application, we intend to provide a free alternative to these costly applications without sacrificing functionality.
Application Overview • Overview • Current application consists of: • 4 Activity Classes • FeedSelection (displays predefined feeds for selection) • Reader (calls RSSHandler (parser) , displays feed items) • Description (displays feed item data) • Browser (displays targetURL from article within application) • 4 Backend Classes • DatabaseManager (populates SQLite database with parsed data) • RSSHandler (contains modified SAX parser; populates feed/item) • RSSFeed (stores/returns feed data) • RSSItem (stores/returns item data)
Feed Selection class Displays a list of pre-defined feeds (within a ScrollView). Upon selection, passes feed URL to Reader class in a bundle. Will allow for user customization in application update.
Reader class Displays article list (and additional information such as feed title and date last updated) for specified feed passed from previous class. Will allow for user customization in application update (text size, text color, other appearance settings).
Description class Displays detail for specified article item (title, description, et al). Contains customized TTS implementation and article sharing implementation. Will allow for user customization in application update (text size, text color, other appearance settings, TTS voice settings).
Browser class Displays target URL from previous class (passed in bundle) in a customized WebView and layout. Keeps layout consistent with Description class. Will potentially allow for full article parsing and TTS support in a future update (outside of original application scope; but useful).
Milestones achieved • Feed selection works and will be customizable in update. • Will allow user to specify image for feed or choose from default images. • Parser works with a much higher success rate than previous updates • Rewrote SAX implementation in Handler class. • Rewrote Feed and Item helper classes to handle additional attributes: • Better support for RSS 1.0, 2.0, and ATOM feeds. • Text to Speech is fully functional and no longer crashes. • Successfully implemented custom WebView interface. • Allows users to view full article without leaving application. • Successfully implemented article sharing. • Uses Intent to pass URL to various applications (Messaging, Facebook, Twitter, etc.). • .
Bugs/Setbacks • Parser still has issues with some feeds • Incomplete parsing of either title, description, or target URL. • Primarily due to inconsistencies in feeds; RSS may be a standardized format, but that doesn’t necessarily mean that every news provider follows the standard correctly (In reality: most don’t). • Will continue to improve in subsequent updates. • Requires writing additional cases when encountering certain attribute tags. • Database implementation • More difficult than originally thought. • Will use database in future update (will allow for performance increase and additional configuration options). • Current issues include properly clearing the database on feed refresh and assigning primary keys that allow us to distinguish between different feeds.
Future of application • We plan to maintain the application for at least the next few months (or more). • Application may meet original requirements, but we realize that improvements can be made in several areas. • Release on Google Play (formerly Android Market). • Planned release is end of current semester. • Several updates planned before release (detailed on following slide) • Will be a free application without advertisements • Only uses 1 permission (Access Internet) • Will remain closed source at this time. • May make repository public after various code improvements • Need to add/improve proper commenting • Need to write proper application documentation
Future of application cont. (Planned Updates) • Please Note: • These are outside of the original scope of our application. • Application currently meets originally defined requirements. • Planned updates (as of 4/19/2012): • Add methods/update parser to handle image elements. Update layouts to properly display image elements. • Implement Settings activity (for user customization of various classes and views) • Add feed customization in FeedSelection activity. Allow user to select and organize the display of feeds based on personal preference (through Settings activity). Allow custom feeds. • Attempt implementation of full-article parser (using TagSoup) in Browser activity.
Future of application cont. (Planned Updates) • Please Note: • These are outside of the original scope of our application. • Application currently meets originally defined requirements. • Planned updates (as of 4/19/2012): • Management of activity states (such as Paused, Stopped, Resumed), saving activity state. This will improve application function when the user leaves the application or when another application comes to the front (consider an incoming call, for example). • Implementation of widgets and notification service (NotificationManagerclass). • Various UI improvements and theming (through additional layout styles and customization via Settings activity). • Additional application improvement after release based on user feedback.
Summary • Current application follows requirements specified in original Vision & Scope document. Also complies with SRS document. • Will continue to maintain application. • Will release on Google Play (formerly Android Market) at end of semester. • For updates follow our website at: http://mvca.me/rss