RSSOwl Boreal Owl Roadmap
From RSSOwl
Contents |
[edit]
Introduction
This page describes the plan of releasing an early alpha of RSSOwl 2.0 to the public.
[edit]
Release deliverables
The release deliverables have this form:
- RSSOwl Application Release
- Source Code Release
[edit]
Release milestones
Release milestones, occurring at roughly 4 week intervals, exist to facilitate coarse-grained planning and staging. The milestones are:
- Sunday, Sept. 10, 2006 - Milestone 1 (2.0 M1) - stable build: SVN r1364
- Sunday, Oct. 08, 2006 - Milestone 2 (2.0 M2) - stable build: SVN r1656
- Sunday, Nov. 12, 2006 - Milestone 3 (2.0 M3) - stable build: SVN r1912
- Wednesday, Dec. 27, 2006 - Milestone 4 (2.0 M4) - stable build: SVN r2210
- Friday, Mar. 02, 2007 - Milestone 5 (2.0 M5) - stable build: SWN r3181
- 2007 - Milestone 5eh (2.0 M5eh)
- 2007 - Milestone 6 (2.0 M6)
- 2007 - Milestone 7 (2.0 M7)
- 2007 - Milestone 8 (2.0 M8)
Each Milestone is completed by testing the functionality that was added and making sure no regressions have occurred.
[edit]
Release name
[edit]
Target operating environments
We should make sure that RSSOwl 2.0 Alpha is running well on these platforms:
- Microsoft Windows XP
- Linux Fedora Core
- Linux Suse
- Apple MacOSX
[edit]
Annotations
-
: Task has a high priority
-
: Task has a medium priority
-
: Task has a low priority
-
: Task is in progress
-
: Task has a target of Milestone 3
- Green: Task is done
[edit]
Top Items for next Milestones
- Improve Performance (RSSOwl Performance & Footprint Tasks)
- Discuss API
- Search
- DAO-Classes
- IApplicationLayer
- NewsModel-Facade
[edit]
RSSOwl Core
[edit]
Model / Toplink
- Complete integration for all Entities


- Decide on which Types really require a relation to their parents
- Checkout "exclude-unlisted-classes" to contribute new managed Entities
- Support reparenting for Folders and Marks (Bug 5)


- Provide a DAO for each Entity


[edit]
Database
[edit]
Connection
[edit]
Preferences
[edit]
Searchmarks
- Review Model (Bug 12)

- Decide on performant way to reflect changes to search-results

[edit]
Code Review
- Decide on what is Public API

- Decide on JPA being a Fragment or not

- Check by making a build and run outside Eclipse
- Decide on embedded DB being Fragment or not
- Check by making a build and run outside Eclipse
[edit]
Extension Story
- Review all Extension-Points

- How easy is it to contribute a new Entity?
- How easy is it to change an existing Entity?
- Consider implementing Participant-Hooks

- Participate in the Feeds URI
- Participate in the Feeds InputStream
- Participate in the Feeds Document
- Make ExtensionPoints aware of dynamic contributions

- Listen to contributions being enabled/disabled during runtime and react properly
- Document and open all Managers for Toolbars, Menus and Co.

- Support contributions to Filters and Sorters for Explorer and FeedView

[edit]
Logging
- Make sure to have a complete logging solution in place for the release (Bug 63)

[edit]
Performance
- See also RSSOwl Performance & Footprint Tasks
- Profile DB operations and optimize

- Optimize DateUtils DateFormat-Cache so that accessing Threads are not blocked
- Make sure to have indeces for Columns that are part of queries (Bug 39)
- Compare performance between embedded DBs like H2 and HSQLDB

- Compare using default Profile vs. HSQLPlatform
- Investigate DB properties
- Control Entity cache-settings on per Entity-Basis

[edit]
RSSOwl UI
[edit]
General
- Decide on better Error messages (Bug 87)
- Avoid showing Error Dialog from reloading feeds
- Think about how Feed- and News-View should react on Selection-Changes
[edit]
View vs. Editor
[edit]
Presentations
- Review R2.1 Presentation

- Provide a presentation that matches the RSSOwl 1.0 Look and Feel

- Consider defining default colors to not indicate the current focussed View

- Investigate wether its possible to use SWT.SINGLE Style for any View/Editor

- Investigate wether its possible to prohibit stacking of Views (Yes: Use stand-alone Views)
[edit]
Bookmark Explorer
- Implement "Manage Bookmark-Sets" (add, delete, update)
- Custom draw number of unread News

- Investigate adding actions for: Reload All, Mark All Read, Link with Feed View
- Decorate Folders differently based on New, Updated or Unread News
- Investigate decorating BookMarks differently based on New, Updated or Unread News?
- Grouping
- Expand Nodes that contain a Selection (using setSelection(ISelection, true))
- inside GroupItem sort by Date / Popularity unless "Group by Name" is on
- Performance
- Avoid refresh() calls as reaction on Events
- Consider just using add() and remove()
- Avoid refresh() calls as reaction on Events
- Improve Usability
- 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
- Decide on keeping Folders expanded when changing to Filter / Group display
[edit]
Feed View
- Decide on a list of default columns that are displayed
- Store order, size and list of selected columns in preferences

- Review what JFace TreeViewer provides to work with TableTrees
- Never show horizontal scrollbar. Always let Columns fit available width

- Decorate News differently based on New, Updated or Unread News
- Add some common actions to Elements of the View
- Delete
- Mark Read / Mark Unread
- Mark All Read
- Label
- Flag
- Support for Grouping/Filtering
- 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
[edit]
News View
- Change HTML to be based on a flexible CSS Stylesheet

- Allow contributions on CSS Styles

- Leverage a central option to control the used Stylesheet

- Later: Consider an option per Feed
- Consider calling writer.newLine() in Server instead of using "\n"
- Use the <base> Tag in the HTML output</a>
- Find a strategy for sorting the News
- Find a place for adding an input-field for the adress
- Let the View react on News and Feed-Events
- Allow to open a Link in the external Browser
[edit]
Browser Support
[edit]
Wizards
[edit]
Feed-Search / Feed-Discovery
[edit]
Searchmarks
- Consider providing a default one for showing deleted News (Bug 33)

- Provide some default SearchMarks (Bug 34)

[edit]
Profiles
- Allow to switch Profiles (Bug 7)
- Allow to create/edit/delete profiles
[edit]
Performance
- See also RSSOwl Performance & Footprint Tasks
- NewsView: Load News using a single DB Connection (Bug 127)
- Avoid Long-Ops running in UI-Thread
