Usability first – KMix’s long term Milestone plan

My personal agenda for KMix has always been to provide a full-featured, but extremely simple mixer to all Users. And I sincerely hope I have served you well. Now KMix is nearly adult (16 years since birth :-)) and  quite mature and feature-complete. I am now refining my view of what I want to accomplish:

Usability firstKMix v4.3 Configuration Dialog

KMix was always dedicated to simplicity and ease of use – rather not support it than create a usability hazard. Currently  I continue to polish the existing features, for example the configuration dialog contains helpful hints and hides options depending on the system setup.
Update: Due to popular demand, I simplified the “Autostart” option, including auto-detecting autostart possibility.

Independent releases from KDE core releases

Nowadays KMix development  is independent from KDE core development. With its own GIT repository, I will try to avoid branches and let distributions always ship the newest version. Hopefully it is possible for distributions to follow this scheme. KMix will use Feature Switches to disable unfinished features instead of developing the features in branches.

The long term Milestone plan: A final version: KMix v5 including Plasmoid

I am planning to develop KMix  until KMix v5 and then put it on maintenance mode. This means, I will add and complete some features and do a lot of polishing until KMix v5. After that I will do bug fixing only. Features will be a very extraordinary event from then on.  Igor Poboiko’s KMix Plasmoid  is definitely planned as an included feature.


28 responses to this post.

  1. Posted by Bartosz Brachaczek on August 4, 2012 at 11:21 pm

    Isn’t it encouraged by KDE HIG to make yes/no options labels always positive? I mean, “Suppress KMix Autostart” is rather negative and I wonder if it wouldn’t be better to change it to something like “Enable KMix Autostart” or “Automatically start KMix on login”.


    • In theory I agree to you. But unfortunately I cannot enforce an autostart, I can only supress an autostart IF the distribution decided to include it.


      • Posted by xpete on August 6, 2012 at 12:30 am

        I agree with Bartosz. You don’t need to enforce an autostart but you should check if the autostart is enabled or desabled and change the checkbox with it.

      • Posted by oliverhenshaw on August 14, 2012 at 12:08 pm

        That’s an implementation detail, you don’t need to expose it in the UI. Why draw attention to the fact that the technical thing you’re doing is suppressing an autostart by (IIRC) placing a file in a certain directory? Just offer it in terms that match what the user wants to do, e.g. something like the “Automatically start KMix on login” suggested above.

        If the distribution hasn’t provided an autostart file, just don’t offer the option.

      • I agree, but it is not so easy to detect Autostart capability. But actually this is exactly the topic of my post (“If you decide to do things, then do them right”), so I put in some extra hours to get it right. I updated KMix and the screenshot. Thanks oliverhenshaw and everyone else who suggested that for your constructive feedback.

  2. Posted by xpete on August 5, 2012 at 12:29 am

    what is kmix5 roadmap? Qt5? QML?

    As you are improving usability please change the option “Supress KMIx Autostart” to only “Autostart” or sth like that and make it enabled by default.
    Change the menu “File” to sth like “Kmix” or “Mixer”
    Change the window title to “Kmix” so it won’t change with the tabs.
    And maybe remove the option to hide the menu and the right click menu.


    • As explained in my post, there will be no further features (at least nothing big *) – I think this is a very easy to understand Roadmap.
      Apart from that, your post contains some useful small changes. Thanks for that. But the last proposal to “remove the option to hide the menu and the right click menu” will not be done – that are common options you can find in many applications.

      * I also do not see how big changes like QML could help to advance user experience.


      • Posted by xpete on August 6, 2012 at 1:30 am

        >”that are common options you can find in many applications.”
        doing sth just because somebody else does is not a reason to keep it… I don’t see how this improves usability and I think this option is useless.

        >* I also do not see how big changes like QML could help to advance user experience.
        I was just asking… I don’t know how your code is but I QML would make the code easier to maintain and to try different looks. mine have lots of wasted space and looks ugly*.
        btw, you could add a sound level indicator on the left(like **) but i guess it’s not easy.



  3. Posted by steffen on August 5, 2012 at 8:47 am

    Is there an alternative to KMix in KDE?

    I often need to switch audio sources to another device (phonon only sets defaults, but sometimes I want to switch my music or video from speakers to headphones and sometimes vice versa). KMix does not allow to switch the sinks/sources on the fly, so I am use Gnome’s pavucontrol. However, I am unable to use my keyboard’s volume keys with pavucontrol, so I still have KMix running. What a mess, not easy at all.

    My wife does not cope at all on her laptop. Audio devices are changing all the time on a laptop, so a mixer that does not allow easy switching sources/sinks is not useful on a mobile device. 😦


    • If you use Pulseaudio you can open the Sound Setup from KMix’s main menu, where you can easily reconfigure your audio sources. You can also configure a keyboard shortcut for it.


      • Posted by steffen on August 6, 2012 at 7:17 am

        Err, no, “Sound Setup” only starts the phonon dialogue for setting defaults, and this will send _all_ audio of that type to one single device. pavucontrol allows to send each audio stream to an individual device, and apparently there is no KDE application with the same functionality.

    • Posted by teho on August 6, 2012 at 9:24 am

      Veromix is the best there is. It makes changing audio outputs as easy as dragging sources under outputs in its plasmoid.


    • Posted by sune on August 7, 2012 at 4:14 pm

      when using PA, right click on the input stream and tell which output stream it should go to.


      • Posted by Bartosz Brachaczek on August 10, 2012 at 10:17 pm

        This is hardly discoverable. And very unintuitive, at least in my opinion. I only see there a label with icon, a slider and a regular button for muting. None of these items do normally have a context menu to reach some actual additional function, at best only to control their look or behavior. I don’t think usability shines here.

  4. May be you can have a look on memory usage? I’ve a usage of 6MB when running it. On low end systems this is valueable space. I find that a little bit much only for controlling sound loundness via a slider or a key shortcut. This is really no offense, but there may be some easy optimizations which could lower the RAM usage of a standard KDE session.


    • No – I do not plan to look into it. Also measuring memory is not trivial – shared memory like libraries and icons can easily lead to wrong assumptions about actual memory usage (so 6MB might not actually be 6MB).


  5. Posted by tosky on August 5, 2012 at 9:52 pm

    “Independent releases from KDE core releases”
    Hi, have you thought about non-rolling releases (which are the big majority around)? It would be a big trouble for packagers, and having different versions out with different codebases will make also your life more difficult when searching/reproducing bugs.


  6. Posted by fasd on August 6, 2012 at 1:14 pm

    Great! Finally someone will make things work in KDE instead of adding another useless eye-candy.


  7. Posted by sune on August 7, 2012 at 4:17 pm

    How does independent releases fit within the kde workspace and collective releases? How does the way of doing features with switches fit in the general kde workflow?
    What about maintenance of stable branches?

    Remember that KMix is not any random addon application like amarok, but actually a application that all normal installs of a kde workspace will have installed, so it should really follow the rules and workflows from the rest of KDE.


    • Distributions actually endorsed the split of kdemultimedia in separate packages. Many distribution ship KMix since ages in its own package (not even in a kdemultimedia package). Actually you can install todays KMix under KDE4.4 (IIRC) and vice versa. So in fact KMix is pretty independent. I can only do quick maintenance if I don’t have to maintain all those branches. Just update KMix from v4.2 to v4.3 and that’s it (and no wondering from which branch a particular version might be).
      I agree that it takes some effort, but hopefully I can gain useful advice at the KDE Multimedia Sprint in Randa.


  8. Posted by apache on August 9, 2012 at 12:56 pm

    I wish I could set one sound level for every sound source. For example if 45 dB is the most comfortable level for me I wish that every sound would be normalized to this level.

    Perhaps it would be best if in Kmix I could just set the level to which every sound is normalized. If other user has better or worse hearing they could change normalization level easily but still be able to hear everything at the same level.


  9. Posted by Alan on August 11, 2012 at 6:29 am

    I’m coming in a bit late on this blog but …

    The Restore Volumes on Startup setting has always seemed a bit weird to me.
    If this means to restore the volume to the setting when I last closed down/logged out then I’m going to get the volume I was listening to Rock & Roll with last night as the volume of login notification when I log in next morning – Ouch!
    If it means restoring to a /saved/ setting (like – keep it quiet please, I’ve got a hangover) then that’s different 🙂

    Another point I’d like to raise is the use of the acronym PCM (Pretty Cool Music? Pink Candy Mouse?) since mere mortals will have to google for the meaning and then try and work out what Pulse Code Modulation means.
    Surely there’s a better label for non-audio-techs.


    • About the PCM label: Many modern distributions ship with Pulseaudio, which presents a much more user friendly view. Renaming PCM is out-of-question, as it will confuse even more people (I tried it with a different control some time ago and a lot of people were complaining: “Where has it gone?”, “Why have other mixers it but not KMix?” and so on).


  10. […] About « Usability first – KMix’s long term Milestone plan […]


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: