“Your aunt is now…”

Let’s just add this little feature, and then… oh, not so easy, wait a moment. Hm, some more moments…
Got hit by that this week. But I really wanted this feature to be done, because I needed it. And so I just had to give in.

But now it’s almost done, and now one can control how status changes are reported by the Khalkhi applet. I could not reuse the KNotify framework, as it’s assumption are not met. With Khalkhi each set of events is not defined by a whole program, but by the corresponding status service plugin, e.g. the one for IM presence, or the one for number of unread emails, the one for last.fm, or whatever. And the possible actions are not the same, at least there is no taskbar entry to flash, rather icons in the Khalkhi applet or in KAddressbook. Tricky is also that there isn’t a centralized Khalkhi demon for now, so all the programs using Khalkhi would all e.g. play the same notification sound. Because of this the events are currently just handled by the applet and nothing else.

The GUI for configuring all that is imitating that of the KNotify control, so it reuses at least the workflow pattern:
Control how events are presented

One can even control the settings per addressbook entry, so for aunt Lilly a new email triggers a sound, while it doesn’t for all others. But I am not sure how to do a good configuration GUI for this, so for now this is left as hidden feature, until I find some time. There is so much else to do… Like making the panel button really flash, finally.

Advertisements

7 thoughts on ““Your aunt is now…”

  1. Sounds great.

    >> One can even control the settings per addressbook entry, so for aunt Lilly a new email triggers a sound, while it doesn’t for all others. But I am not sure how to do a good configuration GUI for this, so for now this is left as hidden feature, until I find some time.

    I thought about something like “Triggers -> Conditions -> Actions”. These three combined appear in many places; the current (KDE 3.5.x) “Input Actions” in Control Center has it, and you also find it in e.g. “World Editor”, an advanced map editor for Warcraft III: http://i69.photobucket.com/albums/i69/Andrewgosu/spawniniupdatersers.jpg

    I will try to explain further:
    1. Triggers/Events:
    If any events occur, then check conditions. Please note that not both events have to occur at the same time; just one will do.

    2. This is optional, and mostly not used. However, while not too complex (I think), you can set advanced options like:
    condition: E-mail is from *@kde.org
    condition: Linus has joined #kde
    etc.
    3. The actions. Don’t think I need to explain this one. However, I think the if/else that the World Editor for example provides is unnecessary.

    Maybe I could try to do a mockup, maybe it wouldn’t really matter. I have some ideas how the gui could look like, but there are some flaws, for example it could be a little bit too advanced.

    Cheers.

  2. @Lans: Thanks for the proposal 🙂 But I share your fears that this would be too advanced/complex for most of the users/usages. Currently I am more for a dialog like the one Kopete offers to control the per-user event settings. Only that I don’t like their current solution too much, like the one-time option is not too understandable, and one cannot set things back to use the general settings.

  3. Thank you for you fast answer. 🙂

    I can’t find Kopete’s per-user event settings; maybe I’m looking in the wrong places, or my version is outdated?

    I had another brainstorm, and came up with a new solution. Wheather it’s good or bad is for you to decide, as always I just think how I as a user would want it; I actually don’t know anything about usability.

    Well, here it goes:
    A button that create a new “custom” event. That’s right – you’ll see the default events in the list, but you’ll also be able to add new events.

    A new event doesn’t differ that much from the default events.
    1. First, you have to give it a name. Maybe it should somehow be separated from the other events in the list?
    2. Then you can pick the event. Yes, this is maybe for more “advanced” users, and wouldn’t affect “normal” users. Please note my quotation mark before someone decides to flame me. 😉
    Maybe some more advanced events that normal users don’t want can be picked from here too?
    3. This is the big difference; you can set conditions to your custom events.
    4. Finally, you specify the actions, and your custom event is ready to go.

    This way you can also easily enable/disable (?) and delete your custom events. And I don’t think you’ll need to change the GUI that much; however I don’t know if a popup for creating your custom events is a good idea. Once again, here I’m clueless.

Leave a Reply

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

WordPress.com Logo

You are commenting using your WordPress.com 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