← Back to team overview

software-store-developers team mailing list archive

Re: [Blueprint consumer-p-software-center-enhancements] Software Center Roadmap for Precise

 

On Tue, Nov 8, 2011 at 4:43 AM, Gary Lasker <gary.lasker@xxxxxxxxxxxxx> wrote:
> Blueprint changed by Gary Lasker:
>
> Whiteboard changed:
>  == GOAL ==
>  The primary focus for the Ubuntu Software Center during the Precise cycle will be on stability, improving startup time

Hi Gary! Just so it doesn't get lost, I was chatting with nzmm and
kiwinote about this while at UDS. As I understood it, the problem is
the time taken to generate the UI display components based on the data
in the database (and other sources)? If that (or similar) is the case,
we then chatted about the possibility of caching the ui display layout
so it can be loaded immediately on startup, and recalculated shortly
there-after (in case there are changes since the last time it was run)
for the display (and updating of the cache).

There could even be a command that would create the ui display cache
so that it can be pre-generated during an update of the package, or
similar.

-Michael

> and other performance improvements, and cleanup of any remaining rough edges after the move to the new user interface. We will implement new development processes to increase quality and facilitate development velocity, and we will significantly expand and improve our unit test suite. New feature development will be limited and targeted. These will include completing the enhanced Unity launcher integration feature that was begun during the Oneiric cycle, a new recommendations feature (covered in a separate blueprint), as well as various enhancements to the user interface.
>
>  Work items:
>  Draft a wiki document describing development processes and policies for Software Center (https://wiki.ubuntu.com/SoftwareCenter/ProjectPolicies): DONE
>  [mmcg069] Implement support for multiple screenshots in the details view:  DONE
> +
> + ---
>
>  Session notes:
>
>  == Performance ==
>   * Startup time
>    * Startup time on reference hardware (Dell Mini 10) tracked at:
>     * For Oneiric (and current Precise):
>      * http://people.canonical.com/~mvo/software-center/mini10-startup/start-times-oneiric.png
>      * ~6-7s startup
>     * For Natty (by way of comparison):
>      * http://people.canonical.com/~mvo/software-center/mini10-startup/startup-times.png
>      * ~3s startup
>    * USC 5.0.2 update in Precise and Oneiric (SRU) is a nice improvement, but more to come
>    * Bug for tracking https://bugs.launchpad.net/bugs/876210
>    * Startup time when opening a standalone deb or clicking an apt url link
>   * Other performance issues
>    * "History is very slow to load": https://bugs.launchpad.net/bugs/879185
>    * Install view loading time/reload each time selected
>
>  == Unit Tests ==
>   * Current unit test coverage is 68% for Software Center 5.0.2
>    * Report at http://people.canonical.com/~tremolux/software-center/coverage_html/
>   * Coverage target for Precise: TBD
>   * Automatic i18n testing
>   * Automatically running the testsuite using something like jenkins
>
>  == Development and Process ==
>   * https://wiki.ubuntu.com/UbuntuEngineering/12.04/UpstreamDevelopment
>   * clean up code structure to (among other important things) facilitate unit tests
>   * make a chart for unit test coverage similar to our startup time
>   * Improve developer documentation, common pitfalls (like usage of _()) how we expect patches, our development process
>   * Overview of contributer docs (ie. architecture, writing tests etc.), as this is a source of the translation bugs.
>  Also because our code structure - having to follow through lots of files to debug something.
>   * More code reviews - building a code-review culture.
>   * The other thing we want to do is expand test-coverage. We're not doing too bad, but lots of room to improve.
>   * We don't want to make it suck to contribute by being too restrictive (branch must do X and Y etc.), while at the same time building a helpful process.
>
>  == Enhanced Unity Launcher Integration ==
>   * Specification at https://wiki.ubuntu.com/SoftwareCenter/#Learning_how_to_launch_an_application
>   * Software Center side near complete (needs updating for 5.0 user interface)
>    * lp:~gary-lasker/software-center/launcher-integration-for-o
>   * Unity side in-progress
>    * https://code.launchpad.net/~bilalakhtar/unity/software-center-integration-for-o
>
>  == Additional Tile Views for Subcategories and Exhibits ==
>   * https://wiki.ubuntu.com/SoftwareCenter#subcategory
>   * We have tiles showing up on the home screen and category screens / search results etc., we'll also want these in category/sub-category lists.
>
>  == Installed View Improvements ==
>   * Scroll position isn't remembered going Back/Forward to "Installed": https://bugs.launchpad.net/bugs/828887
>   * Expanding and collapsing items in the 'Installed' tab needs work: https://bugs.launchpad.net/bugs/877130
>
>  == OneConf Enhancements ==
>   * optimize performance
>   * add back search capability inside the oneconf view
>   * there will be a oneconf session on Friday
>
>  == Displaying multiple versions of a application (from e.g. the -backports branch) ==
>   * Making newer versions of software more accessible to users.
>   * Already specified at https://wiki.ubuntu.com/SoftwareCenter#updates
>
>  == Other Ideas and Miscellaneous Topics ==
>   * python3, code style, tests, docstrings,
>   * the store db tweaks & improvements,
>   * bringing some of the synaptic actions to usc, reinstall, update, pin a version ... which would we want?
>    * Reinstalling: https://wiki.ubuntu.com/SoftwareCenter#reinstalling
>    * Backports and other optional updates: https://wiki.ubuntu.com/SoftwareCenter#updates
>   * video clips
>   * system capabilities (e.g. to know if a app needs full opengl or not)
>   * plugin architecture
>   * improve cdrom support
>   * Seb24 :
>    * "XX items in the list" in the list
>    * New categories : ebook, Indicator, lens and scopes
>    * update/upgrade directly in SC ?
>   * dpm: Useful to report bugs in other languages.
>   * mvo: Accessibility (ties into testing, as it'll help run ldtp)
>   * Check with Mikail about whether Dash/Lenses should be something we're starting to focus on.
>   * Update to Python 3? mvo is doubtful (dbus and xapian) - mvo will go to the python3 session.
>   * kiwinote's new db-backend: we'll need to do a risk-assessment and see when we can ship it.
>   * Supporting videos: hosting and streaming ourselves, or using a service (without breaking their terms), such as using webkit to render youtube flash/html5 player).
>   * Supporting multiple screenshots (or localized screenshots?)
>   * We need to develop plugin apis and docs. What type of plugins do we want to support? Eg. A plugin that we want to use to create a download bundle - a bundle of apps in a single download that you can take to a friend on your usb stick. The point is to foster creativity for this kind of thing. And once we have the api, we should refactor our own code to use it also.
>   * New user interface for a help or support action, or even refund for for-pay apps. mpt drafted an interface design for it:
>    *https://wiki.ubuntu.com/SoftwareCenter#isv-support
>
>  tremolux 11.07: Moved session notes for the Recommendations feature to
>  the corresponding blueprint at
>  https://blueprints.launchpad.net/ubuntu/+spec/consumer-p-software-
>  center-recommendations
>
> --
> Software Center Roadmap for Precise
> https://blueprints.launchpad.net/ubuntu/+spec/consumer-p-software-center-enhancements
>



-- 
Michael Nelson
Canonical Ltd.
+49 176 491 53481 (mob)
michael.nelson@xxxxxxxxxxxxx
IRC nick: noodles (noodles775 on Freenode)
Ubuntu - Linux for human beings | www.ubuntu.com | www.canonical.com