Solid/Sprint2010: Difference between revisions
No edit summary |
No edit summary |
||
(6 intermediate revisions by 4 users not shown) | |||
Line 52: | Line 52: | ||
| Alejandro Fistas (afiestas) || alex at ufocoders B0t com || NetworkManager//Bluetooth || 1.0 || 4.0 || none || by car || none || none || 0 € || no || Author of BlueDevil and starting to dig in NetworkManager || anything) | | Alejandro Fistas (afiestas) || alex at ufocoders B0t com || NetworkManager//Bluetooth || 1.0 || 4.0 || none || by car || none || none || 0 € || no || Author of BlueDevil and starting to dig in NetworkManager || anything) | ||
|- | |- | ||
| Kevin Ottens (ervin) || ervin at kde dot com || Solid gatekeeper || 1st in the morning || 3rd in the evening || MAD || IB8775 || no seafood (except sushis, go figure) || none || | | Kevin Ottens (ervin) || ervin at kde dot com || Solid gatekeeper || 1st in the morning || 3rd in the evening || MAD || IB8775 || no seafood (except sushis, go figure) || none || ~350 € (it raised fast) || yes || Community building, libsolid maintainance, delegating. :-) || none | ||
|- | |- | ||
| Rafael Fernández López (ereslibre) || ereslibre at kde dot com ||Bluetooth || N/A || N/A || N/A || N/A || none || none || N/A || no || Community building, author of libbluedevil, author of bluedevil || none | | Rafael Fernández López (ereslibre) || ereslibre at kde dot com ||Bluetooth || N/A || N/A || N/A || N/A || none || none || N/A || no || Community building, author of libbluedevil, author of bluedevil || none | ||
Line 60: | Line 60: | ||
| Paulo Romulo (promulo) || paulo.romulo at kdemail dot net || Solid UPnP backend || 1st, around 7 AM || 4th, around 12 PM || MAD || (not booked yet) || anything || none || 1394 € :-( || yes || API refinements, debug app, neighborhood plasmoid, whatever ervin delegates... :-p || none | | Paulo Romulo (promulo) || paulo.romulo at kdemail dot net || Solid UPnP backend || 1st, around 7 AM || 4th, around 12 PM || MAD || (not booked yet) || anything || none || 1394 € :-( || yes || API refinements, debug app, neighborhood plasmoid, whatever ervin delegates... :-p || none | ||
|- | |- | ||
| Sebastian Kügler (sebas) || sebas at kde dot org || Solid Plasma Widgets || 1st, around 1600 || 4th, around 6 AM || MAD || | | Sebastian Kügler (sebas) || sebas at kde dot org || Solid Plasma Widgets || 1st, around 1600 || 4th, around 6 AM || MAD || IB3245 & IB3246 || none || none || 200€ || yes || Network & Power Management || none | ||
|- | |- | ||
| Albert Astals Cid (tsdgeos) || aacid at kde dot org || || 2nd, around 10 AM || 3rd, around 8 PM || MAD || EI592 - EI595 || none || none || - || no || || none | | Albert Astals Cid (tsdgeos) || aacid at kde dot org || || 2nd, around 10 AM || 3rd, around 8 PM || MAD || EI592 - EI595 || none || none || - || no || || none | ||
Line 78: | Line 78: | ||
== Agenda == | == Agenda == | ||
*Solid/Kde-hardware-group as a team/group | |||
*NetworkManager Solid::Control free | === Topics for discussion === | ||
*Edit NetworkManager system connections | * Solid/Kde-hardware-group as a team/group, metalworkers unite! | ||
*Integration between | * Design discussion: NetworkManager Solid::Control free | ||
*... | * Design discussion: PowerManagement Solid::Control free | ||
* Edit NetworkManager system connections | |||
* Integration between bluedevil and Plasma NM to use cell phone as bluetooth modem | |||
* Rework PowerDevil: how and why (discussion) | |||
* Inhibition on the Desktop: why and how (discussion) | |||
* Plan to fix xrandr support once and for all | |||
* ... | |||
=== Code Goals === | |||
* Have the new libsolid backends releasable: udisks, upnp, upower | |||
* Produce a first version of the udev backend for libsolid (still needs to find a maintainer) | |||
* Produce a first version of the bluez backend for libsolid | |||
* Refactor PowerDevil (powermanager disappears from libsolidcontrol) | |||
* Refactor the network management stack (network classes disappear from libsolidcontrol) | |||
* Support for hidden wireless networks in NM plasmoid (sebas) | |||
* update instead of stacking notifications in powerdevil (sebas) | |||
== Minutes == | |||
=== Friday Discussions === | |||
Started 3 years ago | |||
experience shows flaws | |||
Also closely based on what Hal provided at the time | |||
Mac shows power management can be well integrated with the system. | |||
Use cases things not suspending when doing things, not screensaving when watching a video, making a skype call. | |||
Made xdg spec, result nobody else implemented it. | |||
Currently: lot of disconnected pieces, lots of bug reports | |||
Eg resume suspend with nvidia: first you see your desktop, then the screenlocker appears | |||
Options: move suspend etc into the session manager | |||
KDM, KSMServer, Powerdevil, HAL | |||
PD talks to HAL, the upper parts don't know what is going on.. Everything relies on Powerdevil for info. | |||
new design is that ksm gets backends for hal, upower, 'nextkit', and apps request power actions via KWorkspace api. | |||
KSM has to be lightweight and stable. KSM should only provide a facade around functionality implemented in powerdevil. Powerdevil will track pre-suspend and post-suspend states to perform app things like updating the plasma clock early after resume. | |||
NM: | |||
Problems in reading system connections - no impl for doing this. Writing is easy, reading is not. | |||
NetworkManager is adding complex polkit logic for managing connections. | |||
Code which evaluates and shows system connections already exists, but no code exists for editing them. | |||
Different distributions provide different means for storing connection settings, which will be watched over by NetworkManager. This leads to severe breakage, hence the need for managing system connections. | |||
Add NM dependency to the KCM and polkit code to fix this. | |||
NM/Bluetooth: | |||
Nobody knows how this works NM side. | |||
Inhibition: | |||
What features to provide: | |||
What components to inhibit | |||
* Automatic suspend | |||
* Brightness change | |||
* Screensaver | |||
How to present this to the user | |||
How to present this to the developer | |||
Non functional reqts: | |||
* Inhibit right | |||
* Make it easy for devs | |||
* do not get in the user's way | |||
Levels of inhibition - app developers will misbehave and request high priority for all events. Using strings instead enforces responsibility on developers to make justified requests. | |||
solid as a team: | |||
* Doing better! | |||
* Find maintainers for all backends, particularly udev (otherwise we keep hal) | |||
* Document state of elements and what we support, on userbase. | |||
* Improve bus number, instead of one-person teams, small teams on each component. | |||
** Solid umbrella identity for effort supporting hardware on KDE | |||
*** libsolid hardware awareness lib | |||
*** UDisks | |||
*** UPower | |||
*** UDev | |||
*** Bluetooth | |||
*** Power devil | |||
*** NM - supporting Connman? | |||
*** XRandR | |||
*** LIRC | |||
* Bug triage | |||
** Need someone to triage incoming bugs | |||
** New bugs.kde.org categories needed | |||
solid | |||
general | |||
powermanagement | |||
bluetooth | |||
-kcm | |||
-daemon | |||
-lib | |||
libsolid | |||
-frontend | |||
-upower | |||
-disks | |||
=== Saturday Wrapups === | |||
Saturday wrapup notes | |||
Sebas | |||
* Nothing finished | |||
* Started Hidden wireless network logic | |||
* Debugging crasher in KDED | |||
* Working on config widget which lays out profile configuration for PowerDevil dynamically while looking nice. | |||
Albert | |||
* Arrived, broke his computer, compiled kdelibs | |||
* Helped Alex with refactoring of Solid::Device list to make it asynchronous | |||
* Working on SVG backend for Okular. | |||
Dario | |||
* Finished new Powerdevil core | |||
* Ported Powerdevil to new backend | |||
* Everything (changing brightness) etc are dynamic actions provided by plugins | |||
* Common actions bundled into PD core lib | |||
* Fast lightweight modular | |||
Alex | |||
* started researching Bluetooth connections (DUN and PAN) in Networkmanager. Got both kind of working | |||
* wrote some BlueDevil plugins for establishing connections | |||
* waiting for feedback from Will on how Gnome keeps BlueZ network service up | |||
* looking at libsolid and refactoring for async device listing api | |||
* Learning from Albert how to use new Qt shared pointer classes. | |||
Agustin | |||
* took notes, sent some text to promo list for promo guys to process | |||
* worked on task list to make Solid a stronger group. | |||
* writing text for Dot story on the meeting | |||
Lamarque | |||
* Started to finish his mobile connection wizard, now working, saving connections. CDMA part can't be tested. | |||
* Polishing and debugging corner cases. | |||
Rafa | |||
* Evaluated tasks as new Solid participant | |||
* Debugging KCategorizedView | |||
* Chose to work on UDev support, looking at how Solid internals work, now listing devices but missing information like product/vendor. | |||
Will | |||
* Researched how Gnome nm-applet bluetooth support is integrated, shared info with Alex | |||
* Reviewed Lamarque's 3G mobile-broadband-provider-info wizard | |||
* Refactoring hidden network support since he no longer understands own code | |||
* Refamiliarised about what is missing from | |||
Kevin | |||
* Fixed licensing in libsolid | |||
* Reorganized bugzilla categories 500 bugs. Assigned default assignees to bug categories. BlueDevil and Network management bugs not yet assigned in | |||
* Identified a class in fstab backend, factored out to libsolid - allows backends to inject fake devices to act as a device root. | |||
* Looking at udev/upower backends for problems, missing functions. upower basically ok. upower backend sometimes gives devices with no useful data. | |||
* Udisk backend work because it had the most bugs, refactored to create tree structure | |||
** Fixed notifications on plug/unplug, timing issue for notification and cache | |||
* Not much code shared between U* except fake root device. | |||
Concerns: | |||
* More things moving into network management in progress but not out to Done | |||
* Kevin would like more people hacking on udisks tasks as they are small. | |||
=== Sunday Wrapups === | |||
Sebas | |||
* Plasma side of hidden networks plumbing | |||
* Pluggable configuration of powerdevil works | |||
* Fixing up powerdevil to work with new config | |||
Dario | |||
* Finished new PowerDevil core | |||
* Finished new policy agent | |||
* Moved backend part of Solid::Control power apis into PowerDevil | |||
* Moved 90% of actions into plugins | |||
* PowerDevil now no longer uses any UI stuff, pure kdecore app | |||
* Pushed to trunk | |||
* Less invasive than before, but currently requires manual profile definition, defaults are not yet provided | |||
* Today will work on KRunner stuff. Needs to mail Lubos about KSM integration | |||
* Blogged about it, see planet | |||
* Plans to code UPower backend for PowerDevil (small task, Alex to help) | |||
Alex | |||
* Implementing libsolid synchronous API, suspended this work while reqts are refined, will continue after sprint | |||
* Fixed some bugs in Bluedevil to be able to use bluetooth keyboards and Mighty Mouse. | |||
* Adding possibility to pair devices that don't require a PIN. | |||
* Plans | |||
** Will move bugs from old bluedevil product to new one. | |||
** Will look at KFilePlaces | |||
Albert | |||
* Helping others with code | |||
* Plans | |||
** Will pick up low hanging fruit tasks | |||
Javier | |||
* Packaging api documentations | |||
Lamarque | |||
* Finished 3G wizard | |||
* Debugging crash in 3G roaming | |||
* Tested wizard using Agustin's stick | |||
* TODO: test with CDMA device and network | |||
* Picked up NM restart crash bug from Sebas | |||
Rafa | |||
* Udev backend: Found root cause why some devices missing product/vendor | |||
* Cleaned CMake code to make everything conditional | |||
* Plan to have udev backend stable | |||
Will | |||
* Fixing Hidden network refactoring bugs | |||
* Researched BT networkmanager integration | |||
Kevin | |||
* Spent the night fixing remaining UDisk/UPower issues 'finished' no obvious regressions. Close to being able to drop HAL dep. UDev backend only missing component | |||
* Plans to manage others today and help. | |||
* Wall of postits task management system helped visibility of what's going on and regular review made sure that people actually did what they talked about it. Would be improved by homogenous granularity of tasks. Eg 'can be done in 1 hour'. Downside is that this system is so effective at getting people coding that they might not find time to blog, although the system does create good inputs for dedicated promo people to write around. |
Latest revision as of 14:36, 9 October 2010
Dates
1/October/2010: Arrival and hacking starting from 09:00 local time
2/October/2010: Hacking
3/October/2010: Hacking and departure
Location
The event will take place in Madrid, In the offices of ufocoders (Calle Ana Mariscal 5 , 28223 Pozuelo de Alarcón). The office is not down town, but in a offices/recreative places (with a cinema, restaurants etc).
Picture Of the building
Note: The building is not constructed in the maps
Note2: I tried to edit openstreetmaps to add more information but to do it I have to have Flash, and I don't, sorry :/
Hotel Location
i-hotel: http://www.eurostarsihotel.com/ Virgilio, 4, Pozuelo de alarcón, 28223
Contact Information
Alejandro Fiestas Olivares +34651620051 and Rafael Fernández López +34650321043
How to get there
The Office where the sprint will take place is connected very well with the airport (Barajas) and with the main Train Station:
- Barajas (airport)
- Link to the metro/subway route from the airport:
- metromadrid route
- Atocha Station (Train)
- Link to the metro/subway route from the Atocha station:
- metromadrid route
Accomodation
afiestas: Nothing yet, but it should be around 49,99.
Attendees List
The column "Sponsoring needed?" is to know if you need sponsoring or if you pay the travel/stay by yourself.
We do not know (yet) how the food will be (restaurant, catering etc...) but anyway the office is near a lot of fast food places (McDonals, Foster hollywood, Burger King, Other local stuff), so in any case it should be cheap.
Name | Project/Interest | Arrival | Departure | Airport | Flight | Food preferences | Room preferences | Estimated travel costs | Sponsoring needed? | Work | Special | |
Alejandro Fistas (afiestas) | alex at ufocoders B0t com | NetworkManager//Bluetooth | 1.0 | 4.0 | none | by car | none | none | 0 € | no | Author of BlueDevil and starting to dig in NetworkManager | anything) |
Kevin Ottens (ervin) | ervin at kde dot com | Solid gatekeeper | 1st in the morning | 3rd in the evening | MAD | IB8775 | no seafood (except sushis, go figure) | none | ~350 € (it raised fast) | yes | Community building, libsolid maintainance, delegating. :-) | none |
Rafael Fernández López (ereslibre) | ereslibre at kde dot com | Bluetooth | N/A | N/A | N/A | N/A | none | none | N/A | no | Community building, author of libbluedevil, author of bluedevil | none |
Dario Freddi (drf) | drf at kde dot org | Power management & friends | 1st, 9.40 AM | 3rd, 8 PM | MAD | AZ7914 - AZ7099 | none | none | 121.03€ | yes | Kill Solid::Control, discussions, rework PowerDevil, and $something nobody wants to do | none |
Paulo Romulo (promulo) | paulo.romulo at kdemail dot net | Solid UPnP backend | 1st, around 7 AM | 4th, around 12 PM | MAD | (not booked yet) | anything | none | 1394 € :-( | yes | API refinements, debug app, neighborhood plasmoid, whatever ervin delegates... :-p | none |
Sebastian Kügler (sebas) | sebas at kde dot org | Solid Plasma Widgets | 1st, around 1600 | 4th, around 6 AM | MAD | IB3245 & IB3246 | none | none | 200€ | yes | Network & Power Management | none |
Albert Astals Cid (tsdgeos) | aacid at kde dot org | 2nd, around 10 AM | 3rd, around 8 PM | MAD | EI592 - EI595 | none | none | - | no | none | ||
Lamarque Souza (lamarque) | lamarque at gmail dot com | Modem Manager, Plasma Widgets, bug fixing | 1st, around 12:15 | 3rd, around 23:00 | MAD | TAM 8064 (booked) | none | none | 1310 € :-( | yes | Author of ModemManager backend | none |
Will Stephenson | wstephenson at kde dot org | Network Management, distro integration advice | 1st, around 1405 | 3rd, 1525 | MAD | LH4424 | none | double+cot | 250 € | yes | Network Management | none |
Catering
- Beer
- Coke
- Fruit juice (orange, grape, something else?)
- Sandwiches
- Good coffee (nespresso ?)
- Tea
Agenda
Topics for discussion
- Solid/Kde-hardware-group as a team/group, metalworkers unite!
- Design discussion: NetworkManager Solid::Control free
- Design discussion: PowerManagement Solid::Control free
- Edit NetworkManager system connections
- Integration between bluedevil and Plasma NM to use cell phone as bluetooth modem
- Rework PowerDevil: how and why (discussion)
- Inhibition on the Desktop: why and how (discussion)
- Plan to fix xrandr support once and for all
- ...
Code Goals
- Have the new libsolid backends releasable: udisks, upnp, upower
- Produce a first version of the udev backend for libsolid (still needs to find a maintainer)
- Produce a first version of the bluez backend for libsolid
- Refactor PowerDevil (powermanager disappears from libsolidcontrol)
- Refactor the network management stack (network classes disappear from libsolidcontrol)
- Support for hidden wireless networks in NM plasmoid (sebas)
- update instead of stacking notifications in powerdevil (sebas)
Minutes
Friday Discussions
Started 3 years ago experience shows flaws Also closely based on what Hal provided at the time Mac shows power management can be well integrated with the system. Use cases things not suspending when doing things, not screensaving when watching a video, making a skype call.
Made xdg spec, result nobody else implemented it.
Currently: lot of disconnected pieces, lots of bug reports
Eg resume suspend with nvidia: first you see your desktop, then the screenlocker appears
Options: move suspend etc into the session manager
KDM, KSMServer, Powerdevil, HAL
PD talks to HAL, the upper parts don't know what is going on.. Everything relies on Powerdevil for info.
new design is that ksm gets backends for hal, upower, 'nextkit', and apps request power actions via KWorkspace api.
KSM has to be lightweight and stable. KSM should only provide a facade around functionality implemented in powerdevil. Powerdevil will track pre-suspend and post-suspend states to perform app things like updating the plasma clock early after resume.
NM:
Problems in reading system connections - no impl for doing this. Writing is easy, reading is not.
NetworkManager is adding complex polkit logic for managing connections.
Code which evaluates and shows system connections already exists, but no code exists for editing them.
Different distributions provide different means for storing connection settings, which will be watched over by NetworkManager. This leads to severe breakage, hence the need for managing system connections.
Add NM dependency to the KCM and polkit code to fix this.
NM/Bluetooth:
Nobody knows how this works NM side.
Inhibition:
What features to provide:
What components to inhibit
- Automatic suspend
- Brightness change
- Screensaver
How to present this to the user
How to present this to the developer
Non functional reqts:
- Inhibit right
- Make it easy for devs
- do not get in the user's way
Levels of inhibition - app developers will misbehave and request high priority for all events. Using strings instead enforces responsibility on developers to make justified requests.
solid as a team:
- Doing better!
- Find maintainers for all backends, particularly udev (otherwise we keep hal)
- Document state of elements and what we support, on userbase.
- Improve bus number, instead of one-person teams, small teams on each component.
- Solid umbrella identity for effort supporting hardware on KDE
- libsolid hardware awareness lib
- UDisks
- UPower
- UDev
- Bluetooth
- Power devil
- NM - supporting Connman?
- XRandR
- LIRC
- Solid umbrella identity for effort supporting hardware on KDE
- Bug triage
- Need someone to triage incoming bugs
- New bugs.kde.org categories needed
solid
general powermanagement bluetooth -kcm -daemon -lib libsolid -frontend -upower -disks
Saturday Wrapups
Saturday wrapup notes Sebas
- Nothing finished
- Started Hidden wireless network logic
- Debugging crasher in KDED
- Working on config widget which lays out profile configuration for PowerDevil dynamically while looking nice.
Albert
- Arrived, broke his computer, compiled kdelibs
- Helped Alex with refactoring of Solid::Device list to make it asynchronous
- Working on SVG backend for Okular.
Dario
- Finished new Powerdevil core
- Ported Powerdevil to new backend
- Everything (changing brightness) etc are dynamic actions provided by plugins
- Common actions bundled into PD core lib
- Fast lightweight modular
Alex
- started researching Bluetooth connections (DUN and PAN) in Networkmanager. Got both kind of working
- wrote some BlueDevil plugins for establishing connections
- waiting for feedback from Will on how Gnome keeps BlueZ network service up
- looking at libsolid and refactoring for async device listing api
- Learning from Albert how to use new Qt shared pointer classes.
Agustin
- took notes, sent some text to promo list for promo guys to process
- worked on task list to make Solid a stronger group.
- writing text for Dot story on the meeting
Lamarque
- Started to finish his mobile connection wizard, now working, saving connections. CDMA part can't be tested.
- Polishing and debugging corner cases.
Rafa
- Evaluated tasks as new Solid participant
- Debugging KCategorizedView
- Chose to work on UDev support, looking at how Solid internals work, now listing devices but missing information like product/vendor.
Will
- Researched how Gnome nm-applet bluetooth support is integrated, shared info with Alex
- Reviewed Lamarque's 3G mobile-broadband-provider-info wizard
- Refactoring hidden network support since he no longer understands own code
- Refamiliarised about what is missing from
Kevin
- Fixed licensing in libsolid
- Reorganized bugzilla categories 500 bugs. Assigned default assignees to bug categories. BlueDevil and Network management bugs not yet assigned in
- Identified a class in fstab backend, factored out to libsolid - allows backends to inject fake devices to act as a device root.
- Looking at udev/upower backends for problems, missing functions. upower basically ok. upower backend sometimes gives devices with no useful data.
- Udisk backend work because it had the most bugs, refactored to create tree structure
- Fixed notifications on plug/unplug, timing issue for notification and cache
- Not much code shared between U* except fake root device.
Concerns:
- More things moving into network management in progress but not out to Done
- Kevin would like more people hacking on udisks tasks as they are small.
Sunday Wrapups
Sebas
- Plasma side of hidden networks plumbing
- Pluggable configuration of powerdevil works
- Fixing up powerdevil to work with new config
Dario
- Finished new PowerDevil core
- Finished new policy agent
- Moved backend part of Solid::Control power apis into PowerDevil
- Moved 90% of actions into plugins
- PowerDevil now no longer uses any UI stuff, pure kdecore app
- Pushed to trunk
- Less invasive than before, but currently requires manual profile definition, defaults are not yet provided
- Today will work on KRunner stuff. Needs to mail Lubos about KSM integration
- Blogged about it, see planet
- Plans to code UPower backend for PowerDevil (small task, Alex to help)
Alex
- Implementing libsolid synchronous API, suspended this work while reqts are refined, will continue after sprint
- Fixed some bugs in Bluedevil to be able to use bluetooth keyboards and Mighty Mouse.
- Adding possibility to pair devices that don't require a PIN.
- Plans
- Will move bugs from old bluedevil product to new one.
- Will look at KFilePlaces
Albert
- Helping others with code
- Plans
- Will pick up low hanging fruit tasks
Javier
- Packaging api documentations
Lamarque
- Finished 3G wizard
- Debugging crash in 3G roaming
- Tested wizard using Agustin's stick
- TODO: test with CDMA device and network
- Picked up NM restart crash bug from Sebas
Rafa
- Udev backend: Found root cause why some devices missing product/vendor
- Cleaned CMake code to make everything conditional
- Plan to have udev backend stable
Will
- Fixing Hidden network refactoring bugs
- Researched BT networkmanager integration
Kevin
- Spent the night fixing remaining UDisk/UPower issues 'finished' no obvious regressions. Close to being able to drop HAL dep. UDev backend only missing component
- Plans to manage others today and help.
- Wall of postits task management system helped visibility of what's going on and regular review made sure that people actually did what they talked about it. Would be improved by homogenous granularity of tasks. Eg 'can be done in 1 hour'. Downside is that this system is so effective at getting people coding that they might not find time to blog, although the system does create good inputs for dedicated promo people to write around.