RSSReader
|
Size: 3189
Comment:
|
Size: 6478
Comment:
|
| Deletions are marked like this. | Additions are marked like this. |
| Line 106: | Line 106: |
= Development Document of RSS reader = created by Joey Chan <qqworini@gmail.com> 2013, April, 16th 14:22 GMT +8 == 1. architecture == * I assume that pure qml is the primary solution for Ubuntu touch development, so the architecture I talk about here is base on pure qml === 1.1 database === ==== 1.1.1 description ==== database is one of the most important part of RSS project, because most of functions depend on the data stored in the database. For example, RSS feeds should be stored in the database in case no Internet access available, and management of those feeds. ==== 1.1.2 functions ==== * feeds management, like add, modify or delete feeds; * offline mode, like reed the RSS feeds after download them; * tags(kind of category), like tag a feed as “Ubuntu”, so this feed belongs to “Ubuntu” category; * favourite, mark an item of an RSS feed, this item should be save into database; etc................... ==== 1.1.3 implement ==== QtQuick.LocalStorage can be a good solution, some say it works much slower than the C++, if so, we should consider other options; Another good option is U1DB, which is a qml database plugin created by Canonical, stay tuned; === 1.2 network === ==== 1.2.1 description ==== network is important for RSS project because all data comes from Internet, so far I think the only function in this part is just “download feeds”. ==== 1.2.2 functions ==== * download the content of RSS feeds, download the content of a xml file * download image for offline use ==== 1.2.3 implement ==== XmlHttpRequest which is well known as Ajax could do this, but seems XmlHttpRequest in Qt5 is not the level 2 version which can download binary data directly. * We are waiting for a "powerful backend" created by the Ubuntu-SDK team, stay tuned; === 1.3 UI === ==== 1.3.1 description ==== I assume that the UI structure use “tabs” as primary, we can put all main functions to these tabs ==== 1.3.2 functions ==== * view RSS feeds * feeds management * tags * favourite (or read later) * setting etc..................... ==== 1.3.3 implement and designs ==== there’s no any detailed designs available so far, so I don't have any comments here. == 2. main functions == === 2.1 view RSS feeds === according to https://ubuntu.mybalsamiq.com/projects/ubuntuphonecoreapps/grid , there are two mode for viewing RSS feeds, mosaic and list. Both mode can be clicked and turn to another page which shows the detail of an RSS feed. === 2.2 feeds management === search, add, modify and delete RSS feeds. === 2.3 tags === mark an RSS feed to classify it to a specific category. === 2.4 favourite (or read later) === mark an item and save it to local database. === 2.5 setting === settings of view mode, refresh interval, network access mode, database etc.. == 3. UI designs == ( can someone create an awesome design .. ? ) Well, a design team from Canonical is ready for it :) == 4. our next step == === 4.1 database design === we need a complete database design, which can be converted to sql code. The design should include all tables and all fields needed by main functions. === 4.2 first demo === we aim to have a demo before 2013-05-16 |
Ubuntu Touch Core Apps Project: |
|||||||||||
RSS Reader
This web page is where we are coordinating the work to build an RSS Reader application for the Ubuntu Phone that could also extend to other form factors too with the responsive design features built into the Ubuntu SDK
The Details |
|
Launchpad Project |
|
Launchpad Team |
|
IRC Channel |
#ubuntu-touch on Freenode |
Blueprint |
Meetings
Meetings are held in the #ubuntu-touch channel on Freenode IRC.
- Next Meeting:
- TDB
- Previous Meetings:
User Stories
Note: please don't add user stories here. We are defining these as a limited set to keep the scope more limited to get out a first version.
- Must Have: I want to see a specific RSS feed
- Must Have: I want to manage my feeds (add, modify, delete)
- Must Have: I want to view a list of my current feeds
- Should/Could Have: Share feed, tagged list etc.
- Should/Could Have: Tagging?
- Could Have: Add page as a bookmark (i.e. before opening the url in a browser)
Functional Requirements
Note: likewise, please don't add functional requirements here. We are defining these as a limited set to keep the scope more limited to get out a first version.
- Sync/update a feed
- Managing feeds (e.g. configuration)
- Select a feed from a list for viewing
- Select an entry from the currently viewed feed
- Should/Could Have: Add tags to records
- Should/Could Have: View list based on tags
Design
Some early designs based on the mockups from MyBalsamiq have been added below:
Article List View
Article Content view
Add Feed
- Needed
Edit Feed
- Needed
Delete Feed
- Needed
Filter list by Feed
- Needed
Add Tag
- Needed
Edit Tag
- Needed
Delete Tag
- Needed
Tag/Untag an Article
- Needed
Filter list by Tags
- Needed
How To Add Your Design
To contribute design, first ensure you have picked an app and then read the App Design Guides.
Next, send an email to David Planella (david.planella AT canonical DOT com) and Michael Hall (michael.hall AT canonical DOT com) to ask to be added to MyBalsamiq (this is the system we use for creating mock-ups.
Now look at each of the screens listed in the project in the Design section and view any existing designs.
If a design matches how you think it should look but with a few changes, please don't create a new design but instead leave comments on the design itself.
If there is either no design or you would like to propose a new design, simply create the design in MyBalsamiq on https://ubuntu.mybalsamiq.com/projects/ubuntuphonecoreapps/grid. Please be sure to use the Phone container and add your design inside it.
Now link your design under the right screen heading below and using the following format:
* [[https://ubuntu.mybalsamiq.com/projects/ubuntuphonecoreapps/YOURDESIGN|Your Name]] - summary of your design
As an example:
Jono Bacon - a simple example of a sample app.
Implementation
This is where the spec will be.
Development Document of RSS reader
created by Joey Chan <qqworini@gmail.com> 2013, April, 16th 14:22 GMT +8
1. architecture
* I assume that pure qml is the primary solution for Ubuntu touch development, so the architecture I talk about here is base on pure qml
1.1 database
1.1.1 description
database is one of the most important part of RSS project, because most of functions depend on the data stored in the database. For example, RSS feeds should be stored in the database in case no Internet access available, and management of those feeds.
1.1.2 functions
* feeds management, like add, modify or delete feeds; * offline mode, like reed the RSS feeds after download them; * tags(kind of category), like tag a feed as “Ubuntu”, so this feed belongs to “Ubuntu” category; * favourite, mark an item of an RSS feed, this item should be save into database; etc...................
1.1.3 implement
QtQuick.LocalStorage can be a good solution, some say it works much slower than the C++, if so, we should consider other options; Another good option is U1DB, which is a qml database plugin created by Canonical, stay tuned;
1.2 network
1.2.1 description
network is important for RSS project because all data comes from Internet, so far I think the only function in this part is just “download feeds”.
1.2.2 functions
* download the content of RSS feeds, download the content of a xml file * download image for offline use
1.2.3 implement
XmlHttpRequest which is well known as Ajax could do this, but seems XmlHttpRequest in Qt5 is not the level 2 version which can download binary data directly.
* We are waiting for a "powerful backend" created by the Ubuntu-SDK team, stay tuned;
1.3 UI
1.3.1 description
I assume that the UI structure use “tabs” as primary, we can put all main functions to these tabs
1.3.2 functions
* view RSS feeds * feeds management * tags * favourite (or read later) * setting etc.....................
1.3.3 implement and designs
there’s no any detailed designs available so far, so I don't have any comments here.
2. main functions
2.1 view RSS feeds
according to https://ubuntu.mybalsamiq.com/projects/ubuntuphonecoreapps/grid , there are two mode for viewing RSS feeds, mosaic and list. Both mode can be clicked and turn to another page which shows the detail of an RSS feed.
2.2 feeds management
search, add, modify and delete RSS feeds.
2.3 tags
mark an RSS feed to classify it to a specific category.
2.4 favourite (or read later)
mark an item and save it to local database.
2.5 setting
settings of view mode, refresh interval, network access mode, database etc..
3. UI designs
( can someone create an awesome design .. ? )
Well, a design team from Canonical is ready for it
4. our next step
4.1 database design
we need a complete database design, which can be converted to sql code. The design should include all tables and all fields needed by main functions.
4.2 first demo
we aim to have a demo before 2013-05-16
Touch/CoreApps/RSSReader (last edited 2015-07-10 19:24:03 by 173-109-70-164)