Meeting Notes: Plasma 2 Coordination

Sebastian Kügler sebas at kde.org
Thu Oct 31 16:50:32 UTC 2013


Plasma Meeting Thursday, 31-10-2013


Present: d_ed, mck182_, terietor, sebas, bshash, notmart, aseigo, teo, 
agateau, erin, ivan, unormal, bcooksley, vhanda, afiestas

  
Agenda:
	* enumerating the functional blocks in Plasma Workspaces at a coarse level 
(e.g. “power management”, “desktop shell”, “window manager”..) matching up 
with maintainers
	* summary of functional and design goals from last Tokamak
	* rough outline of time based goals (technical preview, etc)
	* tabling a project management framework that ties the above three things 
together
	* possibilities for Tokamak.next()

Introduction (aseigo)

My hope is that after this meeting we will have the start to some more 
concrete project management for the Plasma2 effort. Talking with sebas on 
monday, we noted that the effort has turned a very important corner: we're no 
longer just porting libraries to a shaky Frameworks 5 foundation. Now a lot of 
the emphasis has turned to porting things in kde-workspace and restoring 
functionality to key components
which is awesome; you all deserve a huge "you rock" for getting things to this 
point. :) What lies ahead, however, requires more than a TODO list that people 
pick away at; well, at least it does if we want to end up with something that 
is consistent and wonderful as a finished product. In the last ~18 months 
people like afiestas have talked more and more about wanting the various 
components to work well together and for there to be a higher level of 
"seamlessness", and i think that's a very useful goal. to get there we need to 
be organized and collaborative given some of the recent work done, such as 
mck182_'s good efforts to get splash screen stuff back to good, it's apparent 
at least to me that we aren't doing a great job of that. :)

The Functional Blocks Of Plasma Workspaces

Plumbing / underlying infrastructure

	* appmenu
	* kactivitymanager
	* kcheckpass
	* kcminit
	* kded
	* kglobalacceld 'Reference Lists' section.
	* knotify4
	* ktimezoned
	* ktouchpadenabler
	* kuiserver
	* kwalletd
	* kwrited
	* metadata
	* online accounts
	* shell switching control
	* statusnotifierwatcher

Session management

	* fast user switch
	* ksmserver
	* ksplash
	* lock screen
	* login / display manager
	* log out UI
	* startkde

Hardware experience

	* bluetooth
	* disk management: automount and freespacenotifier
	* input devices (e.g. keyboard layouts)
	* kscreen
	* libsolid
	* network manager
	* powermanagement
	* soliduiserver

Desktop UI

	* activity manager
	* add ons / application delivery
	* desktop containments
	* firstrun experience (set up accounts, choose shell style ..? oem like)
	* kdesu
	* khelpcenter
	* kinfocenter
	* klipper
	* knetattach
	* krunner
	* ksysguard and process list
	* libtaskmanager
	* notifications and status notifiers
	* panels
	* screen savers
	* share*like*connect
	* styles (oxygen, air for widgets and qml)
	* system settings
	* unified plasma shell
	* wallpapers
	* widget explorer
	* window manager (kwin)


Summary from Tokamak 6 (at least the relevant bits)

Notes: http://community.kde.org/Plasma/Tokamak6
	
Look 'n Feel system

Info: http://community.kde.org/Plasma/lookAndFeelPackage

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.

Desktop UX Elegance and Consistency

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:
		1) the porting story -> what needs to be done to make it awesome on 
Qt5/FW5
		2) 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


Next Tokamak

	* Preliminary plan: January, in Barcelona (before 15th)
	* sebas to start planning, email to list next week


Finis.
-- 
sebas

http://www.kde.org | http://vizZzion.org | GPG Key ID: 9119 0EF9


More information about the Plasma-devel mailing list