Tag Archives: UX

A fresh new KMix

KMix is KDE’s forgotten redheaded stepchild.

Humble beginnings

It is old, has been maintained my Christian Esken since early 2001, and has grown organically. Through no fault of Christian’s or anyone else’s, it is buggy, messy, and nobody else wants to help fix it, or at least has the constitution to do so.

Us redheads need to stick together.

At last year’s Randa, I started working on refactoring and rebuilding KMix from the ground up. Why should adjusting the volume in your desktop be so frustrating? It shouldn’t, thats why.

KMix is back with a new edition~

That is the prototype for the new KMix. The UI design has been shamelessly stolen from pavucontrol:

pavucontrol

As you can see, there is much work left to do. However, I feel that it is ready for others to hack on and test. This restructuring of KMix contains a *lot* of the original KMix code that has been contributed to over the years by over 142(!) people. The biggest committers have been Christian Esken (601), Colin Guthrie (130), and Laurent Montel (123). Mad props to those people and everyone else involved for their work and dedication.

When I started out on this endeavor, I aimed to fix a number of issues I had encountered before:

  • Sometimes at startup, your volume would be all kinds of broken since the KDED module, Tray application, and a session startup script would all sometimes try to restore the volumes and sometimes it just wouldn’t.
  • The GUI was completely rebuilt with every device change. Back in the early days of KMix, hot-pluggable audio devices wasn’t a major use case so it wasn’t included in the design.
  • Since there is no one process that controls all the volume everywhere, that means lots and lots of backend libraries and their respective data structures loaded into many processes, such as plasma, the tray application, the KDED module, the tiny script at startup that restores your volumes.
  • All these different points of control had to make sure they didn’t step on each others toes all the time.
  • To control the volume over dbus, the tray application had to be running. There was no dbus autolaunch, and why would you want a GUI application to automatically launch and do weird things when you just want a small script to turn down your volume between the hours of 3 am and 6 am?
  • pavucontrol had neat VU meters
  • I’m just kinda okay at UI and UX design for end-users.

In response, I’ve come up with the following design:

  • There exists a unique daemon on the session bus at org.kde.kmixd, which is managed via dbus autolaunch
  • This unique daemon supports multiple backends being loaded at once, such as ALSA and PulseAudio (note: currently requires commenting out an if statement)
  • Clients don’t need to worry about learning the oddities of ALSA or PulseAudio control since all interaction happens over the bus in a backend-agnostic manner. You are given …read more
    Source: FULL ARTICLE at Planet KDE

If you disable something, tell your users why!

I bet there is hardly a person who has never experienced this situation: You want to do something in an application, but the control (UI widget) which does it is greyed out – and you have no fracking idea why!

This is a frustrating situation, and that is why it’s common sense among UX professionals that you should never disable a control without telling users why it is disabled. However, even though this immediately made sense to any developer I told about it as well, I find it implemented in practice very rarely.

Now the question is: How and when do you tell users why something is disabled? Following the same principle as in my last post, that information should be given to users exactly when and where they need it: At the moment they want to use the control which is disabled. The easiest way to do this is to simply add a tooltip to disabled controls with a short explanation of the reason why, and ideally what the user needs to do to get it enabled (again). Even if a control is disabled, users tend to move the mouse to it anyways, which is when they get the information they need. On touch devices you cannot display a tooltip on hover, so you should display it when the disabled control is touched.

Not all users might hover or touch disabled controls intuitively, but if this gets widely implemented in an ecosystem such as KDE, users will learn to expect that information once they’ve found it in some applications.

Now I encourage all developers and interaction designers: Whenever you implement or design a disabled control, put a tooltip on it, you will spare your users a lot of frustration!

Filed under: …read more
Source: FULL ARTICLE at Planet KDE

Calligra Spring 2013 Sprint started

calligra-logo-200

The Calligra contributor community finally is meeting again for a sprint weekend, both virtually and in real life: There are 6 people at the Thoughtworks Bangalore office in India, sitting and hacking on stuff already since the morning. And 11 people are gathering at the Linuxhotel in Europe until the evening, to follow and join them the next two days. Other people are popping up in the random Google Hangout sessions, and of course in the IRC channel #calligra.

Today was arrival day, so more or less dynamically structured. Still the Krita people had already their BoF, as most of them arrived early. Tomorrow then there will be great discussion day, topics will be e.g. a new document/view-architecture and improving QML-support.

With doing a few more 2.x releases in the futures, Calligra is slowly approaching the 3.0 version, as a milestone where the individual programs not only are useful as serious viewers, with e.g. excellent import filters for MS formats, but finally also as reliable, easy to use and well integrated editors (which most still need to become).

Krita, as the current flagship, is already making waves in the world of movie and GFX studios, also Intel having used a special version (Krita Sketch) at their CES booth!
Author is going to find a so far unclaimed niche, while Kexi is getting closer to occupy its targetted one. Words, Stage, Sheets are offering alternative UX to what AOO | LO | MS have. Plan quietly evolves into a serious project planner. And more.
While these are all exciting developments, there are also new challenges in the future: KF5 & Qt5 & QML2 & Plasma Active.
Also some old challenges are still around: while now only more Kexi has Qt3Support dependencies, the started big refactoring of the central Calligra libraries waits to be finished.

There are lots of reasons to keep on pushing Calligra programs and libraries: built on Qt/kdelibs and with a quite modular architecture, it’s quite easy to adapt to new platforms out there, which e.g. can be seen with Calligra Active or the plugins for Okular, which have been done with only little effort in comparison. And Qt5 brings even more hope and options.

This sprint would not be possible without the supporters of KDE e.V., thanks to them to make it financially possible for us to meet up to develop plans for the future roadmaps. So if you, dear reader, want to do your little contribution to the future of KDE software as well, consider to Join The Game as a supporter of the KDE e.V. !

Thanks also to KO GmbH for supporting the sprint, to Thoughtworks Bangalore for hosting the Indian part of the sprint and for the Linuxhotel for the community-friendly offering in their great setting for the European part. And thanks to Claudia, the KDE e.V.s business manager, for her quick and uncomplicated handling of any issues.

Next here in Linuxhotel: Pasta self-cooking for dinner (that’s why there are pasta sauce recipes on the …read more
Source: FULL ARTICLE at Planet KDE

Why this message came when i added user in group?

By manalisharmabe

Hi all,

When I added one user in in this group hhs_gl6 following message got generated.


-bash-3.00$ /usr/local/bin/sudo /usr/sbin/usermod -G hhs_gl6 vivek
UX: /usr/sbin/usermod: hhs_gl6 name should be all lower case or numeric.


However when I cheked the user in /etc/group file, the user vivek was added in hhs_gl6 group.

Please tell me will there be any issue because of this error which occurred?
I don’t thing so, what all you say guys …?

Thanks.
Manali

Source: FULL ARTICLE at The UNIX and Linux Forums