Dash component for Unity Next

Registered by kevin gunn

This blueprint is meant to capture the features per spec of the Dash evolution for UnityNext. This includes a variety of optimizations, lens filtering and preview work in the ui elements for the dash.

Acceptance criteria 13.04-month-6: (aka April)
#1) user should be able to see marked reduction in memory consumption of Dash (currently ~90MB before view is shown due to preload, reimlpemented listview should address this)
#2) Deliver change to Dash that enables a user to close/exit running applications from the Dash application view

Acceptance criteria
13.06 - deliver Dash integrated against real scopes, users will see real local & internet results in the lenses

Blueprint information

Unity Team
Needs approval
Unity UI Team
Series goal:
Accepted for saucy
Milestone target:
milestone icon ubuntu-13.10
Started by
kevin gunn
Completed by
kevin gunn

Related branches



March 27, 2013 : kgunn - note, Design team User Stories will begin to be used to drive development
https://docs.google.com/a/canonical.com/document/d/1BGS07E2kp6XPvtg0JeTtS-k1vjRhBW3BVSn7CcC0y2o/edit (in this doc you can see comments Olli, kgunn, Saviq have made)

mar 28, 2013: kgunn - wrt reimplementing listview for page header, memory should be reduced from what was recorded in earlier bug
2) dash (90MB)
       home (33MB)
       music (30MB) (= 40x 0.6MB Image in AlbumTile)
       apps (8MB)
       videos (28MB)
       people (21MB)

April 3rd, 2013: saviq

We want the apps lens to display and launch dynamically installed apps. The following needs to happen for that to work:
1) desktop apps lens is installed and works on the device but:
    - it uses a custom renderer (DashApps.qml) with hardcoded content; switching to using GenericLensView.qml works but then misses the list of running applications (Prototype inlp:~manhattan-team/manhattan/real_apps_lens)
    - does not know about Frequently Used apps; add ubuntu-platform-api support to Zeitgeist so that it knows about apps being launched.

A temporary solution was implemented, but changes in the backends need to happen to further that work.

Apr 11, 2013: kgunn
"Places" master scope added to Dash design

Jul 30th, 2013: Saviq items from IoM slides
Change from bottom bar to tab based navigation TODO
Category expansion TODO
Swipe between previews TODO
Invoke search box with edge swipe TODO
Filtering navigation and filters IN PROGRESS
Progress indicators TODO
Index view TODO


Work Items

Work items for ubuntu-13.04-month-5:
[paulliu] modify the apps lens to provide stage hint (X-Ubuntu-Stage=main/side [default main]) [descoped]: DONE
[paulliu] tweak categories in apps lens [descoped]: DONE
[schwann] transition Carousel to ListView to reduce memory: DONE

Work items for ubuntu-13.04-month-6:
[saviq] transition Apps view to use real data from the lens: DONE
[paulliu] modify the apps lens to filter out phone-only apps (X-Ubuntu-Touch=true/false [default false]): DONE
[aacid] review FilterGrid: DONE
[aacid] review SortFilterProxyModel: DONE
[dandrader] Implement (port old branch) ability to close applications by tapping on their thumbnails on the Dash, to enable User Story (reference in whiteboard): DONE
[saviq] review allowed filter types with design: DONE

Work items for ubuntu-13.05:
[aacid] review ListViewWithPageHeader (fixme & todo) (Wait for C++ reimplementation), done as it will be part of reimplementation activity: DONE
[aacid] fix QTBUG-28403 upstream: DONE
[aacid] reevaluate QTBUG-27997 (Decided 'unfixable'): DONE
[saviq] enable search in Apps (temporary solution): DONE
[aacid] Find out why Listview-ed Carousel crashes on search: DONE
[aacid] Backport Qt 5.1 Listview fixes to Qt 5.0.x: DONE
[aacid] Remove SortFilterProxyModel::get and its uses: DONE

Work items for ubuntu-13.06:
[aacid] get QTBUG-28403 in distro packages: DONE
[saviq] Go back to using the Listview-ed Carousel: DONE
Drop People lens: DONE

Work items for ubuntu-13.07:
[nick-dedekind] add test for Dash/Dash.qml: DONE
[aacid] reimplement ListViewWithPageHeader as a C++ View: DONE
[aacid] Remove workarounds for QTBUG-28403: DONE
[aacid] Make Qt ListView/GridView accept a rectangle to create delegates, instead creating them for all its height: DONE
[aacid] Get the patch that makes Qt ListView/GridView accept a rectangle to create delegates, instead creating them for all its height accepted in upstream Qt (they have rejected the patch https://codereview.qt-project.org/#change,60809): DONE

Work items for ubuntu-13.08:
[saviq] review / fix performance of the OpenEffect: DONE
[mzanetti] experiment for reducing memory usage, potential unload of offscreen images: BLOCKED
[oreneeshy] define filter widgets/components: DONE
[nicolas-doffay] implement testable/tested filter widgets/components: DONE
[nicolas-doffay] integrate filters into the dash: DONE
[stolowski] integrate filtering with the Unity API backends (dependent on new Unity APIs): DONE
[paulliu] implement a scheme to dynamically load previews: DONE
[mhr3] move the Unity bindings out from shell and into Unity API's jurisdiction: DONE
[mhr3] enable search in Home (dep on Unity APIs): DONE
[aacid] implement category expansion: DONE

Work items for ubuntu-13.09:
[aacid] Get the patch that makes Qt ListView/GridView accept a rectangle to create delegates, instead creating them for all its height accepted as a distro-patch: DONE

Work items for ubuntu-13.10:
[aacid] Use the listview delegate creation range for category contents: DONE

Work items for ubuntu-13.11:
[stolowski] create a Recent Apps subscope based on unity-mir app manager: POSTPONED
implement the music preview: DONE
[mhr3] switch all the lenses to use a generic ScopeView with renderers determined by the scopes: DONE
implement all required preview types: POSTPONED
[mzanetti] Swipe between previews: DONE

Work items for ubuntu-14.01:
[aacid] implement tab-style navigation in dash: DONE

Work items:
[kalikiana] fix/merge DeeVariantText into dee-qt (lp:~kalikiana/dee-qt/deevarianttext) (only needed if we upstream as is): POSTPONED
Enable preview of music playback: DONE
implement Journal display (see Dash design link in whiteboard circa apr11): DONE
potentially move OpenEffect to the SDK: POSTPONED
Enable 3rd party widgets in the dash: DONE

Dependency tree

* Blueprints in grey have been implemented.

This blueprint contains Public information 
Everyone can see this information.