ROADMAP to public release
# readme
# documentation: add use cases for all watchers, links to github on main projects
# persists summary level [engine?], collapse/expand states [gtk]

ECOSYSTEM
# Devel::Comments -> Smart::Comments
# add packages for various linux distributions. Try openSUSE Build ServiceServer
# add an gentoo ebuild

ENGINE
# watcher groups?
# watcher actions: reset, mute, act (click), force check?
# timestamps should include dates for sub-events?
# all watchers into "poll" function, to allow it blinc on UI

REFACTOR:
# watcher: watcher_function?
# make EvenItems stashable and distinct the "new" items in status from the old ones.

WATCHERS:
# generic command executor
# metacpan rest-api ? 
# ping: async dns query?
# rss: handle errors: non-200
# rss: record timestamp
# rss: smart update: use header's info 'if-modified-since'
# rss: gather item titles or bodies
# rss: display bodies as hints?
# rss: get rid of XML::Simple
# weather: bug: empty title on startup. 
# weather: add other tracking parameters
# weather: add dsl for warnings
# json watcher: curl -b 'PHPSESSID=470c412bd1b60bd9d463771490b9e132' -H 'X-Requested-With: XMLHttpRequest' -g 'http://media.iptel.by/video/cs/csadmin.php?DATA[SubCategoryID]=0&DATA[GenreID]=0&DATA[CountryID]=0&DATA[SortID]=1&DATA[SortCheckBox]=1&DATA[StartPageNum]=1&DATA[SearchMode]=0&DATA[SearchStr]=&DATA[SearchRBSel]=0&DATA[action]=getMainPage'
# reminder watcher

BUGS:
# handle errors in rss thread (silently ignore?)
*** unhandled exception in callback:
***   File does not exist: Thread not found.
***    at /home/dmol/development/perl/lib/lib/perl5/App/PerlWatcher/Watcher/Rss.pm line 89.
***  ignoring at /home/dmol/development/perl/lib/lib/perl5/App/PerlWatcher/Engine.pm line 65.
# error:
*** unhandled exception in callback:
***   AnyEvent::Handle uncaught error: Broken pipe at /home/dmol/development/perl/lib/lib/perl5/x86_64-linux-thread-multi/AnyEvent/Impl/Glib.pm line 57.
***  ignoring at /home/dmol/development/perl/lib/lib/perl5/App/PerlWatcher/ui/Gtk2/EngineBackend.pm line 16.
# redraw window on moving 
# warning: Too late to run CHECK block at /home/dmol/development/perl/dev-env/perlbrew/perls/perl-5.16.3/lib/site_perl/5.16.3/x86_64-linux/EV.pm line 123.

OTHER:
# error hanlding, e.g. user typos in config?
# handle watcher's errors at startup
# Add separate terminal application with spinners like Term::Spinner::Lite or Term::Twiddle

FUTURE/POSTPONED:
# rss: atom feeds?
# ping: implement echo protocol for TCP/UDP for pinging devices.
# other (non-gtk2) backends
# cookbook of solutions

