##Design Conversation:
<sub>in reverse chronological order.</sub>

###part the Third: in which code poet waxes v1.

After the unexpected divine intervention of Brian, the developer of Growl for Windows, I was able to refactor the evolving custom pin-able update-able displays into much slimmer and much less complex code. The updates are now batched by the server, soapi-notify, and pushed to the notifications that are still registered for updates.

Thanks Brian.

For those that are not quite satisfied with the default displays provided with soapi-notify, the source for the default display is a great place to start writing your own. Be sure to share it here.

There are a few more things that I would like to incorporate into V1 before calling it soup.

- the ability to monitor existing questions. keep an eye on questions as they evolve. 
- extended filtering support. either/or tags using the api methods is a bit limiting. I will use client side filtering to provide a more compelling filter experience. 
- proxy support - need to set up a proxy to test this.

These will be incorporated gradually over the next month or so. I need to finish some other projects and get a job. Anyone who wants to help out may submit patches and perhaps be added to the team.


**Let me know what you think**

---

###part the Second: in which code poet introduces vNext.

So, after considering radius' comments I realize that the omission of the vote/answer/view metric was a bad idea, so I redesigned the new notification and console output.

With new custom display:
![with soapi-notify-display][1]

With plain growl display:
![plain growl display][2]


Regarding the other half of the dialog in which the possibility of updating notifications has been realized in the self-updating notifications. 

If a notification times out and closes it self, there is no update. 

If the notification is 'sticky', either by configuration via Growl or from 'pinning' by clicking the grey lock icon, the notification refreshes itself at as yet to be determined refresh rate.

Compare the 'How to validate HTML Matches W3C standards' question in the screen shot: The console output shows the state of the question when it was pulled and the notification has tracked, in real-time, the votes, views and answers over the last 4 minutes.


This build is in the source repository right now. If you are familiar or would like to make yourself familiar with the process of manually adding a growl notification type, knock yourself out.

A binary release including self-installation of the display will be released tonight.

**Coming Up:**

By popular demand: A GUI. 

The GUI will provide extended functionality:

- more control over and more convenient specification of which tags to include/exclude/pin
- - select and copy your 'ignored tags' from the site and paste them into a text box to omit questions containing those posts from being notified.
- - select and copy your 'interesting tags' from the site and paste them into a text box to make questions containing those tags 'sticky' by default along with the appropriate background color visual cue.

**Let me know what you think.**

----

###part The First: in which code poet mixes good idea with short sightedness

I whipped up soapi-notify in a few hours. It actually took more time to publish and document than it did to write.

After using it for a day I am convinced that the idea is much more than a novelty.

I am polling at the recommended 60 second intervals and, funnily enough, I never see a question that is more than a minute old. imagine that. And it brings the point home when I see a stack of questions that are less than 10 seconds old.

So, I am convinced that this is a viable app. With that in mind, lets discuss some design issues.

**Vote, Answer and View counts**:

It is quite obvious that my soon to be previous screenshots include these metrics in the results and they seemed relevant in that there was non-null data. But this was due to a bug in the time-zone conversion.

In reality - as explained previously, the questions that are being reported are seconds old. There are no votes and there are no answers. So I have removed those data points, which makes the output much cleaner.

**Date Output**

For the console output, which is persistent and linear, I am including a short time string.  
e.g. `12:02:20 PM`

For transient notification such as Growl, I am verbalizing the time difference much in the same way you see on the sites.
e.g. `19s ago`

![alt text][3]


###Our very own Growl Display

So, not content with the default behaviour of any of the displays (growl notification boxes) that are available in that I would like to let them fade out as normal **but** i would also like the ability to 'pin' or make 'sticky' a notification. Kinda like a sticky note.

So I created a custom display just for us. Here is the design at full resolution.


![alt text][4]

I am building it so that all notifications are static height, unlike standard Growl displays, to present a more consistent display. They are just a little wider than most displays I have seen, around 400 pixels.  If this turns out to be an issue with screen real estate we can revisit this and re-institute a more narrow dynamic height notification.

**Let me know what you think.**


  [1]: http://img293.imageshack.us/img293/2336/soapinotify014b.png
  [2]: http://img42.imageshack.us/img42/5456/soapinotify014c.png
  [3]: http://img710.imageshack.us/img710/2950/soapinotifyv02screensho.png
  [4]: http://img443.imageshack.us/img443/3633/soapinotifydisplay.png