Closed GoogleCodeExporter closed 8 years ago
So, I've been thinking on this. Our present system for telling the framework
to use NC is an all or nothing solution realistically. Ping/Pong cant be
scaled to every app and note type, much less the rules per specific
notification system that is coming in 2.1.
The best idea I've come up with for a Growl shipped solution (as opposed to a
third party plugin) so far is that if the resolved display style (and it would
need to be a visual display really) is the NC display, and the framework is new
enough, we return back an error code that tells the framework to use its NC
implementation (this is due to the icon being only the app that sent it issue).
If the framework isn't new enough, Growl uses its NC implementation.
This has a couple of hitches, first, the framework needs updating, this is
likely unavoidable no matter what we do due to the limitations of NC (mainly
the icon issue). Second, the server structure and the rules structure
conflict somewhat in this regard. The server expects a response about the fate
of a notification immediately upon calling dispatchNotificationWithDictionary,
while rules asynchronously evaluates the notification (it presently fakes it
out and returns enabled regardless of whether it was or not). This will
require reworking parts of the server and to be willing to hold a notification
packet/socket while it waits for a response from the rules system.
To be honest, the requirement for updating the framework makes this a less than
desirable level of user and developer experience, but like I said, not really
avoidable that I can tell. If we want per app system, this is (as far as I can
think) the best/only real route available.
Original comment by dan...@growl.info
on 30 Nov 2012 at 2:04
As an alternate solution, again with it's own issues. We could switch from
using Growl.app's internal NC implementation to using Bark's if Bark is
installed.
Pros:
It's easy to install Bark
Does not require upgrading of frameworks
Makes notifications appear in NC as if they are from their proper app
Notifications are still clickable.
Extremely easy to code - ~5 lines of code, does not interfere with any other
part of Growl to enable this feature
Cons:
Requires users install a third party plugin
Could face a problem with review if we link directly from within Growl to
barkplug.in
Note, linking to their website doesn't conflict with the rule about downloading
code which modifies growl, as we don't initiate the download, only direct the
user to their website. However, it may be considered skirting the rules too
closely on NC to link to it.
To me this is the simpler, better solution ultimately. Upgrading frameworks is
a cumbersome task for developers and users, and for users, not 100% safe. Id
much rather tell someone to install a plugin than to tell them to muck with a
framework, and Id rather not tell developers they ought to upgrade their
frameworks again to support this feature.
Original comment by dan...@growl.info
on 30 Nov 2012 at 11:36
Let's use the bark plugin. Put the link into preferences somewhere. We need to
talk to the bark developers. If the app store rejects for linking to their
page, we'll remove the link obviously. It really sounds like the better
solution for people using Growl, developers, and us.
Original comment by ch...@growl.info
on 30 Nov 2012 at 11:43
Backend done as of 7bfa1d57cdfe for 2.1, works with global or the rules
"notification-center" display option (and of course users can just UI configure
apps/notes to use the Bark action and no display style). Flagging as started
so we remember to get the UI changes done.
Original comment by dan...@growl.info
on 1 Dec 2012 at 1:14
After discussion, UI idea has been scrapped, best not risk the fight with the
app store powers that be. Closing as fixed in source
Original comment by dan...@growl.info
on 3 May 2013 at 6:20
Original issue reported on code.google.com by
ch...@growl.info
on 5 Oct 2012 at 5:19