Boreal Owl Roadmap

From RSSOwl

Jump to: navigation, search

Contents

Introduction

This page describes the roadmap in 2007 for RSSOwl 2.0 - Codename Boreal Owl.

Release deliverables

The release deliverables have this form:

  • RSSOwl Application Release
  • Source Code Release

Release milestones

Release milestones, occurring at roughly 4 week intervals, exist to facilitate coarse-grained planning and staging. The milestones are:

Each Milestone is completed by testing the functionality that was added and making sure no regressions have occurred.

Release name

The Boreal Owl

Target operating environments

We should make sure that RSSOwl 2.0 Alpha is running well on these platforms:

  • Microsoft Windows XP
  • Linux Fedora Core 32 & 64 Bit
  • Linux Suse 32 & 64 Bit
  • Apple MacOSX

Annotations

  • Image:high.gif: Task has a high priority
  • Image:medium.gif: Task has a medium priority
  • Image:low.gif: Task has a low priority
  • Image:progress.gif: Task is in progress
  • Image:ms3.gif: Task has a target of Milestone 3
  • Green: Task is done

Top Items for Milestone 9

  • P1: Virtual Tree for Feed View
  • P2: News Filter

Roadmap Core

Model

  • Support reparenting for Folders and Marks (Bug 5)
  • Provide a DAO for each Entity Image:ms6.gif

Database

  • Provide interface allowing to contribute a DB to JPA Image:ms1.gif

Connection

  • Allow to contribute a custom SSL Factory to the HTTP-Connection-Contribution Image:ms1.gif

Preferences

  • Review Eclipse Platform API for Preferences Image:ms1.gif
  • Leverage global Preferences layer Image:ms1.gif

Searchmarks

  • Review Model (Bug 12)
  • Decide on performant way to reflect changes to search-results Image:medium.gifImage:ms6.gif

Code Review

  • Decide on what is Public API Image:ms6.gif
  • Decide on embedded DB being Fragment or not Image:ms3.gif
    • Check by making a build and run outside Eclipse

Extension Story

  • Review all Extension-Points Image:high.gifImage:ms6.gif
    • How easy is it to contribute a new Entity?
    • How easy is it to change an existing Entity?
  • Consider implementing Participant-Hooks Image:medium.gifImage:ms7.gif
    • Participate in the Feeds URI
    • Participate in the Feeds InputStream
    • Participate in the Feeds Document
  • Make ExtensionPoints aware of dynamic contributions Image:medium.gifImage:ms7.gif
    • Listen to contributions being enabled/disabled during runtime and react properly
  • Document and open all Managers for Toolbars, Menus and Co. Image:high.gifImage:ms7.gif
  • Support contributions to Filters and Sorters for Explorer and FeedView Image:medium.gifImage:ms7.gif

Logging

  • Make sure to have a complete logging solution in place for the release (Bug 63) Image:low.gifImage:ms7.gif

Performance

  • See also RSSOwl Performance & Footprint Tasks
  • Profile DB operations and optimize Image:high.gifImage:ms6.gif
  • Optimize DateUtils DateFormat-Cache so that accessing Threads are not blocked Image:ms3.gif
  • Make sure to have indexes for Columns that are part of queries (Bug 39) Image:ms3.gif

Roadmap UI

General

  • Decide on better Error messages (Bug 87) Image:ms3.gif
    • Avoid showing Error Dialog from reloading feeds
  • Think about how Feed- and News-View should react on Selection-Changes Image:ms1.gif

View vs. Editor

  • Consider combining Feed- and NewsView into a single Editor Image:ms1.gif
    • Divide both with a Sash

Presentations

  • Review R2.1 Presentation Image:medium.gifImage:ms8.gif
  • Provide a presentation that matches the RSSOwl 1.0 Look and Feel Image:medium.gifImage:ms8.gif
  • Consider defining default colors to not indicate the current focussed View Image:medium.gifImage:ms8.gif
  • Investigate wether its possible to use SWT.SINGLE Style for any View/Editor Image:medium.gifImage:ms8.gif
  • Investigate wether its possible to prohibit stacking of Views (Yes: Use stand-alone Views) Image:ms3.gif

Bookmark Explorer

  • Implement "Manage Bookmark-Sets" (add, delete, update) Image:ms3.gif
  • Custom draw number of unread News Image:low.gifImage:ms7.gif
  • Investigate adding actions for: Reload All, Mark All Read, Link with Feed View Image:ms3.gif
  • Decorate Folders differently based on New, Updated or Unread News Image:ms3.gif
  • Investigate decorating BookMarks differently based on New, Updated or Unread News?
  • Grouping Image:ms3.gif
    • Expand Nodes that contain a Selection (using setSelection(ISelection, true))
    • inside GroupItem sort by Date / Popularity unless "Group by Name" is on
  • Performance Image:ms3.gif
    • Avoid refresh() calls as reaction on Events
      • Consider just using add() and remove()
  • Improve Usability Image:ms3.gif
    • Decide on keeping Folders expanded when changing to Filter / Group display
      • Make sure to expand any Parent that hides the current selected Element
    • Do not let a Selection of N News display in the NewsView
    • Do not update NewsView when Explorer gets Focus

Feed View

  • Decide on a list of default columns that are displayed Image:ms1.gif
  • Store order, size and list of selected columns in preferences Image:high.gifImage:ms7.gif
  • Review what JFace TreeViewer provides to work with TableTrees Image:ms1.gif
  • Never show horizontal scrollbar. Always let Columns fit available width Image:medium.gifImage:ms6.gif
  • Decorate News differently based on New, Updated or Unread News Image:ms3.gif
  • Add some common actions to Elements of the View Image:ms1.gif
    • Delete
    • Mark Read / Mark Unread
    • Mark All Read
    • Label
    • Flag
  • Support for Grouping/Filtering Image:ms1.gif
    • Group by Publish Date
    • Group by State
    • Group by Author
    • Group by Category
    • Group by Feed
    • Filter by Read/Unread
    • Filter by Flagged...
  • Support for Incremental Search on displayed News Image:ms1.gif

News View

  • Change HTML to be based on a flexible CSS Stylesheet Image:high.gifImage:ms7.gif
  • Allow contributions on CSS Styles Image:medium.gifImage:ms7.gif
  • Leverage a central option to control the used Stylesheet Image:medium.gifImage:ms7.gif
    • Later: Consider an option per Feed
  • Consider calling writer.newLine() in Server instead of using "\n" Image:ms2.gif
  • Use the <base> Tag in the HTML output</a> Image:ms1.gif
  • Find a strategy for sorting the News Image:ms2.gif
  • Find a place for adding an input-field for the adress Image:ms2.gif
  • Let the View react on News and Feed-Events Image:ms2.gif
  • Allow to open a Link in the external Browser Image:ms2.gif

Browser Support

  • Hooks into the platforms Browser Support (IWorkbenchBrowserSupport) Image:ms6.gif

Wizards

  • Create new Bookmark Image:high.gif
  • Create new SearchMark Image:low.gif
  • Create new Folder Image:high.gif
  • Import OPML Image:low.gif

Feed-Search / Feed-Discovery

  • Provide single Dialog to search Feeds on topic or website Image:medium.gifImage:ms7.gif
  • Make the search-engine contributable

Searchmarks

  • Consider providing a default one for showing deleted News (Bug 33) Image:medium.gifImage:ms7.gif
  • Provide some default SearchMarks (Bug 34) Image:ms5.gif

Profiles

  • Allow to switch Profiles (Bug 7)
  • Allow to create/edit/delete profiles

Performance

Personal tools