This project is read-only.

Actual notifications rather than balloons


Would be nicer to have notification popups like most other clients, rather than just the sys tray balloon
Many thanks


mabster wrote Nov 5, 2010 at 11:21 PM

Since I don't personally minimize to tray, I never see the balloon notifications. If you'd like to have a play with changing them up (for the better) I'd gladly roll it into the code.

briandunnington wrote Dec 1, 2010 at 11:05 PM

Instead of a homegrown solution, how about integrating with Growl for Windows - ? Then folks can customize the display to their liking, as well as taking advantage of other features like forwarding to mobile devices.

I can take a stab at implementing it if you think this is something you might want to include. It would not be a required feature, so users wouldnt be forced to have a dependency on another program, but would allow its use if installed. What do you think?

mabster wrote Dec 2, 2010 at 2:46 AM

Not the first time I've heard Growl mentioned in this context, Brian! Probably worth further investigation on my part.

What I'm thinking of right now is to implement a MEF extension point into Halfwit2 (which I'm currently working on) so that you could write an extension that gets notified when new tweets arrive. That would mean anyone could write their own toast system and use it just by dropping a DLL into a known folder somewhere.

Still early days, and if you want to have a crack at Growl integration in the v1 source base, be my guest, but I'm keen to hear people's thoughts on this idea.

briandunnington wrote Dec 2, 2010 at 4:45 PM

sounds good. if Halfwit2 is already underway and extensions are on the roadmap, then i will probably just wait to do the integration. as long as there is something to tell me when the new tweets arrive (and their content), then the rest is actually really quite easy to do.

briandunnington wrote Dec 2, 2010 at 9:05 PM

actually, i got antsy and decided to just add Growl support into the v1 codebase. it only took about 15 minutes, so it is no big waste if v2 introduces a new architecture. although it is all functionally working, the two outstanding issues are:
  1. configuration UI - should the app just use Growl if it is available? should the user be able to choose? should it be mutually exclusive of the system balloons? are there any other Growl-related prefs that should be exposed? i didnt want to much up your UI too much, so i didnt expose any options related to this
  2. redundant notifications - when the app is first launched, all current tweets are loaded however, Halfwit does not appear to save a 'LastId' across sessions, so it treats all loaded tweets as new. if you minimize to the task notification area right as Halfwit loads, you get notification balloons like 'You have 96 new tweets', even if they are all old. Since Growl is tapping into the same tweet stream, you get 96 Growl notifications filling your screen =) other than remembering which tweets are old (for each type: timeline, mentions, search, etc), I dont see a good solution to this (I tried throttling the notifications, which prevents the flood, but really those notifications should not be notified again anyway).
hit me up via email if you want to discuss some more so we dont turn this Issues list into a development discussion forum: briandunnington AT gmail

mabster wrote Dec 3, 2010 at 12:54 AM

Hi Brian,

Yeah, Halfwit doesn't save a LastId between sessions. There's no persistence mechanism for tweets - it's all in-memory. Every time you run it's new tweets. This is by design purely to keep things simple. I don't see a problem with being told that there are ~100 "new" tweets when you first run. As far as Halfwit's aware, this is true.

I'm also happy with having no options UI for the notification. Provided it's lazy-loading the Growl stuff and doesn't bomb out if Growl isn't installed, that's good enough for me. If Growl is installed then it makes sense to use it by default.

I'll be in touch - might be able to roll this into V1 and see if it floats anyone's boat.

wrote Feb 2, 2013 at 4:17 AM