ApplicationDevelopers

Differences between revisions 21 and 22
Revision 21 as of 2010-11-02 14:46:53
Size: 15849
Editor: host-84-9-86-232
Comment: edit kubuntu coding
Revision 22 as of 2010-11-02 15:31:58
Size: 15897
Editor: host-84-9-86-232
Comment: tidy kubuntu mobile
Deletions are marked like this. Additions are marked like this.
Line 40: Line 40:

to be edited by jriddell
{{{
 * KDM replacement?
    - NODM

 * ARM testing
   - make sure that configurations match the targets

 * mobile PIM
   - will be packaged - separate package to normal KDE-PIM

 * kwin, will be separate git branch from normal kwin. not ready in time for 4.6. might be a version which could be shipped in natty

 * ksmserver
   - splitting out into separate package? kdebase-workspace-bin has lots of bits in it, scope to split out those needed by mobile

 * image size
  - work out what can be moved from kubuntu-common to desktop to get it out of mobile
  - work out what can be ignored from desktop-common (i.e. depend on standard and bring in only those bits necesssary from desktop-common)
 * udev rules, add for N900 to kubuntu-mobile-default-settings

 * kernel -

 * documentation
  - needs wiki docs on how to get it installed onto N900, using meego kernel, flashing etc

* graphics
 - needs OpenGL-ES drivers from vendor. licence problems
 - work with vendors on getting hardware drivers
'''Notes'''
 * kwin mobile, will be separate git branch from normal kwin. not ready in time for 4.6. might be a version which could be shipped in natty
 * rbelem to work on kwin mobile with mgresslin
* graphics - needs OpenGL-ES drivers from vendor. licence problems - working with vendors on getting hardware drivers best way in such cases
 
'''Actions'''
 * Use NODM as login manager
 * Package mobile PIM, consider for inclusion in kubuntu mobile
 * Package FreOffice, consider for inclusion in kubuntu mobile
 * Investigate splitting out ksmserver into separate package, much of kdebase-workspace-bin probably isn't needed for mobile
 * Work out what can be moved from kubuntu-common seed to desktop to get out of mobile
 * Work out what can be ignored from desktop-common seed (i.e. depend on standard and bring in only those bits necesssary from desktop-common)
 * Add udev rules needed by N900
 * Document kubuntu-mobile installation on N900
 * Implement on screen keyboard [large, wishlist item]
Line 72: Line 57:
* on screen keyboard
}}}
Line 76: Line 58:

{{{
Proposed directions:
* announce apis on a mailing list, and discuss the api changes there
* provide a deprecation path for apis

Refactor gnome-keyring out of ubuntu-sso-client so we can implement KWallet
support in Ubuntu One to get working KDE support.
ubuntu sso API from 10.10 is deprecated but will not break during natty. also new APIs will appear by January

ubuntu sso package should be split into GUI and non-GUI parts similarly for password keyring/wallet

Here's my (somewhat outdated)
post about my experience of installing ubuntuone-kde:
http://ubuntuforums.org/showthread.php?t=1522137
}}}
'''Notes'''
 
* announcing apis on a mailing list, and discuss the api changes there would be nice
 
* provide a deprecation path for apis
 * ubuntu sso API from 10.10 is deprecated but will not break during natty. also new APIs will appear by January
 * ubuntu sso package should be split into GUI and non-GUI parts similarly for password keyring/wallet
 * somewhat outdated post about my experience of installing ubuntuone-kde http://ubuntuforums.org/showthread.php?t=1522137

'''Actions'''
 * Refactor gnome-keyring out of ubuntu-sso-client, implement option for KWallet [note 4.6 using new cross desktop wallet, how will this affect it?]
 * Start up ubuntu-one-devel mailing list for third party developer and API discussions

This page is here to collect together proceedings from sessions as part of the 'Application Developers' track at the Natty UDS in Orlando, Florida.

Please add proceedings by doing the following:

  • Add a new section with the name of the session.
  • Add the outcomes of the session as a collection of bullet points. The goal of the proceedings is to really focus on decided outcomes, so please try to keep them crisp.

Thanks!

Proceedings

Kubuntu Natty Coding

Notes

  • Samba sharing nearly there, needs kdelibs elite people (e.g. dfaure) to review
  • dantii expecting to work on printer tools this cycle
  • can kded services be loaded later?
  • Can kwallet use PAM? https://bugs.kde.org/show_bug.cgi?id=92845

  • qtwebkit will be using qtmultimediakit which uses gstreamer. test and consider if we should use gstreamer phonon backend. consult sandsmark and markey and others. would be nice to prevent having two multimedia libraries on the CD and in memory. watch to make sure gstreamer doesn't bring in lots of gnomey libraries. Alternate plan; bring torches to Brisbane :P
  • consider kde-config-touchpad, if suitable replace with kde-config-synamtics: kde-config-touchpad is abandoned upstream, synaptics has more features/is more reliable, haven't found time to package yet
  • owncloud: discuss with kali and other upstream if it should be in release or PPA, depends on maturity
  • Plasma media centre: investigate if suitable for use within mythbuntu, or if mythtv should be integrated with plasma-media-centre
  • backports will be set to no automatic updates. get kpackagekit to highlight updated versions to users but make clear you have to manually select to get upgrade.

Actions

  • Get Muon into main and onto the DVD
  • set $LANG in ~/.kde/env based on KDE language
  • Merge language selector features into KCM [large, wishlist task]
  • Implement wifi setup from Ubiquity to follow GTK frontend
  • Ensure jockey -a gets run for the live session from ubiquity as well as target install
  • Get Samba sharing into kdelibs/base 4.6
  • Investiage setting grab server to through in kdmrc [note, I don't actually remember what this means - jriddell]
  • Implement LightDM Plasma frontend [large, wishlist task]

Kubuntu Natty Mobile

Notes

  • kwin mobile, will be separate git branch from normal kwin. not ready in time for 4.6. might be a version which could be shipped in natty
  • rbelem to work on kwin mobile with mgresslin

* graphics - needs OpenGL-ES drivers from vendor. licence problems - working with vendors on getting hardware drivers best way in such cases

Actions

  • Use NODM as login manager
  • Package mobile PIM, consider for inclusion in kubuntu mobile
  • Package FreOffice, consider for inclusion in kubuntu mobile

  • Investigate splitting out ksmserver into separate package, much of kdebase-workspace-bin probably isn't needed for mobile
  • Work out what can be moved from kubuntu-common seed to desktop to get out of mobile
  • Work out what can be ignored from desktop-common seed (i.e. depend on standard and bring in only those bits necesssary from desktop-common)
  • Add udev rules needed by N900
  • Document kubuntu-mobile installation on N900
  • Implement on screen keyboard [large, wishlist item]
  • get latest plasma mobile packaged

Ubuntu One and KDE

Notes

  • announcing apis on a mailing list, and discuss the api changes there would be nice
  • provide a deprecation path for apis
  • ubuntu sso API from 10.10 is deprecated but will not break during natty. also new APIs will appear by January
  • ubuntu sso package should be split into GUI and non-GUI parts similarly for password keyring/wallet
  • somewhat outdated post about my experience of installing ubuntuone-kde http://ubuntuforums.org/showthread.php?t=1522137

Actions

  • Refactor gnome-keyring out of ubuntu-sso-client, implement option for KWallet [note 4.6 using new cross desktop wallet, how will this affect it?]
  • Start up ubuntu-one-devel mailing list for third party developer and API discussions

Qt Patch Review

Remove all patches.

appmenu being sorted out already.
stays for natty, since we will still ship Qt 4.7.

0180-window-role.diff  - rejected by upstream, unnecessary KDE apps have names already
0195-compositing-properties.diff  - Qt will take a look
0209-prevent-qt-mixing.diff  - should be dropped
0216-allow-isystem-for-headers.diff  - mac only skip it
0225-invalidate-tabbar-geometry-on-refresh.patch - fine, should go upstream, needs someone in Qt who understands it
07_trust_dpkg-arch_over_uname-m.diff  - "we have no idea what it does" "ask sune"
08_configure_quilt_compat.diff - not going to be accepted upstream
09_qmake_lflags_as-needed.diff  - "probably very old" "we should respect LDFLAGS" "could be patch is old" can probably be dropped
10_config_tests_fixes.diff  - "no clue why this was needed" a mystery
11_build_translations.diff - dunno
12_add_nostrip_for_debug_packages.diff - "think it has changed in 4.7" it's the separate debug info option, no separate debug now default" "it shouldn't strip, report to Qt"
13_fix_prl_files_dont_link_entire_world.diff.disabled - already fixed with libs private, disabled
15_fix_qmake_makefile_generation.diff - needs test case and reported to Qt
16_hide_std_symbols_on_qtwebkit.diff - makes sense but not a complete solution, thiago has bug open that will allow to use symbols better, needs reported to qt webkit
17_add_postgresql_8.3_support.diff - "there is absolutely no need for this patch" "not using any feature of postgres 8.3 8.4 it's not necessary" "do submit it"
18_enable_qt3support_qtwebkit_debug_info.diff - talk to david faure, if he wants it then it goes in
20_install_qvfb.diff - "won't be accepted" they will probably modularise qvfb out and package separately
21_qt_ia32_library_path.diff - not going to go upstream
22_use___GLIBC__.diff - could be upstreamed, makes sence if you just define if __GLIBC__
30_webkit_unaligned_access.diff - don't know
40_alpha_ice.diff - sounds like a gcc bug, could be accepted but would rather not
41_disable_opengl_visibility.diff - as above
50_kfreebsd_Q_OS.diff - we can accept
51_kfreebsd_strnstr_build_fix.diff - is reported upstream
70_hppa_ldcw_fix.diff - 
71_hppa_unaligned_access_fix_458133.diff - 
80_hurd_max_path.diff - 
89_powerpc_opts.diff - 
91_s390_use_gstabs.diff - 
92_armel_gcc43_valist_compat.diff - "interesting, e-mail it to me (thiago)"
96_webkit_no_gc_sections.diff - 
kubuntu_10_ibus_input_method.diff - create a task for us to consider
kubuntu_12_fix_stack_protector.diff - when JIT is enabled we compile with no-stack-protector, "sounds like something that got forgotten" "send us an e-mail to remind us"
kubuntu_15_appmenu.diff - agateau already getting upstream
kubuntu_16_qt-designer-toplevel-mode-menubar.diff - merge request on this one
kubuntu_17_enable_qtwebkit_for_qtassistant.diff - we will fix this with modularisation
kubuntu_18_fix_qtreeview_regression.diff - 
kubuntu_19_gtkstyle_inactive_background.diff - 
kubuntu_20_gtkstyle_tabwidget_focus.diff - 
kubuntu_21_fix_phantom_cursor.diff - 
kubuntu_90_webkit_htmlxml_gb_gb18030_detect.diff - report to webkit

A Plan for a Gesture Language

  • Musical metaphor
  • Higher level language to express complex patterns more easily than by invoking grail primitives
  • Consider scripting and declarative syntaxes
  • Need to develop a sample usage and demo

The Technical Foundations of a Gesture Language

  • Map complex patterns of gestures into application-domain entities
  • Provide a programmable transformation engine like GL shaders
  • Libraries of gesture "phrases" and "sentences"
  • A gesture language "shell" to glue other tools together

Gesture Support in GTK/Gnome Applications

  • Gesture support in widgets should bring gestures to applications with little to no intervention from application developers
  • Prefer to utilize native gesture engine if possible to promote platform consistency
    • (As opposed to requiring geis for gtk gesture support)
  • Initial gesture api integration into widgets already under way in unmerged branches
  • "Grope" and associated bad jokes

Gesture Support uTouch in Qt

  • Requirement for a window ID is just like MS Windows, is undesirable, and should be removed
  • Need a "gesture cancelled" state
  • Qt has had gesture support for more than half a year but has received very little feedback from community

Gesture Support in Games / Support Commercial Games

  • Select a single development platform for games and providing support for gestures inside.
  • Support is with documentation, demos, code snippets, etc
  • Need for more discussion with commercial games providers for Linux.

GEIS Gesture API Roadmap

  • GEIS 2.0 resulted from experience with GEIS 1.0, addresses awkward aspects of usage
  • "regions" API is unnecessary and can be removed
  • Do not include touch data with gesture data
  • Backwards API/ABI compatibility with GEIS 1.0 is not a concern

Ubuntu One APIs

  • Provide a limited set of Ubuntu One APIs that can be used in Ubuntu applications, web applications, and mobile apps
  • Add a new developer section on https://one.ubuntu.com/ that provides information on how to start using Ubuntu One APIs in their applications, API documentation, and how to collaborate with Ubuntu One

  • Flagship applications that are targets for using the new Ubuntu One APIs include (and will likely drive which APIs are available for Natty):
    • tasks: desktop + web + mobile
    • music playlists (ratings are just as important): desktop + mobile
    • recipe & shopping list

Probabilistic Input

  • Slide and movie from Carnegie Mellon researchers
  • Discussion revolved around better understanding their intent and possible use cases
  • Accessibility APIs for GTK/Qt were identified as the mostly likely (and possibly easiest) means of supporting probabilistic input in Unity/uTouch

Kubuntu Rekonq Wishlist

=== wishlist items ===
release schedule in line with Kubuntu? (adjam: this is quite impossible. We'll obviously take care of prepare our best release ever for April.)

clear button returned to URL bar (use case: select URL in konsole, paste into URL bar)
(adjam: uhm... is CTRL + L && CTRL + V too much easy? Anyway, forget the same behavior from normal klineedit(s) as we reimplemented it to have right buttons. setClearButtonShown(true) will basically break it all. We have a working personal implementation of it by Lionel. I decided to not include to not high too much the number of right icons, growing on every feature added: bookmarks, rss, useragent switcher, ssl info, web shortcut creator, etc..)

Right-click "open with" << In progress (adjam: good browsers don't need this. I suggest to help fixing eventual rendering bugs instead)

ctrl-w should always close a window, even if it happens to be the last one (adjam: this behavior has been decided from users. I'm ok with any change here, but doing it every release is suboptimal)
make bookmarks work properly (favicons and stuff)
social bookmarking integration (i.e. delicious) (GSOC HERE?)

different name - rekonq is not really ideal (code doesn't need to change, just the app name exposed to the user).  or at least a capital letter to match normal English usage

Faster Browsing
Less no crashing <<-- this is still vague

smaller spinners in start page previews -- agateau

* make it easy to disable rekonq from asking you to store/forget whatever when you log in to a website. chrome/ff allow you to disable this in settings. the kde way of asking you 'not for this site' and what not is horrible (adjam:?)

open gzip text files embedded

fix printing and find in embedded okular (adjam: YEAH!! Anyway, this means some big changes as the actual system does not seem supporting it very well and it's not so "expandable". Targetting 0.7)

check re-open last tabs on startup works

=== Websites people have problems with ===
* yahoo mail site wants to default to the old mail because it says rekonq isn't supported <-  new yahoo mail beta works fine: http://www.pcinpact.com/link.php?url=http%3A%2F%2Ffr.features.mail.yahoo.com%2F

* launchpad bugs posting comments (adjam: QtWebKit or KIO-WebKit)

cnn.com video (adjam: QtWebKit or KIO-WebKit)

* don't know how this happened, but rekonq had me signed in with my 'nixternal' account for yahoo.com and not my real account. i am wondering if rekonq got the username/password from kopete? also noticed that i was logged into google/gmail without ever having to log in before. today was the first time that i fired up rekonq, so i know i never logged in to any website previously. (Yes, it's exactly so. KDE apps share the wallet, it's not just rekonq behavior).
* user agent: can you modify this for websites? this is a horrible fix for getting to certain features such as yahoo mail, but if i were to use rekonq full-time, i would definitely need this (adjam: scheduled for the first release KDE SC 4.6 based)

Support for opening links with keyboard (look at vimperator firefox extension for the way they give keyboard access to links) -- agateau 
  ^^known as 'access keys' in konqi/kde --nixternal

Shortcut for private browsing and clear data (adjam: a default shortcut? Setting one from shorcuts conf settings is not enough?)

clear button needed
saving tabs isn't working -- they open up, but empty

obey explicit *and* implicit HIG!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
HIG changes...is there even such a thing everyone obeys for KDE?
There is a bit of explicit HIG in the techbase which is pretty much obeyed in all of SC, the other stuff is just common best-pratice. (adjam: more precisely??)

if possible, get extension support in the coming release << needs more devs aka apachelogger (not gonna happen)

okular integration does not provide obvious way of zooming and printing pdfs is completely and entirely impossible - at the same time you also cannot tell it to start okular standalone

Quickly Enhancements

  • gedit has added support we need to enable plugins on-the-fly
  • LP promises to continue to add support we need on the server to enable PPA creation
  • As that comes online, support will be added to Quickly
  • Add some features for more Glade integration (self.ui.button1 and self.button1_clicked automatically hooked up)
  • Install into /opt by default

Quickly Widgets Enhancements

  • Don't port to Vala yet, it's not worth the effort until a wider set of programs wants to use this library
  • Continue in same vein as before, adding a few widgets and fixing bugs in old ones. No drastic scope change or large new features

Upstream Contacts Growth

  • Every upstream application in Ubuntu should get an Upstream Contact. It is great to have a continuing interaction between upstream and downstream;
  • JorgeCastro will continue to investigate the health of our relations with upstreams using Launchpad data and surveys;

  • From now on, JorgeCastro will do six-monthly surveys to make sure we know what our upstreams think of us;

  • Ubuntu's Maintainers are already doing a lot of work Upstream Contacts should do as well, so they will be explicitly marked as Upstream Contacts;
  • Jorge will investigate conferences and other events that can be used to propagate the Upstream Contacts project;
  • The way we send patches to upstreams will be investigated;
  • Jorge will create a communication plan for Upstream Contacts.

UDSProceedings/N/ApplicationDevelopers (last edited 2012-06-14 23:29:56 by c-67-170-185-42)