Plasma/Next: Difference between revisions

From KDE Community Wiki
No edit summary
(new content: overall description, lists have moved into subpages)
Line 1: Line 1:
= Functional Blocks of Plasma Next =
= Functional Blocks of Plasma Next =


= Desktop UX Elegance and Consistency =


= Plumbing / Underlying Infrastructure =
Many things are managed by different processes, or even completely different
projects (like login manager). But the user doesn't care about that, so the
idea is to give it a grand unified look, even if they keep being different
things internally. So, the potential places identified, in order of startup
are:
        * Login screen
        * Splash
        * Some Kwin effect, such as Alt+Tab
        * Lock screen
        * Fast user switching
        * Logout screen


== appmenu ==
These are all just defaults. We will need a user tweakage UI for Look 'n Feel
component settings and such things.


==== Goal ====


We discussed ways to bring some visual and behavior consistency to these different things, e.g. all modal parts really ought to look and work exactly the same way so they feel continuous. So some things in the workspace ui are a modal, interrupting thing like the login screen, the splash, the lockscreen, the user switching the logout dialog. Other things are non-modal like activity switching; some are semi-modal like Alt+Tab (semi-modal -> strictly speaking they are modal, but they are features to aid the user through transitions and so it doesn't actually block workflow). This part of plasma2 is our opportunity to rethink how some of the core UX components are presented


==== Related Epics ====
Improved the session management process
* Look and Feel Package: ...
* Desktop elegance: ...
* Session management process: ...


==== Integration Story ====
During Tokamak6 in March, we put the options for the startup procedure on the table, and realized that we have 4 unsatisfying solutions: startkde, startactive, systemk, and systemd scripts.


Goals for the Startup:
* fast startup (as few processes as possible, minimal set of actions, highest performance options)
* respect dependencies between components (component B requires A, so start component A before B)
* seamless (no resolution changes visible, no shifting wallpapers)
* declarative (easy to extend/improve, not tied to a single system)


==== Porting status ====


= Time Based Goals =


==== Roadmap ====
~Quarterly milestone releases with public communication (blogs and announcements) and tarballs


* Mid-December 2013
    * "Proof of Life" technology demonstration release
    * Dogfoodable
    * Basic functionality in place, then we can tackle UI and new concepts from there
    * Hardware experience


==== Maintainer ====
* EOM March 2014
    * Technology demonstration release 2
    * Wayland session
    * Look 'n Feel package support implemented in all affected components
    * Session management and startup++, kded4 / ksmserver / etc


* EOM June 2014:
    * The UX as we imagine it (yes, vague, we have a lot of definitional work to do there)
       


EPIC GOALS:
* Look 'n Feel system
* Desktop UX Elegance and Consistency
* Improve the session management process


== kactivitymanager ==


==== Goal ====
== Project Management Framework ==


* We identify the main component domains for plasma 2 (e.g. "hardware experience") and ensure there is at least one coordinator for each (e.g. afiestas for "hardware experience")
* We've actually already identified the main components when we did that big listing. the lists are the sub-components, the headings are the main components
* That coordinator (or 2) ensures that all of the sub-components in the domain they coordinate has an acknowledge maintainer for the plasma2 development effort
* If there is a maintainer missing, we need to mark that down as well
* For each domain component (e.g. "screen savers" in "desktop UI"), the maintainer needs to develop two stories:
* the porting story -> what needs to be done to make it awesome on Qt5/FW5
* the goals story -> how does work that is being done (or needs to be  done) meet each of the 3 epic goals we have


==== Related Epics ====
This will let us all know where we are individually heading and provide input without having to have giant meetings like this one constantly
* Look and Feel Package: ...
* Desktop elegance: ...
* Session management process: ...


==== Integration Story ====
* The coordinator for each domain will work with the people working on that code to develop and document a time based plan that matches the milestone goals
 
This will let us know when we should be able to expect things, identify when things need more people working on them (because they aren't meeting their goals)
 
* Some time goals won't be known right away, and that's ok; those components can be marked with "time unknown" or "defered, waiting on <whatever is blocking>"
==== Porting status ====
* 2 people will co-maintain a project management position that oversees the entire documentation process, prodding people where necessary, working with coordinators to complete their areas, and then making sure that there is a global consistency to the planning
 
* sebas and aseigo take on overall coordination
 
* research into tools to replace wiki-based lists
==== Roadmap ====
        * PW2Todo becomes the todo list that feeds from the PM we document together
 
 
==== Maintainer ====
 
 
== kcheckpass ==
 
==== Goal ====
 
 
==== Related Epics ====
* Look and Feel Package: ...
* Desktop elegance: ...
* Session management process: ...
 
==== Integration Story ====
 
 
==== Porting status ====
 
 
==== Roadmap ====
 
 
==== Maintainer ====
 
 
== kcminit ==
 
==== Goal ====
 
 
==== Related Epics ====
* Look and Feel Package: ...
* Desktop elegance: ...
* Session management process: ...
 
==== Integration Story ====
 
 
==== Porting status ====
 
 
==== Roadmap ====
 
 
==== Maintainer ====
 
 
== kded ==
 
==== Goal ====
 
 
==== Related Epics ====
* Look and Feel Package: ...
* Desktop elegance: ...
* Session management process: ...
 
==== Integration Story ====
 
 
==== Porting status ====
 
 
==== Roadmap ====
 
 
==== Maintainer ====
 
 
== kglobalacceld ==
 
==== Goal ====
 
 
==== Related Epics ====
* Look and Feel Package: ...
* Desktop elegance: ...
* Session management process: ...
 
==== Integration Story ====
 
 
==== Porting status ====
 
 
==== Roadmap ====
 
 
==== Maintainer ====
 
 
== knotify4 ==
 
==== Goal ====
 
 
==== Related Epics ====
* Look and Feel Package: ...
* Desktop elegance: ...
* Session management process: ...
 
==== Integration Story ====
 
 
==== Porting status ====
 
 
==== Roadmap ====
 
 
==== Maintainer ====
 
 
== ktimezoned ==
 
==== Goal ====
 
 
==== Related Epics ====
* Look and Feel Package: ...
* Desktop elegance: ...
* Session management process: ...
 
==== Integration Story ====
 
 
==== Porting status ====
 
 
==== Roadmap ====
 
 
==== Maintainer ====
 
 
== ktouchpadenabler ==
 
==== Goal ====
 
 
==== Related Epics ====
* Look and Feel Package: ...
* Desktop elegance: ...
* Session management process: ...
 
==== Integration Story ====
 
 
==== Porting status ====
 
 
==== Roadmap ====
 
 
==== Maintainer ====
 
 
== kuiserver ==
 
==== Goal ====
 
 
==== Related Epics ====
* Look and Feel Package: ...
* Desktop elegance: ...
* Session management process: ...
 
==== Integration Story ====
 
 
==== Porting status ====
 
 
==== Roadmap ====
 
 
==== Maintainer ====
 
 
== kwalletd ==
 
==== Goal ====
 
 
==== Related Epics ====
* Look and Feel Package: ...
* Desktop elegance: ...
* Session management process: ...
 
==== Integration Story ====
 
 
==== Porting status ====
 
 
==== Roadmap ====
 
 
==== Maintainer ====
 
 
== kwrited ==
 
==== Goal ====
 
 
==== Related Epics ====
* Look and Feel Package: ...
* Desktop elegance: ...
* Session management process: ...
 
==== Integration Story ====
 
 
==== Porting status ====
 
 
==== Roadmap ====
 
 
==== Maintainer ====
 
 
== metadata ==
 
==== Goal ====
 
 
==== Related Epics ====
* Look and Feel Package: ...
* Desktop elegance: ...
* Session management process: ...
 
==== Integration Story ====
 
 
==== Porting status ====
 
 
==== Roadmap ====
 
 
==== Maintainer ====
 
 
== Online Accounts ==
 
==== Goal ====
 
 
==== Related Epics ====
* Look and Feel Package: ...
* Desktop elegance: ...
* Session management process: ...
 
==== Integration Story ====
 
 
==== Porting status ====
 
 
==== Roadmap ====
 
 
==== Maintainer ====
 
 
== Shell Switching Controls ==
 
==== Goal ====
 
 
==== Related Epics ====
* Look and Feel Package: ...
* Desktop elegance: ...
* Session management process: ...
 
==== Integration Story ====
 
 
==== Porting status ====
 
 
==== Roadmap ====
 
 
==== Maintainer ====
 
 
== Statusnotifierwatcher ==
 
==== Goal ====
 
 
==== Related Epics ====
* Look and Feel Package: ...
* Desktop elegance: ...
* Session management process: ...
 
==== Integration Story ====
 
 
==== Porting status ====
 
 
==== Roadmap ====
 
 
==== Maintainer ====
 
 
= Session Management =
 
== Fast user switch ==
 
==== Goal ====
 
 
==== Related Epics ====
* Look and Feel Package: ...
* Desktop elegance: ...
* Session management process: ...
 
==== Integration Story ====
 
 
==== Porting status ====
 
 
==== Roadmap ====
 
 
==== Maintainer ====
 
 
== ksmserver ==
 
==== Goal ====
 
 
==== Related Epics ====
* Look and Feel Package: ...
* Desktop elegance: ...
* Session management process: ...
 
==== Integration Story ====
 
 
==== Porting status ====
 
 
==== Roadmap ====
 
 
==== Maintainer ====
 
 
== ksplash ==
 
==== Goal ====
 
 
==== Related Epics ====
* Look and Feel Package: ...
* Desktop elegance: ...
* Session management process: ...
 
==== Integration Story ====
 
 
==== Porting status ====
 
 
==== Roadmap ====
 
 
==== Maintainer ====
 
 
== Lock screen ==
 
==== Goal ====
 
 
==== Related Epics ====
* Look and Feel Package: ...
* Desktop elegance: ...
* Session management process: ...
 
==== Integration Story ====
 
 
==== Porting status ====
 
 
==== Roadmap ====
 
 
==== Maintainer ====
 
 
== Login / Display Manager ==
 
==== Goal ====
 
 
==== Related Epics ====
* Look and Feel Package: ...
* Desktop elegance: ...
* Session management process: ...
 
==== Integration Story ====
 
 
==== Porting status ====
 
 
==== Roadmap ====
 
 
==== Maintainer ====
 
 
== Log out UI ==
 
==== Goal ====
 
 
==== Related Epics ====
* Look and Feel Package: ...
* Desktop elegance: ...
* Session management process: ...
 
==== Integration Story ====
 
 
==== Porting status ====
 
 
==== Roadmap ====
 
 
==== Maintainer ====
 
 
== startkde ==
 
==== Goal ====
 
 
==== Related Epics ====
* Look and Feel Package: ...
* Desktop elegance: ...
* Session management process: ...
 
==== Integration Story ====
 
 
==== Porting status ====
 
 
==== Roadmap ====
 
 
==== Maintainer ====
 
= Hardware Experience =
 
== Bluetooth ==
 
==== Goal ====
 
 
==== Related Epics ====
* Look and Feel Package: ...
* Desktop elegance: ...
* Session management process: ...
 
==== Integration Story ====
 
 
==== Porting status ====
 
 
==== Roadmap ====
 
 
==== Maintainer ====
 
 
== Disk Management ==
 
==== Goal ====
 
 
==== Related Epics ====
* Look and Feel Package: ...
* Desktop elegance: ...
* Session management process: ...
 
==== Integration Story ====
 
 
==== Porting status ====
 
 
==== Roadmap ====
 
 
==== Maintainer ====
 
 
== Input Devices ==
 
==== Goal ====
 
 
==== Related Epics ====
* Look and Feel Package: ...
* Desktop elegance: ...
* Session management process: ...
 
==== Integration Story ====
 
 
==== Porting status ====
 
 
==== Roadmap ====
 
 
==== Maintainer ====
 
 
== KScreen ==
 
==== Goal ====
 
 
==== Related Epics ====
* Look and Feel Package: ...
* Desktop elegance: ...
* Session management process: ...
 
==== Integration Story ====
 
 
==== Porting status ====
 
 
==== Roadmap ====
 
 
==== Maintainer ====
 
 
== libsolid ==
 
==== Goal ====
 
 
==== Related Epics ====
* Look and Feel Package: ...
* Desktop elegance: ...
* Session management process: ...
 
==== Integration Story ====
 
 
==== Porting status ====
 
 
==== Roadmap ====
 
 
==== Maintainer ====
 
 
== Network Manager ==
 
==== Goal ====
 
 
==== Related Epics ====
* Look and Feel Package: ...
* Desktop elegance: ...
* Session management process: ...
 
==== Integration Story ====
 
 
==== Porting status ====
 
 
==== Roadmap ====
 
 
==== Maintainer ====
 
 
== Power Management ==
 
==== Goal ====
 
 
==== Related Epics ====
* Look and Feel Package: ...
* Desktop elegance: ...
* Session management process: ...
 
==== Integration Story ====
 
 
==== Porting status ====
 
 
==== Roadmap ====
 
 
==== Maintainer ====
 
 
== soliduiserver ==
 
==== Goal ====
 
 
==== Related Epics ====
* Look and Feel Package: ...
* Desktop elegance: ...
* Session management process: ...
 
==== Integration Story ====
 
 
==== Porting status ====
 
 
==== Roadmap ====
 
 
==== Maintainer ====
 
 
= Desktop UI =
 
== activity manager ==
 
==== Goal ====
 
 
==== Related Epics ====
* Look and Feel Package: ...
* Desktop elegance: ...
* Session management process: ...
 
==== Integration Story ====
 
 
==== Porting status ====
 
 
==== Roadmap ====
 
 
==== Maintainer ====
 
 
== Add-ons / application delivery ==
 
==== Goal ====
 
 
==== Related Epics ====
* Look and Feel Package: ...
* Desktop elegance: ...
* Session management process: ...
 
==== Integration Story ====
 
 
==== Porting status ====
 
 
==== Roadmap ====
 
 
==== Maintainer ====
 
 
== Desktop Containment ==
 
==== Goal ====
 
 
==== Related Epics ====
* Look and Feel Package: ...
* Desktop elegance: ...
* Session management process: ...
 
==== Integration Story ====
 
 
==== Porting status ====
 
 
==== Roadmap ====
 
 
==== Maintainer ====
 
 
== Folder View ==
 
==== Goal ====
 
 
==== Related Epics ====
* Look and Feel Package: ...
* Desktop elegance: ...
* Session management process: ...
 
==== Integration Story ====
 
 
==== Porting status ====
 
 
==== Roadmap ====
 
 
==== Maintainer ====
 
 
== Firstrun experience ==
 
==== Goal ====
 
 
==== Related Epics ====
* Look and Feel Package: ...
* Desktop elegance: ...
* Session management process: ...
 
==== Integration Story ====
 
 
==== Porting status ====
 
 
==== Roadmap ====
 
 
==== Maintainer ====
 
 
== kdesu ==
 
==== Goal ====
 
 
==== Related Epics ====
* Look and Feel Package: ...
* Desktop elegance: ...
* Session management process: ...
 
==== Integration Story ====
 
 
==== Porting status ====
 
 
==== Roadmap ====
 
 
==== Maintainer ====
 
 
== khelpcenter ==
 
==== Goal ====
 
 
==== Related Epics ====
* Look and Feel Package: ...
* Desktop elegance: ...
* Session management process: ...
 
==== Integration Story ====
 
 
==== Porting status ====
 
 
==== Roadmap ====
 
 
==== Maintainer ====
 
 
== kinfocenter ==
 
==== Goal ====
 
 
==== Related Epics ====
* Look and Feel Package: ...
* Desktop elegance: ...
* Session management process: ...
 
==== Integration Story ====
 
 
==== Porting status ====
 
 
==== Roadmap ====
 
 
==== Maintainer ====
 
 
== klipper ==
 
==== Goal ====
 
 
==== Related Epics ====
* Look and Feel Package: ...
* Desktop elegance: ...
* Session management process: ...
 
==== Integration Story ====
 
 
==== Porting status ====
 
 
==== Roadmap ====
 
 
==== Maintainer ====
 
 
 
== knetattach ==
 
==== Goal ====
 
 
==== Related Epics ====
* Look and Feel Package: ...
* Desktop elegance: ...
* Session management process: ...
 
==== Integration Story ====
 
 
==== Porting status ====
 
 
==== Roadmap ====
 
 
==== Maintainer ====
 
 
 
== krunner ==
 
==== Goal ====
 
 
==== Related Epics ====
* Look and Feel Package: ...
* Desktop elegance: ...
* Session management process: ...
 
==== Integration Story ====
 
 
==== Porting status ====
 
 
==== Roadmap ====
 
 
==== Maintainer ====
 
 
 
== ksysguard & process list ==
 
==== Goal ====
 
 
==== Related Epics ====
* Look and Feel Package: ...
* Desktop elegance: ...
* Session management process: ...
 
==== Integration Story ====
 
 
==== Porting status ====
 
 
==== Roadmap ====
 
 
==== Maintainer ====
 
 
 
== libtaskmanager ==
 
==== Goal ====
 
 
==== Related Epics ====
* Look and Feel Package: ...
* Desktop elegance: ...
* Session management process: ...
 
==== Integration Story ====
 
 
==== Porting status ====
 
 
==== Roadmap ====
 
 
==== Maintainer ====
 
 
 
== notifications and statusnotifiers ==
 
==== Goal ====
 
 
==== Related Epics ====
* Look and Feel Package: ...
* Desktop elegance: ...
* Session management process: ...
 
==== Integration Story ====
 
 
==== Porting status ====
 
 
==== Roadmap ====
 
 
==== Maintainer ====
 
 
 
== panels ==
 
==== Goal ====
 
 
==== Related Epics ====
* Look and Feel Package: ...
* Desktop elegance: ...
* Session management process: ...
 
==== Integration Story ====
 
 
==== Porting status ====
 
 
==== Roadmap ====
 
 
==== Maintainer ====
 
 
 
== screensavers ==
 
==== Goal ====
 
 
==== Related Epics ====
* Look and Feel Package: ...
* Desktop elegance: ...
* Session management process: ...
 
==== Integration Story ====
 
 
==== Porting status ====
 
 
==== Roadmap ====
 
 
==== Maintainer ====
 
 
 
== share*like*connect ==
 
==== Goal ====
 
 
==== Related Epics ====
* Look and Feel Package: ...
* Desktop elegance: ...
* Session management process: ...
 
==== Integration Story ====
 
 
==== Porting status ====
 
 
==== Roadmap ====
 
 
==== Maintainer ====
 
 
 
== styles (widgets & plasma) ==
 
==== Goal ====
 
 
==== Related Epics ====
* Look and Feel Package: ...
* Desktop elegance: ...
* Session management process: ...
 
==== Integration Story ====
 
 
==== Porting status ====
 
 
==== Roadmap ====
 
 
==== Maintainer ====
 
 
 
== System Settings ==
 
==== Goal ====
 
 
==== Related Epics ====
* Look and Feel Package: ...
* Desktop elegance: ...
* Session management process: ...
 
==== Integration Story ====
 
 
==== Porting status ====
 
 
==== Roadmap ====
 
 
==== Maintainer ====
 
 
 
== Unified Plasma Shell ==
 
==== Goal ====
 
 
==== Related Epics ====
* Look and Feel Package: ...
* Desktop elegance: ...
* Session management process: ...
 
==== Integration Story ====
 
 
==== Porting status ====
 
 
==== Roadmap ====
 
 
==== Maintainer ====
 
 
 
== Wallpapers ==
 
==== Goal ====
 
 
==== Related Epics ====
* Look and Feel Package: ...
* Desktop elegance: ...
* Session management process: ...
 
==== Integration Story ====
 
 
==== Porting status ====
 
 
==== Roadmap ====
 
 
==== Maintainer ====
 
 
 
== Widget Explorer ==
 
==== Goal ====
 
 
==== Related Epics ====
* Look and Feel Package: ...
* Desktop elegance: ...
* Session management process: ...
 
==== Integration Story ====
 
 
==== Porting status ====
 
 
==== Roadmap ====
 
 
==== Maintainer ====
 
 
 
== Window Manager ==
 
==== Goal ====
 
 
==== Related Epics ====
* Look and Feel Package: ...
* Desktop elegance: ...
* Session management process: ...
 
==== Integration Story ====
 
 
==== Porting status ====
 
 
==== Roadmap ====
 
 
==== Maintainer ====

Revision as of 15:14, 5 November 2013

Functional Blocks of Plasma Next

Desktop UX Elegance and Consistency

Many things are managed by different processes, or even completely different projects (like login manager). But the user doesn't care about that, so the idea is to give it a grand unified look, even if they keep being different things internally. So, the potential places identified, in order of startup are:

       * Login screen
       * Splash
       * Some Kwin effect, such as Alt+Tab
       * Lock screen
       * Fast user switching
       * Logout screen

These are all just defaults. We will need a user tweakage UI for Look 'n Feel component settings and such things.


We discussed ways to bring some visual and behavior consistency to these different things, e.g. all modal parts really ought to look and work exactly the same way so they feel continuous. So some things in the workspace ui are a modal, interrupting thing like the login screen, the splash, the lockscreen, the user switching the logout dialog. Other things are non-modal like activity switching; some are semi-modal like Alt+Tab (semi-modal -> strictly speaking they are modal, but they are features to aid the user through transitions and so it doesn't actually block workflow). This part of plasma2 is our opportunity to rethink how some of the core UX components are presented

Improved the session management process

During Tokamak6 in March, we put the options for the startup procedure on the table, and realized that we have 4 unsatisfying solutions: startkde, startactive, systemk, and systemd scripts.

Goals for the Startup:

  • fast startup (as few processes as possible, minimal set of actions, highest performance options)
  • respect dependencies between components (component B requires A, so start component A before B)
  • seamless (no resolution changes visible, no shifting wallpapers)
  • declarative (easy to extend/improve, not tied to a single system)


Time Based Goals

~Quarterly milestone releases with public communication (blogs and announcements) and tarballs

  • Mid-December 2013
   * "Proof of Life" technology demonstration release
   * Dogfoodable
   * Basic functionality in place, then we can tackle UI and new concepts from there
   * Hardware experience
  • EOM March 2014
   * Technology demonstration release 2
   * Wayland session
   * Look 'n Feel package support implemented in all affected components
   * Session management and startup++, kded4 / ksmserver / etc
  • EOM June 2014:
   * The UX as we imagine it (yes, vague, we have a lot of definitional work to do there)
       

EPIC GOALS:

  • Look 'n Feel system
  • Desktop UX Elegance and Consistency
  • Improve the session management process


Project Management Framework

  • We identify the main component domains for plasma 2 (e.g. "hardware experience") and ensure there is at least one coordinator for each (e.g. afiestas for "hardware experience")
  • We've actually already identified the main components when we did that big listing. the lists are the sub-components, the headings are the main components
  • That coordinator (or 2) ensures that all of the sub-components in the domain they coordinate has an acknowledge maintainer for the plasma2 development effort
  • If there is a maintainer missing, we need to mark that down as well
  • For each domain component (e.g. "screen savers" in "desktop UI"), the maintainer needs to develop two stories:
* the porting story -> what needs to be done to make it awesome on Qt5/FW5
* the goals story -> how does work that is being done (or needs to be  done) meet each of the 3 epic goals we have

This will let us all know where we are individually heading and provide input without having to have giant meetings like this one constantly

  • The coordinator for each domain will work with the people working on that code to develop and document a time based plan that matches the milestone goals

This will let us know when we should be able to expect things, identify when things need more people working on them (because they aren't meeting their goals)

  • Some time goals won't be known right away, and that's ok; those components can be marked with "time unknown" or "defered, waiting on <whatever is blocking>"
  • 2 people will co-maintain a project management position that oversees the entire documentation process, prodding people where necessary, working with coordinators to complete their areas, and then making sure that there is a global consistency to the planning
  • sebas and aseigo take on overall coordination
  • research into tools to replace wiki-based lists
       * PW2Todo becomes the todo list that feeds from the PM we document together