OpenSource programming

July 8, 2008

Keeping you notified

Filed under: General — Dmitry @ 4:58 pm

I decided to post a little update on the state of Notify plasmoid which currently resides in playground (it is planned to move it to 4.2’s kdebase once 4.1 is out).
Well, I can say that I already use it on a daily basis since quite some time ago and it looks stable from crash-free POV :)

After Riccardo (ruphy) provided me with great mockup and further feedback on how it should behave, I started to work.
Actually, a new look was implemented rather quick and later I did only some minor things + code reshuffling from time to time.
I just didn’t blog (for some unknown reason :-P)

Currently the applet evolved into something you can see below:

Details:
– Now it sits in panel as an icon and shows notifications in a popup as they arrive (it still can be added to desktop – it’ll look like what you see in a popup)
– Notifications from one application are grouped. Notifications in a group can be switched with arrows (soon: this will be animated too)

Issues (some of known ones) – so you don’t keep spamming me by reiterating over them :-P
– Layouting of action buttons (like “Chat” on a screenshot) looks screwed – too close to the text, too little space for the text. To be improved.
– Perhaps other visual layout changes pending.
– Action buttons visual look is WIP. It’s actually a stub – i expect them to be drawn more nicely.
– You must have noticed ugly whitish corner edges around the popup. I’m having issues with setting proper mask for the widget that actively resizes itself – to be investigated.
– Whole applet doesn’t react to plasma theme changes and it currently respects only one theme – oxygen :) That means, I develop it with oxygen theme being set in plasma and didn’t even take a look on other themes. yet.
– Perhaps something else I forgot.

So as you can see most of the issues are on visual side. Functionality wise – it works. Notifications are displayed, actions are triggered :)
Well, visual side is a very important one. That’s what will be my main focus for now.

I’d be grateful for any testing of this applet – if you find any crashes or some other bugs, please ping me on irc (dimsuz) or mail me at: <irc_nick>@gmail.com :)

P.S. To ehamberg: wrote this using kate vi mode ;)

34 Comments »

  1. Hello, nice job ! I really like how it looks and I hope you won’t mind if I make a couple of suggestions or questions :)

    1. How about making all the tabs except for the selected (current) one collapse ? It will look like an actual file and it will be a nice effect I think !
    2. I was reading about the progressing extender functionality this morning. Any plans on combining the powers ? :D
    3. The arrow buttons don’t follow the plasmoid’s theme ! I guess this is not finished yet ?
    4. I’m not sure if I misunderstood you when you mentioned working with the oxygen theme. Wouldn’t it make more sense to use one of the plasma themes (default, aya, slim glow etc) since this is a plasmoid ?

    Keep rocking ! :)

    Comment by Nikos — July 8, 2008 @ 5:39 pm

  2. @Nikos:
    Thanks! :)

    1. We (ruphy and me) thought about that. What we talked about was collapsing other tabs when there are more than 3 (or 2) notifications displayed.
    2. Yes, me and Rob (extenders’ GSoc Master) are aware of eachother’s work. Actually today we were talking about collaborating in future :)
    3. Yep. I guess they’ll be made more pretty
    4. Well, plasma’s default theme is oxygen :) I meant that as a plasmoid it currently doesn’t respect curent theme’s colors. This is supposed to be surely changed :)

    Comment by Dmitry — July 8, 2008 @ 5:50 pm

  3. Could the systray icon be configurable so there is none?

    I like my systray clean and only filled with icons i really need…

    I’m using Growl and I really like the way it works.

    But yours looks way cooler imho.

    Comment by Bernhard Rode — July 8, 2008 @ 5:58 pm

  4. Hi
    The applet is awesome.I use it and it rocks, but the only issue is that i need to have always on my panel.
    The space on panel is valuable.having an icon always there, is truly a waste of space.couldnt you make it shown without wasting space on panel?
    For example, when user adds it to panel, it just notifies the user using itself like ‘im here baby, you cannot see me unless there is an event’ so user wouldnt try adding it again and again and makes sure the applet is added.

    If im not clear, let me know, i will try to show you with a mockup.

    Comment by Emil Sedgh — July 8, 2008 @ 6:00 pm

  5. @Dmitry : Then it’s all good news ! Thanks ! :)

    Comment by Nikos — July 8, 2008 @ 6:06 pm

  6. @Bernhard & Emil:

    Wow, you asked a same question almost in one time :)
    I perfectly understand your conserns, i have been thinking about this space wasting too.

    The short answer is: no, the icon can’t be removed.
    The longer one: This is because plasma works like this – it doesn’t support adding hidden applets. Or I don’t know about this possibility. I’ll talk with Aaron about this, perhaps we’ll come up with something.

    Comment by Dmitry — July 8, 2008 @ 6:06 pm

  7. What about the Windows solution ( oh bad word :) ) with a horizontaly extending system tray that can show only part of what is in there and hide the rest ? There are more icons we rarely need to see, ie kwallet.

    Comment by Nikos — July 8, 2008 @ 6:17 pm

  8. @Nikos:
    I think you should be posting this to panel-devel, or to bugs.kde.org’s plasma component as a wish ;)

    Comment by Dmitry — July 8, 2008 @ 6:22 pm

  9. And how about doing the grouping only when there are > N notifications? If more notifications come in you could even animate the colapsing of several items into one.

    (just an idea, not something I think is really necessary or anything :) )

    Comment by Quintesse — July 8, 2008 @ 6:29 pm

  10. Looks good :)
    Nice to hear you plan to work with Rob !

    Comment by shamaz — July 8, 2008 @ 6:51 pm

  11. Dmtry, I just tried your applet and it looks awesome. I really like it. However, it is more or less unusable unless it is embedded into the panel and we all know that panel space is precious. As simple solution may i request that when added as an applet on the desktop, the applet comes to front when there is a new notification. Sort of like an “on screen display”. This can be made pretty with fade in fade out etc and the user has the flexibility to use any area of the screen to show notifications. What do you think? Is this possible?

    Comment by Kishore — July 8, 2008 @ 7:40 pm

  12. Hm, according to the screenshot the “New Device notifier” is also running (at least going by looks). Wouldn’t those two plasmoids be better suited combined into one? In other words, one notifier instead altogether instead of one dealing with hardware and one dealing with other notifications?

    And a question too: will it be possible to edit what kind of actions will be possible for the different events?

    Comment by Jonas — July 8, 2008 @ 7:47 pm

  13. Wow, this looks great. Just one thing: Instead of “someone is online” it should say “Peter is online” (Peter = user XY) … otherwise, cool stuff!

    Comment by fish — July 8, 2008 @ 10:32 pm

  14. @Kishore:
    I’m not sure it would be the simplest/right thing to do. It seems to me that having some way to hide an applet icon on panel or to make it take as little space as it can or smth – that is a real question. And you are not alone – see above :). And as I said to the people above, I’ll ask aseigo about the issue, perhaps he would suggest somthing

    @Jonas:
    You see, notifications are meant to be quick-popups. The look’n’forget ones. Not only Device Notifier has different purpose, but also a different code base. Perhaps joining such things can be done in a long run, but this is not a near goal – at least for now :)

    @fish:
    Well, the applet just displays what is being sent to it. So your correction applies to kopete, not to the applet :)

    Comment by Dmitry — July 8, 2008 @ 10:40 pm

  15. Haha, that is so cool, Dmitry!
    It’s nice of you to jump on board even before the ship is floating. :-)

    Comment by Erlend — July 8, 2008 @ 10:57 pm

  16. Hehe, I just have your branch checked out into my kdelibs/kate, so when I started kwrite it was in vi mode (i tried it earlier). So I went on and wrote this entry there. Well, I didn’t need much features implemented for that :)

    Comment by Dmitry — July 8, 2008 @ 11:08 pm

  17. Oh, I didn’t expect it to happen in the near future or at all if the code-bases are irrconciable for whatever reason.

    I don’t agree that the two notifiers have different purposes though. In both cases it’s look-n-forget (or can be I should say). What’s the, from a user point of view, the difference between a Kmail notifier you don’t act upon to a “A usb-stick was inserted popup” you don’t act upon? None that I can see. In both cases it may be something you want to act upon immediately, and it may also be that in both cases it’s a non-issue at the time the event happens and something you will only act upon at a more appropiate point in time. The only difference is the source of the event, and in the long run I do hope they can be reconciled. If nothing else because it would IMO be more user-friendly.

    And no, I don’t expect even KDE 4.2 to be perfect (nothing is after all, and in this case it would be really unfair to expect perfection. One part of the equation is still in playground after all) and there will always be something people will disagree about. I do like what I’m seeing A LOT and can’t wait to see what it’s like in practice! Kinda like folderview…something with a lot of potential that you can’t really see until you’ve used it – although this one doesn’t have the same potential for violent disagreement…I hope!

    Comment by Jonas — July 9, 2008 @ 12:49 am

  18. Just questions : wil it be possible to have different looks for the plasmoid’s notifications ?. It’s great if all applications can use the same system but maybe the user want to have a special style for all his IM popups, one for Amarok, an others for system notifications (flashy for important update, etc.)

    Moreover, it would be cool to have an history of previous notifications (especially usefull for popups with a time-out). Any plan for something like this ? At least, the icon in the panel could be useful for this

    Oh, did I say that you rocks btw ? :p

    Comment by DanaKil — July 9, 2008 @ 12:51 am

  19. @Dmtry
    Maybe i was not clear enough… let me try again. ;)
    I am not suggesting a change in behavior in current case when the applet is contained in the panel. Here any notification shows up in a popup message and is above all other application windows just as it should be.

    OTOH, i am suggesting a change in behavior for the case where the applet is not contained in the panel but is free on the desktop, next to the folderview applet. When the applet is placed it shows text saying “No new notification”. When it receives a notification, it shows it. However, when there are other application windows covering the applet, the user misses the notification. For this, would it be possible to momentarily bring this applet in front of all other windows so that the user gets to see the notification?

    I hope i was clear enough! :D

    Comment by Kishore — July 9, 2008 @ 3:49 am

  20. I’ve seen yesterday this thing for the first time… I’ll love it! ;)

    Comment by KesieV — July 9, 2008 @ 10:04 am

  21. @Jonas:
    Yes, I understand you. And I agree on all of your points except one thing. There exist other functionality in device notifier plasmoid that differentiates it from notify – specifically it allows you to examine current state of your devices and perform some actions on them, e.g. mounting or unmounting. Well, anyway, I can see your point and I think that uniting this thingies is one of the possibilities in future. We’ll see what’ll come :)

    @DanaKil:
    Not sure about different look for different apps. You see, the notify plasmoid just sits there and displays what comes to it. It doesn’t differ one app from another. Well, of course this can be made by adding some rules like “check if appname is amarok, use one colorscheme, or else use another”. But it has to be determined how this’ll look usability wise and if it will be convenient at all – to have an applet painted in all colors of rainbow :)))
    Speaking of history – yes, it is something we thought about. Though not anything I can describe you in detail – it’s yet to be sorted out :)

    @Kishore:
    Ah! Now I see :) I’m not sure about that, tbh. I think it won’t be very common to put this applet to the desktop. Well, I recorded your proposal in mind, maybe it’ll lead to something :) thanks.

    @KesieV:
    Glad you like it! :)

    Comment by Dmitry — July 9, 2008 @ 11:25 am

  22. Me again about the different look for the notification

    actually, il would be nice if each application can install a new look for your plasmoid (or use the default one) because I’m not sure the authors want to have a simple default popup (Amarok have some specific needs with the ratings and the album covers, etc.). Morehover, it would help to quickly differentiate from where does a notification come (I have for example Amarok on the top right, Konv in the bottom, etc…) and I can see in a glimpse if this is important or not (like a system update). This should help to avoid the fragmentation between all implementations but keep the old advantages

    Ok ok, I know it’s easy to write and I’m not sure about the feasability ;-)

    Comment by DanaKil — July 9, 2008 @ 1:07 pm

  23. is this applet anyway related to this: http://dot.kde.org/1169588301/, that is a very important missing feature of kde4 and i think that those plasmoids could be well integrated

    Comment by Dareus — July 9, 2008 @ 1:28 pm

  24. (related to the comments about the icon being permanently visible)

    Could there be an option to have notify add its icon to the systray, rather than as an applet on the panel?

    If upstream KDE were to implement auto-icon-hiding, it would be done in the systray, not to applets on the panel.

    Comment by Neil — July 9, 2008 @ 1:59 pm

  25. @Jonas: no, they’re serving a different purpose because you can use “decvices recently plugged in” to open or unmount the device. But probably this applet shouldn’t even exist, because:
    – opening/unmounting should be task of Dolphin and/or the ALI (Kickoff in default install). Notification should be task of Dmitry’s applet.

    @Neil: No, please. System tray is, IMHO, just a legacy concept. In fact, plasmoids could replace almost completely every systray use-cases.
    Death to the systray!! :)

    Comment by Vide — July 9, 2008 @ 6:28 pm

  26. @DanaKil
    Well, ok. I’ll let it naturaly emerge, will see what comes :)

    @Dareus
    No, not related. This is an applet for showing notifications, and that article is about another concept – showing currently running jobs :) They might look related, but actually they are different beasts. Btw, recently there was a post to one of the kde mailing list saying that work on this job progress display thingie will be continued, so expect it to evolve :)

    Comment by Dmitry — July 9, 2008 @ 11:25 pm

  27. @Vide,

    I won’t argue anymore about whether the two plasmoids serves different purposes or not. I think we essentially agree although we phrase things differently and differs slightly in the specifics.

    I am, though, curious why the systray is such a bad idea? For one thing I can not see (maybe I’m too stuck in my way of thinking though…) how it could be replaced entirely by plasmoids. If everything you use is aware of the concept of plasmoids and the way KDE4 works, sure. Then it could work. I, for one, don’t. At least for now I use a combination of KDE4, KDE3, and Gnome/Gtk apps (and even one old Motif-using app) and the three latter pretty much depends on a systray being present.

    Comment by Jonas — July 10, 2008 @ 10:10 pm

  28. [...] made it behave rather intrusive at times, but they’re fixed now. Additionally, a promising Notify plasmoid is in the works that can fully replace the popup announcements. Besides stacking up notifications at [...]

    Pingback by Dennis Nienhüser » Blog Archive » Moin Planet! — July 10, 2008 @ 11:26 pm

  29. I like it!

    I hope there is then lots of different kind styles for that pop-up box ;-)
    By my humble opinion, I would like to see those pop-up boxes little lighter, and they would come under the panel. So the panel would place own shadow top of pop-up boxes (small one). It would add more depth illusion. I’m waiting that someone forks that more like the first animations of KDE4 about few years back where the kopete icon was on “hole” ;-)

    Comment by Fri13 — July 11, 2008 @ 12:23 am

  30. I have been using it for a while now and like it pretty much. One thing that anyone would take notice of is that kopete, by default shows the user pic when announcing user related event. Is this even possible with the freedesktop.org standard and does the applet support it?

    Comment by Kishore — July 11, 2008 @ 4:26 pm

  31. Very nice!!

    Comment by SteksNeesk — August 3, 2008 @ 3:15 pm

  32. Just following on from the comments above about this taking up space: If you can’t “hide” the icon it’s going to take up more space for most applications (e.g. Kopete) which already have an icon in the system tray. But then it is only 1 extra bit of space for all the applications. I would suggest changing the icon when there are no alerts available: I think the sense of it taking up space is partly connected to it being such a “AARGH!” image. Smaller/grey when inactive. Perhaps when active could you use the icon of the notifying application although it might complicate multiple notifications.

    Also – could this be combined with the New Device Notifier in some way? It’s a little single-purpose and a unified notifer applet would be nice. I’m not sure of the plans for the Device Notifier though.

    Just random thoughts really. Keep doing what you’re doing ;)

    Comment by Martin Fitzpatrick — August 8, 2008 @ 8:37 pm

  33. I can tell that this is not the first time at all that you mention the topic. Why have you decided to touch it again?

    Comment by How to Get Six Pack Fast — April 15, 2009 @ 7:20 pm

  34. Could this evolve to became something like Specto (http://specto.sourceforge.net) it would be great to have something like this on KDE :)

    Comment by Mário — September 11, 2009 @ 7:42 pm


RSS feed for comments on this post. TrackBack URI

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

The Shocking Blue Green Theme. Blog at WordPress.com.

Follow

Get every new post delivered to your Inbox.

%d bloggers like this: