https://wiki.timesnapper.com/api.php?action=feedcontributions&user=LeonBambrick&feedformat=atomTimeSnapper - User contributions [en]2024-03-28T22:32:08ZUser contributionsMediaWiki 1.35.3https://wiki.timesnapper.com/index.php?title=Release_Notes&diff=422Release Notes2015-09-05T07:24:04Z<p>LeonBambrick: 3.9.0.3</p>
<hr />
<div>== Version 3.9.0.3, September 2015 ==<br />
<br />
* Minor patch, to fix a GDI object handle leak which lead to "Out of Memory" exceptions after running for a day.<br />
<br />
<br />
== Version 3.9.0.2, August 2015 ==<br />
<br />
* We now support, for example "4K" monitors, with high or custom DPI, including mixtures of DPI amongst multiple monitors.<br />
* Fixes URL grabbing from Firefox 25+<br />
* Fixes a problem caused by AVG tampering with mutex. This meant that single-instance checking stopped timesnapper from starting on machines that use AVG for virus checking. (The log file would read 'Another instance found')<br />
* Fixes problem where Reporting on "Time spent in front of computer" would show info for 1 more day was reported on than was requested. (So if you asked for 1 day, you'd get 2, etc.) Although we always like to give people more than they ask for, this was, indeed, a bug, that had to be fixed.<br />
<br />
== Version 3.8.0.48, November 2014 ==<br />
* Smarter Snapping<br />
** Due to the way modern applications are composed of an ever more complex combination of hardware/software layers we've had to redesign the way 'application only' snapshots are taken. This improves our capture of IE11, firefox with flash and any Direct3D rendered applications.<br />
<br />
== Version 3.8.0.47, September 2013 ==<br />
* New Features<br />
** Cater for changes to Google Chrome Browser, which stopped our URL detection from working.<br />
** Better handling for recording titles etc. of 64 bit applications from TimeSnapper (which is 32 bit)<br />
<br />
== Version > 3.7.0.4 ==<br />
Sometimes we release a new version to fix bugs that affect only very few users and we don't detail exactly here what those updates are. The users reporting those bugs are notified individually instead. If you are waiting for a particular bug-fix, we might not know about it so you should drop us a line to inform us! Feature requests are obviously welcome as well. Send mail to [mailto:support@timesnapper.com support@timesnapper.com]<br />
<br />
== Version 3.7.0.3, January 2012 ==<br />
* New features:<br />
** Verified and tested to work with the following browsers:<br />
*** Firefox 9.0.1 - 12.0<br />
*** Chrome v. 17.0.963.33 beta-m up to 19.0.1084.52 m<br />
<br />
== Version 3.7.0.1, September 2011 ==<br />
* New features:<br />
** Verified and tested to work with the following browsers:<br />
*** Chrome v. 14.0.835.126 beta-m<br />
*** IE 9.0.8112.16421<br />
*** Firefox 6.0.2<br />
*** Firefox 5.0<br />
*** Firefox 4.0<br />
** True archiving capabilities. Instead of deleting images during auto-cleanup, TimeSnapper can move the images to an archiving folder (accessed from Tools -> Options -> Auto Cleanup)<br />
** When a manual capture is taken, by default "Pin" that particular screenshot since the user most likely wants to hold on to that image.<br />
** Plugin enhancements<br />
<br />
* Bugs fixed: <br />
** Day browser: When deleting a single image, move the focus to the next image (instead of the previous) <br />
** Day browser: Fixed some bugs with regards to selection in timebar (using shift + arrows) and when displaying from the reports (previously all snapshots turned out selected from the beginning of the day to where the index was set)<br />
** Day browser: "Add flag" split button's drop down portion wasn't quite working. Also, now remembers the previous selection and re-uses it if you just press the button part of the split button<br />
<br />
== Version 3.6.0.0, January 2011 ==<br />
* New features: <br />
** Possible to "pin" screenshots. That will make the archiver skip those particular images during the clean-up process. <br />
*** This is possible to do from the TimeBar in the day browser: select a range of images (or single), right click the TimeBar and select "Pin selected images".<br />
*** Also possible for individual screenshots using the "Pin" button<br />
*** If you want to protect a bigger range of images (e.g. a particular month), this feature is also available from the Find/Activity Overview screen. There you can search for screenshots over a range, right click and "Protect".<br />
*** Corresponding "Unpin" functionality exists of course<br />
*** Possible to see how many/much you have pinned in the Options -> Auto-cleanup screen.<br />
** Better error handling: If 5 captures in a row fail (for whatever reason), warn the user with a bubble from the tray icon. If 20 captures fail in a row, stop capturing and notify user with a message box<br />
** Other tweaking to enhance the robustness furthermore.<br />
<br />
* Bugfixing:<br />
** After long usage of TimeSnapper, it would become unresponsive and not take screenshots. That has now been fixed.<br />
<br />
== Version 3.5.0.24, September 2010 ==<br />
* URL capturing for the latest Google Chrome<br />
<br />
== Version 3.5.0.22, May 2010 ==<br />
* URL capturing in Firefox (German) 3.6.3 wasn't working properly <br />
* Minor cosmetic fixes<br />
<br />
== Version 3.5.0.18, May 2010 ==<br />
* Possible to exclude screenshots by URL's using the [[Filters]] functionality<br />
* Fixed problem with scaling on computers using unusual font sizes or DPI settings.<br />
* Plugin developers: SelectedDate property on the click event args for a custom menu now includes the time as well<br />
<br />
== Version 3.5.0.13, March 2010 ==<br />
* Minor update for supporting Greek AM/PM settings<br />
<br />
== Version 3.5, September 2009 ==<br />
<br />
* Plugin model enhanced considerably<br />
** 3 sample plugins come provided with the setup file (not the auto-update). They are located in the TimeSnapper\SamplePlugins folder:<br />
** RSS to Flags Plugin - Creates flags on the timeline (TimeBar) based on a RSS feed such as Twitter or Yahoo Pipes.<br />
** Opening Hours Plugin - Defines "opening hours" for TimeSnapper, i.e. the time when TimeSnapper is actively taking screenshots.<br />
** SQL Executer Plugin - For developers: Allows arbitrary SQL statements to be run against TimeSnapper database in order to extract or summarize data.<br />
* See our wiki for some screenshots and more details: Wiki: Plugins<br />
* Support for capturing URLs from Firefox 3.5.1<br />
* Various minor improvements<br />
<br />
== Version 3.4, March 2009 ==<br />
<br />
* Long awaited plugin model! Enthusastic TimeSnapper users with programming know-how can develop plugins using .NET<br />
* First plugin: "Export to animated .gif" pluqin.<br />
** Accessible by selecting a range of activity on the TimeBar in the Day Browser, right clicking and selecting "Create Animated Gif"<br />
* TimeSnapper Portable -- possible to run directly from a USB key<br />
* URL capturing enhancements for website classifications / productivity calculations<br />
** added support for URL capturing of Chrome 1.0xxx and IE 8.0 (beta)<br />
** now captures localhost URL and etc.<br />
* Day browser: Cosmetic enhancements<br />
* Day browser: Play speed selected with (Slowest, Slow, Normal, Fast, Very Fast) etc. (But still possible to enter milliseconds directly into the box)<br />
* Manual capture now works properly again ([Win]+[S] to bring up 'Shortcuts', then [M] for 'Manual capture' )<br />
* New installations now store the snapshots and the database in a local appdata folder instead of a roaming one (which could cause problems)<br />
* Automatic bug reporting includes some memory and OS information now<br />
* ObjectDisposed error should not appear any more on systems under heavy memory load<br />
* Upgrading from TimeSnapper Classic to Pro is now fully automated<br />
<br />
== Version 3.3, October 2008 ==<br />
<br />
* Day Browser: A decent zoom functionality finally! Now you can zoom into the screenshots more than before. Really nice for those capturing multiple monitors or those who need to take a much closer look at the screenshots.<br />
* Day Browser: Categorize web sites as productive or non-productive like any other application! You can do it from the Productivity Wizard or directly from the Day Browser. You can also easily see if the current screenshot is categorized as productive or not.<br />
* Day Browser: Ctrl-F5 refreshes/reloads the TimeBar<br />
* Automatic Note Taking Reminder: New option in the automatic popup dialog (note taking reminder). Now it's possible to chose between:<br />
* Showing dialog on top of all others (default behaviour)<br />
* Showing dialog minimized and flashing like MSN (new feature)<br />
* Activity Overview: Added URL and Domain to the list of available columns in the Activity overview dialog. You can of course group by them like other columns.<br />
* Reports: Added a duration column to the Flags Reports. The duration tells the time difference between the current task and the next one (as long as it isn't a NOTE)<br />
* Day Browser: Removed the +/- button. Use Ctrl-F to toggle between showing the toolbar or not.<br />
* App: By default check for updates automatically (can be turned off from the options dialog).<br />
* Bug fixes:<br />
** TimeSnapper: Text Extractor has stopped working. Debugging in VS shows the error: InvalidOperationException: SetCompatibleTextRenderingDefault must be called before the first IWin32Window object is created in the application (reported here)<br />
** If we ran out of space while logging, the app would crash (case 2085)<br />
** other minor bugfixes<br />
<br />
== Version 3.2.0.12, September 2008 ==<br />
<br />
* Program Statistics report improvements<br />
** Statistics per web site finally! URLs captured for IE, Firefox (3.0, 2.0), Chrome<br />
** possible to click IExplore / Firefox (not 3.0 yet) and Chrome to get a detailed breakdown of web pages<br />
** show the hours as well as the percentage<br />
** a total column at the bottom to show overall computer usage<br />
* Some performance tuning when loading a day in the Day Browser<br />
* Starts up a lot faster<br />
* The following reports have been enhanced to include a link to the appropriate day in the Day Browser:<br />
** Time Spent in front of the computer Report<br />
** Productivity Score report<br />
** Flags Report<br />
** Disk Space Usage Report<br />
* Assorted bug fixes and cosmetic changes<br />
<br />
== Version 3.1.0.31, June 2008 ==<br />
<br />
* Day browser - Timebar: show productive and nonproductive time as green and red in the timebar<br />
* Day browser - Timebar: activity shown as all-blue if the productivity score panel is hidden in the day browser<br />
* Day browser - Shortcuts: left and right arrow keys can be used to scroll between snapshots without having to set the focus specifically to the timebar. This is more consistent with how people expect this to work<br />
* Automatic Note Taking Reminder: Previous Comment Text Behavior Inconsistent fixed.<br />
* Activity Overview: Wild cards are automatically applied to program/window title search criteria<br />
* Activity Overview: Minor Bug - Activity Overview Export to CSV<br />
* Reports: Activity Cloud exclusion list made case insensitive<br />
* Error handling: The TimeSnapper database (Firebird) is validated and fixed on startup should any errors be found. (FbException ErrorCode=335544344 and 335544321)<br />
* Day browser - Timebar: removed a flickering problem when hovering over flags<br />
<br />
== Version 3.0, April 2008 ==<br />
<br />
* NOTE: This is a free upgrade for all existing customers!<br />
* Great improvements to the Activity Cloud (word cloud) report:<br />
** Click on a word in the cloud to zoom in. That generates a new cloud with only words related to the previously clicked word.<br />
** Then click the "View Activity" link to see all activity relating to that word in the Activity Search dialog.<br />
* More meaningful cloud because:<br />
** Users can now configure what words/phrases to exclude from the word cloud<br />
** Users can configure what words to keep together in the cloud, e.g. names<br />
** Added the ability to import exclude lists from a file. This is useful to exclude frequent words from other languages<br />
** Two word lists are shipped with the installation: "Top 100" word lists for German and Spanish<br />
* Bugfixes:<br />
** Multi-monitor screenshots were broken for users with "unusual" monitor placement (e.g. monitor 2 on the left of monitor 1).<br />
** Program statistics report: firefox could appear multiple times in the report because of case sensitivity.<br />
** Auto-popup: Allow users to enter Zero in "after X seconds of inactivity" in the "Auto-popup note-taking reminder configuration"<br />
** Timesheet database integration: transactions switched off if provider is mysqlprov<br />
** other minor bugfixes<br />
* Technical:<br />
** Moved to Microsoft .NET framework, version 2.0 which will ease adding multiple long awaited features<br />
** Replaced the webbrowser control with a .net version of it (no need for interop .dlls anymore)<br />
<br />
== Version 2.7, February 2008 ==<br />
<br />
* New report: Activity Cloud. Shows a word cloud of accumulated windows titles for a given period. This can give you an idea really quickly about what you were doing on a particular day. Words that appear more frequently appear bigger in the cloud.<br />
* New filtering controls in the reports dialog for easier date ranges selections<br />
* Some minor fixes:<br />
* TimeSnapper was unable to capture apps in Vista running with elevated privileges - normally Visual Studio as admin (UAC turned ON)<br />
* Capturing (semi-)transparent windows in a multi-monitor setup didn't always work<br />
* Saved Dialog positions should be ignored if out of bounds<br />
* The bug report dialog now allows empty email address<br />
* Check if the database version is later than the TS client<br />
* Multiple retries for connecting to the database if db-file is locked<br />
* Fixed problem that was continually logged if there was no BookingDefinitions.xml file.<br />
<br />
== Older releases == <br />
Please see our old [http://www.timesnapper.com/ReleaseNotes.aspx release notes page].</div>LeonBambrickhttps://wiki.timesnapper.com/index.php?title=Release_Notes&diff=420Release Notes2015-08-26T10:43:10Z<p>LeonBambrick: 3.9.0.2</p>
<hr />
<div>== Version 3.9.0.2, August 2015 ==<br />
<br />
* We now support, for example "4K" monitors, with high or custom DPI, including mixtures of DPI amongst multiple monitors.<br />
* Fixes URL grabbing from Firefox 25+<br />
* Fixes a problem caused by AVG tampering with mutex. This meant that single-instance checking stopped timesnapper from starting on machines that use AVG for virus checking. (The log file would read 'Another instance found')<br />
* Fixes problem where Reporting on "Time spent in front of computer" would show info for 1 more day was reported on than was requested. (So if you asked for 1 day, you'd get 2, etc.) Although we always like to give people more than they ask for, this was, indeed, a bug, that had to be fixed.<br />
<br />
== Version 3.8.0.48, November 2014 ==<br />
* Smarter Snapping<br />
** Due to the way modern applications are composed of an ever more complex combination of hardware/software layers we've had to redesign the way 'application only' snapshots are taken. This improves our capture of IE11, firefox with flash and any Direct3D rendered applications.<br />
<br />
== Version 3.8.0.47, September 2013 ==<br />
* New Features<br />
** Cater for changes to Google Chrome Browser, which stopped our URL detection from working.<br />
** Better handling for recording titles etc. of 64 bit applications from TimeSnapper (which is 32 bit)<br />
<br />
== Version > 3.7.0.4 ==<br />
Sometimes we release a new version to fix bugs that affect only very few users and we don't detail exactly here what those updates are. The users reporting those bugs are notified individually instead. If you are waiting for a particular bug-fix, we might not know about it so you should drop us a line to inform us! Feature requests are obviously welcome as well. Send mail to [mailto:support@timesnapper.com support@timesnapper.com]<br />
<br />
== Version 3.7.0.3, January 2012 ==<br />
* New features:<br />
** Verified and tested to work with the following browsers:<br />
*** Firefox 9.0.1 - 12.0<br />
*** Chrome v. 17.0.963.33 beta-m up to 19.0.1084.52 m<br />
<br />
== Version 3.7.0.1, September 2011 ==<br />
* New features:<br />
** Verified and tested to work with the following browsers:<br />
*** Chrome v. 14.0.835.126 beta-m<br />
*** IE 9.0.8112.16421<br />
*** Firefox 6.0.2<br />
*** Firefox 5.0<br />
*** Firefox 4.0<br />
** True archiving capabilities. Instead of deleting images during auto-cleanup, TimeSnapper can move the images to an archiving folder (accessed from Tools -> Options -> Auto Cleanup)<br />
** When a manual capture is taken, by default "Pin" that particular screenshot since the user most likely wants to hold on to that image.<br />
** Plugin enhancements<br />
<br />
* Bugs fixed: <br />
** Day browser: When deleting a single image, move the focus to the next image (instead of the previous) <br />
** Day browser: Fixed some bugs with regards to selection in timebar (using shift + arrows) and when displaying from the reports (previously all snapshots turned out selected from the beginning of the day to where the index was set)<br />
** Day browser: "Add flag" split button's drop down portion wasn't quite working. Also, now remembers the previous selection and re-uses it if you just press the button part of the split button<br />
<br />
== Version 3.6.0.0, January 2011 ==<br />
* New features: <br />
** Possible to "pin" screenshots. That will make the archiver skip those particular images during the clean-up process. <br />
*** This is possible to do from the TimeBar in the day browser: select a range of images (or single), right click the TimeBar and select "Pin selected images".<br />
*** Also possible for individual screenshots using the "Pin" button<br />
*** If you want to protect a bigger range of images (e.g. a particular month), this feature is also available from the Find/Activity Overview screen. There you can search for screenshots over a range, right click and "Protect".<br />
*** Corresponding "Unpin" functionality exists of course<br />
*** Possible to see how many/much you have pinned in the Options -> Auto-cleanup screen.<br />
** Better error handling: If 5 captures in a row fail (for whatever reason), warn the user with a bubble from the tray icon. If 20 captures fail in a row, stop capturing and notify user with a message box<br />
** Other tweaking to enhance the robustness furthermore.<br />
<br />
* Bugfixing:<br />
** After long usage of TimeSnapper, it would become unresponsive and not take screenshots. That has now been fixed.<br />
<br />
== Version 3.5.0.24, September 2010 ==<br />
* URL capturing for the latest Google Chrome<br />
<br />
== Version 3.5.0.22, May 2010 ==<br />
* URL capturing in Firefox (German) 3.6.3 wasn't working properly <br />
* Minor cosmetic fixes<br />
<br />
== Version 3.5.0.18, May 2010 ==<br />
* Possible to exclude screenshots by URL's using the [[Filters]] functionality<br />
* Fixed problem with scaling on computers using unusual font sizes or DPI settings.<br />
* Plugin developers: SelectedDate property on the click event args for a custom menu now includes the time as well<br />
<br />
== Version 3.5.0.13, March 2010 ==<br />
* Minor update for supporting Greek AM/PM settings<br />
<br />
== Version 3.5, September 2009 ==<br />
<br />
* Plugin model enhanced considerably<br />
** 3 sample plugins come provided with the setup file (not the auto-update). They are located in the TimeSnapper\SamplePlugins folder:<br />
** RSS to Flags Plugin - Creates flags on the timeline (TimeBar) based on a RSS feed such as Twitter or Yahoo Pipes.<br />
** Opening Hours Plugin - Defines "opening hours" for TimeSnapper, i.e. the time when TimeSnapper is actively taking screenshots.<br />
** SQL Executer Plugin - For developers: Allows arbitrary SQL statements to be run against TimeSnapper database in order to extract or summarize data.<br />
* See our wiki for some screenshots and more details: Wiki: Plugins<br />
* Support for capturing URLs from Firefox 3.5.1<br />
* Various minor improvements<br />
<br />
== Version 3.4, March 2009 ==<br />
<br />
* Long awaited plugin model! Enthusastic TimeSnapper users with programming know-how can develop plugins using .NET<br />
* First plugin: "Export to animated .gif" pluqin.<br />
** Accessible by selecting a range of activity on the TimeBar in the Day Browser, right clicking and selecting "Create Animated Gif"<br />
* TimeSnapper Portable -- possible to run directly from a USB key<br />
* URL capturing enhancements for website classifications / productivity calculations<br />
** added support for URL capturing of Chrome 1.0xxx and IE 8.0 (beta)<br />
** now captures localhost URL and etc.<br />
* Day browser: Cosmetic enhancements<br />
* Day browser: Play speed selected with (Slowest, Slow, Normal, Fast, Very Fast) etc. (But still possible to enter milliseconds directly into the box)<br />
* Manual capture now works properly again ([Win]+[S] to bring up 'Shortcuts', then [M] for 'Manual capture' )<br />
* New installations now store the snapshots and the database in a local appdata folder instead of a roaming one (which could cause problems)<br />
* Automatic bug reporting includes some memory and OS information now<br />
* ObjectDisposed error should not appear any more on systems under heavy memory load<br />
* Upgrading from TimeSnapper Classic to Pro is now fully automated<br />
<br />
== Version 3.3, October 2008 ==<br />
<br />
* Day Browser: A decent zoom functionality finally! Now you can zoom into the screenshots more than before. Really nice for those capturing multiple monitors or those who need to take a much closer look at the screenshots.<br />
* Day Browser: Categorize web sites as productive or non-productive like any other application! You can do it from the Productivity Wizard or directly from the Day Browser. You can also easily see if the current screenshot is categorized as productive or not.<br />
* Day Browser: Ctrl-F5 refreshes/reloads the TimeBar<br />
* Automatic Note Taking Reminder: New option in the automatic popup dialog (note taking reminder). Now it's possible to chose between:<br />
* Showing dialog on top of all others (default behaviour)<br />
* Showing dialog minimized and flashing like MSN (new feature)<br />
* Activity Overview: Added URL and Domain to the list of available columns in the Activity overview dialog. You can of course group by them like other columns.<br />
* Reports: Added a duration column to the Flags Reports. The duration tells the time difference between the current task and the next one (as long as it isn't a NOTE)<br />
* Day Browser: Removed the +/- button. Use Ctrl-F to toggle between showing the toolbar or not.<br />
* App: By default check for updates automatically (can be turned off from the options dialog).<br />
* Bug fixes:<br />
** TimeSnapper: Text Extractor has stopped working. Debugging in VS shows the error: InvalidOperationException: SetCompatibleTextRenderingDefault must be called before the first IWin32Window object is created in the application (reported here)<br />
** If we ran out of space while logging, the app would crash (case 2085)<br />
** other minor bugfixes<br />
<br />
== Version 3.2.0.12, September 2008 ==<br />
<br />
* Program Statistics report improvements<br />
** Statistics per web site finally! URLs captured for IE, Firefox (3.0, 2.0), Chrome<br />
** possible to click IExplore / Firefox (not 3.0 yet) and Chrome to get a detailed breakdown of web pages<br />
** show the hours as well as the percentage<br />
** a total column at the bottom to show overall computer usage<br />
* Some performance tuning when loading a day in the Day Browser<br />
* Starts up a lot faster<br />
* The following reports have been enhanced to include a link to the appropriate day in the Day Browser:<br />
** Time Spent in front of the computer Report<br />
** Productivity Score report<br />
** Flags Report<br />
** Disk Space Usage Report<br />
* Assorted bug fixes and cosmetic changes<br />
<br />
== Version 3.1.0.31, June 2008 ==<br />
<br />
* Day browser - Timebar: show productive and nonproductive time as green and red in the timebar<br />
* Day browser - Timebar: activity shown as all-blue if the productivity score panel is hidden in the day browser<br />
* Day browser - Shortcuts: left and right arrow keys can be used to scroll between snapshots without having to set the focus specifically to the timebar. This is more consistent with how people expect this to work<br />
* Automatic Note Taking Reminder: Previous Comment Text Behavior Inconsistent fixed.<br />
* Activity Overview: Wild cards are automatically applied to program/window title search criteria<br />
* Activity Overview: Minor Bug - Activity Overview Export to CSV<br />
* Reports: Activity Cloud exclusion list made case insensitive<br />
* Error handling: The TimeSnapper database (Firebird) is validated and fixed on startup should any errors be found. (FbException ErrorCode=335544344 and 335544321)<br />
* Day browser - Timebar: removed a flickering problem when hovering over flags<br />
<br />
== Version 3.0, April 2008 ==<br />
<br />
* NOTE: This is a free upgrade for all existing customers!<br />
* Great improvements to the Activity Cloud (word cloud) report:<br />
** Click on a word in the cloud to zoom in. That generates a new cloud with only words related to the previously clicked word.<br />
** Then click the "View Activity" link to see all activity relating to that word in the Activity Search dialog.<br />
* More meaningful cloud because:<br />
** Users can now configure what words/phrases to exclude from the word cloud<br />
** Users can configure what words to keep together in the cloud, e.g. names<br />
** Added the ability to import exclude lists from a file. This is useful to exclude frequent words from other languages<br />
** Two word lists are shipped with the installation: "Top 100" word lists for German and Spanish<br />
* Bugfixes:<br />
** Multi-monitor screenshots were broken for users with "unusual" monitor placement (e.g. monitor 2 on the left of monitor 1).<br />
** Program statistics report: firefox could appear multiple times in the report because of case sensitivity.<br />
** Auto-popup: Allow users to enter Zero in "after X seconds of inactivity" in the "Auto-popup note-taking reminder configuration"<br />
** Timesheet database integration: transactions switched off if provider is mysqlprov<br />
** other minor bugfixes<br />
* Technical:<br />
** Moved to Microsoft .NET framework, version 2.0 which will ease adding multiple long awaited features<br />
** Replaced the webbrowser control with a .net version of it (no need for interop .dlls anymore)<br />
<br />
== Version 2.7, February 2008 ==<br />
<br />
* New report: Activity Cloud. Shows a word cloud of accumulated windows titles for a given period. This can give you an idea really quickly about what you were doing on a particular day. Words that appear more frequently appear bigger in the cloud.<br />
* New filtering controls in the reports dialog for easier date ranges selections<br />
* Some minor fixes:<br />
* TimeSnapper was unable to capture apps in Vista running with elevated privileges - normally Visual Studio as admin (UAC turned ON)<br />
* Capturing (semi-)transparent windows in a multi-monitor setup didn't always work<br />
* Saved Dialog positions should be ignored if out of bounds<br />
* The bug report dialog now allows empty email address<br />
* Check if the database version is later than the TS client<br />
* Multiple retries for connecting to the database if db-file is locked<br />
* Fixed problem that was continually logged if there was no BookingDefinitions.xml file.<br />
<br />
== Older releases == <br />
Please see our old [http://www.timesnapper.com/ReleaseNotes.aspx release notes page].</div>LeonBambrickhttps://wiki.timesnapper.com/index.php?title=Release_Notes&diff=405Release Notes2014-11-07T09:31:39Z<p>LeonBambrick: Added 3.8.0.48</p>
<hr />
<div>== Version 3.8.0.48, November 2014 ==<br />
* Smarter Snapping<br />
** Due to the way modern applications are composed of an ever more complex combination of hardware/software layers we've had to redesign the way 'application only' snapshots are taken. This improves our capture of IE11, firefox with flash and Direct3D rendered applications.<br />
<br />
== Version 3.8.0.47, September 2013 ==<br />
* New Features<br />
** Cater for changes to Google Chrome Browser, which stopped our URL detection from working.<br />
** Better handling for recording titles etc. of 64 bit applications from TimeSnapper (which is 32 bit)<br />
<br />
== Version > 3.7.0.4 ==<br />
Sometimes we release a new version to fix bugs that affect only very few users and we don't detail exactly here what those updates are. The users reporting those bugs are notified individually instead. If you are waiting for a particular bug-fix, we might not know about it so you should drop us a line to inform us! Feature requests are obviously welcome as well. Send mail to [mailto:support@timesnapper.com support@timesnapper.com]<br />
<br />
== Version 3.7.0.3, January 2012 ==<br />
* New features:<br />
** Verified and tested to work with the following browsers:<br />
*** Firefox 9.0.1 - 12.0<br />
*** Chrome v. 17.0.963.33 beta-m up to 19.0.1084.52 m<br />
<br />
== Version 3.7.0.1, September 2011 ==<br />
* New features:<br />
** Verified and tested to work with the following browsers:<br />
*** Chrome v. 14.0.835.126 beta-m<br />
*** IE 9.0.8112.16421<br />
*** Firefox 6.0.2<br />
*** Firefox 5.0<br />
*** Firefox 4.0<br />
** True archiving capabilities. Instead of deleting images during auto-cleanup, TimeSnapper can move the images to an archiving folder (accessed from Tools -> Options -> Auto Cleanup)<br />
** When a manual capture is taken, by default "Pin" that particular screenshot since the user most likely wants to hold on to that image.<br />
** Plugin enhancements<br />
<br />
* Bugs fixed: <br />
** Day browser: When deleting a single image, move the focus to the next image (instead of the previous) <br />
** Day browser: Fixed some bugs with regards to selection in timebar (using shift + arrows) and when displaying from the reports (previously all snapshots turned out selected from the beginning of the day to where the index was set)<br />
** Day browser: "Add flag" split button's drop down portion wasn't quite working. Also, now remembers the previous selection and re-uses it if you just press the button part of the split button<br />
<br />
== Version 3.6.0.0, January 2011 ==<br />
* New features: <br />
** Possible to "pin" screenshots. That will make the archiver skip those particular images during the clean-up process. <br />
*** This is possible to do from the TimeBar in the day browser: select a range of images (or single), right click the TimeBar and select "Pin selected images".<br />
*** Also possible for individual screenshots using the "Pin" button<br />
*** If you want to protect a bigger range of images (e.g. a particular month), this feature is also available from the Find/Activity Overview screen. There you can search for screenshots over a range, right click and "Protect".<br />
*** Corresponding "Unpin" functionality exists of course<br />
*** Possible to see how many/much you have pinned in the Options -> Auto-cleanup screen.<br />
** Better error handling: If 5 captures in a row fail (for whatever reason), warn the user with a bubble from the tray icon. If 20 captures fail in a row, stop capturing and notify user with a message box<br />
** Other tweaking to enhance the robustness furthermore.<br />
<br />
* Bugfixing:<br />
** After long usage of TimeSnapper, it would become unresponsive and not take screenshots. That has now been fixed.<br />
<br />
== Version 3.5.0.24, September 2010 ==<br />
* URL capturing for the latest Google Chrome<br />
<br />
== Version 3.5.0.22, May 2010 ==<br />
* URL capturing in Firefox (German) 3.6.3 wasn't working properly <br />
* Minor cosmetic fixes<br />
<br />
== Version 3.5.0.18, May 2010 ==<br />
* Possible to exclude screenshots by URL's using the [[Filters]] functionality<br />
* Fixed problem with scaling on computers using unusual font sizes or DPI settings.<br />
* Plugin developers: SelectedDate property on the click event args for a custom menu now includes the time as well<br />
<br />
== Version 3.5.0.13, March 2010 ==<br />
* Minor update for supporting Greek AM/PM settings<br />
<br />
== Version 3.5, September 2009 ==<br />
<br />
* Plugin model enhanced considerably<br />
** 3 sample plugins come provided with the setup file (not the auto-update). They are located in the TimeSnapper\SamplePlugins folder:<br />
** RSS to Flags Plugin - Creates flags on the timeline (TimeBar) based on a RSS feed such as Twitter or Yahoo Pipes.<br />
** Opening Hours Plugin - Defines "opening hours" for TimeSnapper, i.e. the time when TimeSnapper is actively taking screenshots.<br />
** SQL Executer Plugin - For developers: Allows arbitrary SQL statements to be run against TimeSnapper database in order to extract or summarize data.<br />
* See our wiki for some screenshots and more details: Wiki: Plugins<br />
* Support for capturing URLs from Firefox 3.5.1<br />
* Various minor improvements<br />
<br />
== Version 3.4, March 2009 ==<br />
<br />
* Long awaited plugin model! Enthusastic TimeSnapper users with programming know-how can develop plugins using .NET<br />
* First plugin: "Export to animated .gif" pluqin.<br />
** Accessible by selecting a range of activity on the TimeBar in the Day Browser, right clicking and selecting "Create Animated Gif"<br />
* TimeSnapper Portable -- possible to run directly from a USB key<br />
* URL capturing enhancements for website classifications / productivity calculations<br />
** added support for URL capturing of Chrome 1.0xxx and IE 8.0 (beta)<br />
** now captures localhost URL and etc.<br />
* Day browser: Cosmetic enhancements<br />
* Day browser: Play speed selected with (Slowest, Slow, Normal, Fast, Very Fast) etc. (But still possible to enter milliseconds directly into the box)<br />
* Manual capture now works properly again ([Win]+[S] to bring up 'Shortcuts', then [M] for 'Manual capture' )<br />
* New installations now store the snapshots and the database in a local appdata folder instead of a roaming one (which could cause problems)<br />
* Automatic bug reporting includes some memory and OS information now<br />
* ObjectDisposed error should not appear any more on systems under heavy memory load<br />
* Upgrading from TimeSnapper Classic to Pro is now fully automated<br />
<br />
== Version 3.3, October 2008 ==<br />
<br />
* Day Browser: A decent zoom functionality finally! Now you can zoom into the screenshots more than before. Really nice for those capturing multiple monitors or those who need to take a much closer look at the screenshots.<br />
* Day Browser: Categorize web sites as productive or non-productive like any other application! You can do it from the Productivity Wizard or directly from the Day Browser. You can also easily see if the current screenshot is categorized as productive or not.<br />
* Day Browser: Ctrl-F5 refreshes/reloads the TimeBar<br />
* Automatic Note Taking Reminder: New option in the automatic popup dialog (note taking reminder). Now it's possible to chose between:<br />
* Showing dialog on top of all others (default behaviour)<br />
* Showing dialog minimized and flashing like MSN (new feature)<br />
* Activity Overview: Added URL and Domain to the list of available columns in the Activity overview dialog. You can of course group by them like other columns.<br />
* Reports: Added a duration column to the Flags Reports. The duration tells the time difference between the current task and the next one (as long as it isn't a NOTE)<br />
* Day Browser: Removed the +/- button. Use Ctrl-F to toggle between showing the toolbar or not.<br />
* App: By default check for updates automatically (can be turned off from the options dialog).<br />
* Bug fixes:<br />
** TimeSnapper: Text Extractor has stopped working. Debugging in VS shows the error: InvalidOperationException: SetCompatibleTextRenderingDefault must be called before the first IWin32Window object is created in the application (reported here)<br />
** If we ran out of space while logging, the app would crash (case 2085)<br />
** other minor bugfixes<br />
<br />
== Version 3.2.0.12, September 2008 ==<br />
<br />
* Program Statistics report improvements<br />
** Statistics per web site finally! URLs captured for IE, Firefox (3.0, 2.0), Chrome<br />
** possible to click IExplore / Firefox (not 3.0 yet) and Chrome to get a detailed breakdown of web pages<br />
** show the hours as well as the percentage<br />
** a total column at the bottom to show overall computer usage<br />
* Some performance tuning when loading a day in the Day Browser<br />
* Starts up a lot faster<br />
* The following reports have been enhanced to include a link to the appropriate day in the Day Browser:<br />
** Time Spent in front of the computer Report<br />
** Productivity Score report<br />
** Flags Report<br />
** Disk Space Usage Report<br />
* Assorted bug fixes and cosmetic changes<br />
<br />
== Version 3.1.0.31, June 2008 ==<br />
<br />
* Day browser - Timebar: show productive and nonproductive time as green and red in the timebar<br />
* Day browser - Timebar: activity shown as all-blue if the productivity score panel is hidden in the day browser<br />
* Day browser - Shortcuts: left and right arrow keys can be used to scroll between snapshots without having to set the focus specifically to the timebar. This is more consistent with how people expect this to work<br />
* Automatic Note Taking Reminder: Previous Comment Text Behavior Inconsistent fixed.<br />
* Activity Overview: Wild cards are automatically applied to program/window title search criteria<br />
* Activity Overview: Minor Bug - Activity Overview Export to CSV<br />
* Reports: Activity Cloud exclusion list made case insensitive<br />
* Error handling: The TimeSnapper database (Firebird) is validated and fixed on startup should any errors be found. (FbException ErrorCode=335544344 and 335544321)<br />
* Day browser - Timebar: removed a flickering problem when hovering over flags<br />
<br />
== Version 3.0, April 2008 ==<br />
<br />
* NOTE: This is a free upgrade for all existing customers!<br />
* Great improvements to the Activity Cloud (word cloud) report:<br />
** Click on a word in the cloud to zoom in. That generates a new cloud with only words related to the previously clicked word.<br />
** Then click the "View Activity" link to see all activity relating to that word in the Activity Search dialog.<br />
* More meaningful cloud because:<br />
** Users can now configure what words/phrases to exclude from the word cloud<br />
** Users can configure what words to keep together in the cloud, e.g. names<br />
** Added the ability to import exclude lists from a file. This is useful to exclude frequent words from other languages<br />
** Two word lists are shipped with the installation: "Top 100" word lists for German and Spanish<br />
* Bugfixes:<br />
** Multi-monitor screenshots were broken for users with "unusual" monitor placement (e.g. monitor 2 on the left of monitor 1).<br />
** Program statistics report: firefox could appear multiple times in the report because of case sensitivity.<br />
** Auto-popup: Allow users to enter Zero in "after X seconds of inactivity" in the "Auto-popup note-taking reminder configuration"<br />
** Timesheet database integration: transactions switched off if provider is mysqlprov<br />
** other minor bugfixes<br />
* Technical:<br />
** Moved to Microsoft .NET framework, version 2.0 which will ease adding multiple long awaited features<br />
** Replaced the webbrowser control with a .net version of it (no need for interop .dlls anymore)<br />
<br />
== Version 2.7, February 2008 ==<br />
<br />
* New report: Activity Cloud. Shows a word cloud of accumulated windows titles for a given period. This can give you an idea really quickly about what you were doing on a particular day. Words that appear more frequently appear bigger in the cloud.<br />
* New filtering controls in the reports dialog for easier date ranges selections<br />
* Some minor fixes:<br />
* TimeSnapper was unable to capture apps in Vista running with elevated privileges - normally Visual Studio as admin (UAC turned ON)<br />
* Capturing (semi-)transparent windows in a multi-monitor setup didn't always work<br />
* Saved Dialog positions should be ignored if out of bounds<br />
* The bug report dialog now allows empty email address<br />
* Check if the database version is later than the TS client<br />
* Multiple retries for connecting to the database if db-file is locked<br />
* Fixed problem that was continually logged if there was no BookingDefinitions.xml file.<br />
<br />
== Older releases == <br />
Please see our old [http://www.timesnapper.com/ReleaseNotes.aspx release notes page].</div>LeonBambrickhttps://wiki.timesnapper.com/index.php?title=Release_Notes&diff=399Release Notes2013-09-25T11:53:39Z<p>LeonBambrick: 3.8.0.47 release notes</p>
<hr />
<div>== Version 3.8.0.47, September 2013 ==<br />
* New Features<br />
** Cater for changes to Google Chrome Browser, which stopped our URL detection from working.<br />
** Better handling for recording titles etc. of 64 bit applications from TimeSnapper (which is 32 bit)<br />
<br />
== Version > 3.7.0.4 ==<br />
Sometimes we release a new version to fix bugs that affect only very few users and we don't detail exactly here what those updates are. The users reporting those bugs are notified individually instead. If you are waiting for a particular bug-fix, we might not know about it so you should drop us a line to inform us! Feature requests are obviously welcome as well. Send mail to [mailto:support@timesnapper.com support@timesnapper.com]<br />
<br />
== Version 3.7.0.3, January 2012 ==<br />
* New features:<br />
** Verified and tested to work with the following browsers:<br />
*** Firefox 9.0.1 - 12.0<br />
*** Chrome v. 17.0.963.33 beta-m up to 19.0.1084.52 m<br />
<br />
== Version 3.7.0.1, September 2011 ==<br />
* New features:<br />
** Verified and tested to work with the following browsers:<br />
*** Chrome v. 14.0.835.126 beta-m<br />
*** IE 9.0.8112.16421<br />
*** Firefox 6.0.2<br />
*** Firefox 5.0<br />
*** Firefox 4.0<br />
** True archiving capabilities. Instead of deleting images during auto-cleanup, TimeSnapper can move the images to an archiving folder (accessed from Tools -> Options -> Auto Cleanup)<br />
** When a manual capture is taken, by default "Pin" that particular screenshot since the user most likely wants to hold on to that image.<br />
** Plugin enhancements<br />
<br />
* Bugs fixed: <br />
** Day browser: When deleting a single image, move the focus to the next image (instead of the previous) <br />
** Day browser: Fixed some bugs with regards to selection in timebar (using shift + arrows) and when displaying from the reports (previously all snapshots turned out selected from the beginning of the day to where the index was set)<br />
** Day browser: "Add flag" split button's drop down portion wasn't quite working. Also, now remembers the previous selection and re-uses it if you just press the button part of the split button<br />
<br />
== Version 3.6.0.0, January 2011 ==<br />
* New features: <br />
** Possible to "pin" screenshots. That will make the archiver skip those particular images during the clean-up process. <br />
*** This is possible to do from the TimeBar in the day browser: select a range of images (or single), right click the TimeBar and select "Pin selected images".<br />
*** Also possible for individual screenshots using the "Pin" button<br />
*** If you want to protect a bigger range of images (e.g. a particular month), this feature is also available from the Find/Activity Overview screen. There you can search for screenshots over a range, right click and "Protect".<br />
*** Corresponding "Unpin" functionality exists of course<br />
*** Possible to see how many/much you have pinned in the Options -> Auto-cleanup screen.<br />
** Better error handling: If 5 captures in a row fail (for whatever reason), warn the user with a bubble from the tray icon. If 20 captures fail in a row, stop capturing and notify user with a message box<br />
** Other tweaking to enhance the robustness furthermore.<br />
<br />
* Bugfixing:<br />
** After long usage of TimeSnapper, it would become unresponsive and not take screenshots. That has now been fixed.<br />
<br />
== Version 3.5.0.24, September 2010 ==<br />
* URL capturing for the latest Google Chrome<br />
<br />
== Version 3.5.0.22, May 2010 ==<br />
* URL capturing in Firefox (German) 3.6.3 wasn't working properly <br />
* Minor cosmetic fixes<br />
<br />
== Version 3.5.0.18, May 2010 ==<br />
* Possible to exclude screenshots by URL's using the [[Filters]] functionality<br />
* Fixed problem with scaling on computers using unusual font sizes or DPI settings.<br />
* Plugin developers: SelectedDate property on the click event args for a custom menu now includes the time as well<br />
<br />
== Version 3.5.0.13, March 2010 ==<br />
* Minor update for supporting Greek AM/PM settings<br />
<br />
== Version 3.5, September 2009 ==<br />
<br />
* Plugin model enhanced considerably<br />
** 3 sample plugins come provided with the setup file (not the auto-update). They are located in the TimeSnapper\SamplePlugins folder:<br />
** RSS to Flags Plugin - Creates flags on the timeline (TimeBar) based on a RSS feed such as Twitter or Yahoo Pipes.<br />
** Opening Hours Plugin - Defines "opening hours" for TimeSnapper, i.e. the time when TimeSnapper is actively taking screenshots.<br />
** SQL Executer Plugin - For developers: Allows arbitrary SQL statements to be run against TimeSnapper database in order to extract or summarize data.<br />
* See our wiki for some screenshots and more details: Wiki: Plugins<br />
* Support for capturing URLs from Firefox 3.5.1<br />
* Various minor improvements<br />
<br />
== Version 3.4, March 2009 ==<br />
<br />
* Long awaited plugin model! Enthusastic TimeSnapper users with programming know-how can develop plugins using .NET<br />
* First plugin: "Export to animated .gif" pluqin.<br />
** Accessible by selecting a range of activity on the TimeBar in the Day Browser, right clicking and selecting "Create Animated Gif"<br />
* TimeSnapper Portable -- possible to run directly from a USB key<br />
* URL capturing enhancements for website classifications / productivity calculations<br />
** added support for URL capturing of Chrome 1.0xxx and IE 8.0 (beta)<br />
** now captures localhost URL and etc.<br />
* Day browser: Cosmetic enhancements<br />
* Day browser: Play speed selected with (Slowest, Slow, Normal, Fast, Very Fast) etc. (But still possible to enter milliseconds directly into the box)<br />
* Manual capture now works properly again ([Win]+[S] to bring up 'Shortcuts', then [M] for 'Manual capture' )<br />
* New installations now store the snapshots and the database in a local appdata folder instead of a roaming one (which could cause problems)<br />
* Automatic bug reporting includes some memory and OS information now<br />
* ObjectDisposed error should not appear any more on systems under heavy memory load<br />
* Upgrading from TimeSnapper Classic to Pro is now fully automated<br />
<br />
== Version 3.3, October 2008 ==<br />
<br />
* Day Browser: A decent zoom functionality finally! Now you can zoom into the screenshots more than before. Really nice for those capturing multiple monitors or those who need to take a much closer look at the screenshots.<br />
* Day Browser: Categorize web sites as productive or non-productive like any other application! You can do it from the Productivity Wizard or directly from the Day Browser. You can also easily see if the current screenshot is categorized as productive or not.<br />
* Day Browser: Ctrl-F5 refreshes/reloads the TimeBar<br />
* Automatic Note Taking Reminder: New option in the automatic popup dialog (note taking reminder). Now it's possible to chose between:<br />
* Showing dialog on top of all others (default behaviour)<br />
* Showing dialog minimized and flashing like MSN (new feature)<br />
* Activity Overview: Added URL and Domain to the list of available columns in the Activity overview dialog. You can of course group by them like other columns.<br />
* Reports: Added a duration column to the Flags Reports. The duration tells the time difference between the current task and the next one (as long as it isn't a NOTE)<br />
* Day Browser: Removed the +/- button. Use Ctrl-F to toggle between showing the toolbar or not.<br />
* App: By default check for updates automatically (can be turned off from the options dialog).<br />
* Bug fixes:<br />
** TimeSnapper: Text Extractor has stopped working. Debugging in VS shows the error: InvalidOperationException: SetCompatibleTextRenderingDefault must be called before the first IWin32Window object is created in the application (reported here)<br />
** If we ran out of space while logging, the app would crash (case 2085)<br />
** other minor bugfixes<br />
<br />
== Version 3.2.0.12, September 2008 ==<br />
<br />
* Program Statistics report improvements<br />
** Statistics per web site finally! URLs captured for IE, Firefox (3.0, 2.0), Chrome<br />
** possible to click IExplore / Firefox (not 3.0 yet) and Chrome to get a detailed breakdown of web pages<br />
** show the hours as well as the percentage<br />
** a total column at the bottom to show overall computer usage<br />
* Some performance tuning when loading a day in the Day Browser<br />
* Starts up a lot faster<br />
* The following reports have been enhanced to include a link to the appropriate day in the Day Browser:<br />
** Time Spent in front of the computer Report<br />
** Productivity Score report<br />
** Flags Report<br />
** Disk Space Usage Report<br />
* Assorted bug fixes and cosmetic changes<br />
<br />
== Version 3.1.0.31, June 2008 ==<br />
<br />
* Day browser - Timebar: show productive and nonproductive time as green and red in the timebar<br />
* Day browser - Timebar: activity shown as all-blue if the productivity score panel is hidden in the day browser<br />
* Day browser - Shortcuts: left and right arrow keys can be used to scroll between snapshots without having to set the focus specifically to the timebar. This is more consistent with how people expect this to work<br />
* Automatic Note Taking Reminder: Previous Comment Text Behavior Inconsistent fixed.<br />
* Activity Overview: Wild cards are automatically applied to program/window title search criteria<br />
* Activity Overview: Minor Bug - Activity Overview Export to CSV<br />
* Reports: Activity Cloud exclusion list made case insensitive<br />
* Error handling: The TimeSnapper database (Firebird) is validated and fixed on startup should any errors be found. (FbException ErrorCode=335544344 and 335544321)<br />
* Day browser - Timebar: removed a flickering problem when hovering over flags<br />
<br />
== Version 3.0, April 2008 ==<br />
<br />
* NOTE: This is a free upgrade for all existing customers!<br />
* Great improvements to the Activity Cloud (word cloud) report:<br />
** Click on a word in the cloud to zoom in. That generates a new cloud with only words related to the previously clicked word.<br />
** Then click the "View Activity" link to see all activity relating to that word in the Activity Search dialog.<br />
* More meaningful cloud because:<br />
** Users can now configure what words/phrases to exclude from the word cloud<br />
** Users can configure what words to keep together in the cloud, e.g. names<br />
** Added the ability to import exclude lists from a file. This is useful to exclude frequent words from other languages<br />
** Two word lists are shipped with the installation: "Top 100" word lists for German and Spanish<br />
* Bugfixes:<br />
** Multi-monitor screenshots were broken for users with "unusual" monitor placement (e.g. monitor 2 on the left of monitor 1).<br />
** Program statistics report: firefox could appear multiple times in the report because of case sensitivity.<br />
** Auto-popup: Allow users to enter Zero in "after X seconds of inactivity" in the "Auto-popup note-taking reminder configuration"<br />
** Timesheet database integration: transactions switched off if provider is mysqlprov<br />
** other minor bugfixes<br />
* Technical:<br />
** Moved to Microsoft .NET framework, version 2.0 which will ease adding multiple long awaited features<br />
** Replaced the webbrowser control with a .net version of it (no need for interop .dlls anymore)<br />
<br />
== Version 2.7, February 2008 ==<br />
<br />
* New report: Activity Cloud. Shows a word cloud of accumulated windows titles for a given period. This can give you an idea really quickly about what you were doing on a particular day. Words that appear more frequently appear bigger in the cloud.<br />
* New filtering controls in the reports dialog for easier date ranges selections<br />
* Some minor fixes:<br />
* TimeSnapper was unable to capture apps in Vista running with elevated privileges - normally Visual Studio as admin (UAC turned ON)<br />
* Capturing (semi-)transparent windows in a multi-monitor setup didn't always work<br />
* Saved Dialog positions should be ignored if out of bounds<br />
* The bug report dialog now allows empty email address<br />
* Check if the database version is later than the TS client<br />
* Multiple retries for connecting to the database if db-file is locked<br />
* Fixed problem that was continually logged if there was no BookingDefinitions.xml file.<br />
<br />
== Older releases == <br />
Please see our old [http://www.timesnapper.com/ReleaseNotes.aspx release notes page].</div>LeonBambrickhttps://wiki.timesnapper.com/index.php?title=Plugins&diff=397Plugins2012-09-23T08:26:57Z<p>LeonBambrick: url fix</p>
<hr />
<div>TimeSnapper has plugin capabilities, allowing the user to extend the base functionality of the system. If you are a developer who wants to create plugins, then take a look at [[Plugin Development]]<br />
<br />
== Official Plugins ==<br />
<br />
* [[Animated Gif Plugin]] - creates an animated .gif file from a series of [[Screenshot|screenshots]] selected in the [[Day Browser|Day Browser's]] [[TimeBar]].<br />
<br />
== Open Source Sample Plugins ==<br />
<br />
We have open sourced the following plugins.<br />
<br />
* [[SQL Executer Plugin]] - For developers: Allows arbitrary SQL statements to be run against TimeSnapper database in order to extract or summarize data.<br />
* [[RSS to Flags Plugin]] - Creates flags on the timeline ([[TimeBar]]) based on a RSS feed such as Twitter or Yahoo Pipes.<br />
* [[Opening Hours Plugin]] - Defines "opening hours" for TimeSnapper, i.e. the time when TimeSnapper is actively taking [[Screenshot|screenshots]].<br />
<br />
The source code can be found on CodePlex at [http://timesnapperplugins.codeplex.com timesnapperplugins.codeplex.com].<br />
<br />
== User Plugins ==<br />
<br />
Some enthusiastic TimeSnapper users have gone ahead and written their own plugins to have it adapt to their own needs. And that's really great and hopefully it will be useful to others.<br />
<br />
* [http://kapie.com/2009/timesnapper-plugin TimeSnapper TwitPic Plugin] by [http://www.kapie.com Ken Hughes] - uploads the last screenshot to TwitPic automatically (''currently not compatible with v. 3.5 and later'')<br />
<br />
<br />
== Other Ideas? ==<br />
<br />
We maintain a list of ideas for plugins, at this page: [[Plugin_Ideas]]<br />
<br />
[[Category:Plugins]]</div>LeonBambrickhttps://wiki.timesnapper.com/index.php?title=Excel_lookups&diff=376Excel lookups2010-06-10T13:05:38Z<p>LeonBambrick: </p>
<hr />
<div>Multi-billion dollar companies use Excel for their most crucial tasks. And so can you.<br />
<br />
The following is a tutorial on how to use an excel file as the datastore behind the lookups functionality in TimeSnapper.<br />
<br />
The Excel Spreadsheet we're going to use is very simple and looks like this:<br />
<br />
[[Image:Excel_As_Database_0.png]]<br />
<br />
In TimeSnapper we're going to configure the application to use that spreadsheet as the source of our lookups.<br />
<br />
On the options form select the 'integration tab' and look at the task lookup integration area.<br />
You can set the connection string right there, or continue to details and paste it straight in, if you prefer.<br />
[[Image:Excel_As_Database.png]]<br />
<br />
<br />
Select the ellipsis beside the connection string, and you can use the 'Datalink properties' wizard to describe the connection you want to make. <br />
[[Image:Excel_As_Database_2.png]]<br />
<br />
(Alternatively, just write the connection string and paste it straight in. It may look something like this:<br />
<br />
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Users\Leon\Documents\Excel_Example2.xls;Extended Properties=Excel 8.0;Persist Security Info=False<br />
<br />
(Your file name and location may of course be different)<br />
<br />
<br />
<br />
The provider we're using for excel is the 'Microsoft.Jet.OLEDB.4.0'<br />
<br />
[[Image:Excel_As_Database_2_1.png]]<br />
<br />
<br />
For the 'database name' enter the name and path to your excel spreadsheet.<br />
<br />
I'm told that this provider can connect to both xlsx and xls files. Personally I haven't succeeded at connecting to an xlsx file, so i just saved as the older .xls file (Excel 97/2003 format). <br />
<br />
[[Image:Excel_As_Database_2_2.png]]<br />
<br />
<br />
The only real 'trick' to this procedure, is knowing that on the 'All' tab you have to give it an 'extended properties' value of 'excel 8.0'<br />
<br />
[[Image:Excel_As_Database_2_3.png]]<br />
<br />
Having done that, if you go back to the connection tab you should be able to press 'Test Connection' and have a success message.<br />
<br />
One trap here: because excel locks any file that's open, you have to make sure the spreadsheet is not open in excel.<br />
<br />
[[Image:Excel_As_Database_2_4.png]]<br />
<br />
Now we're able to connect to our spreadsheet and use it for lookups. <br />
<br />
We'll create one lookup called 'tasks' that will select from the first column of the first sheet in the spreadsheet.<br />
<br />
[[Image:Excel_As_Database_3_0.png]]<br />
<br />
Make sure the lookup is enabled, give it a caption of your choice, and in the 'Column from Query' textbox, tell it the heading name of the column whose value you want to display in the resulting lookup.<br />
<br />
The query could just as well be 'Select * from [Sheet1$]' but we're going to be specific and name the column we're interested in.<br />
<br />
With all that in place, we can test the query.<br />
<br />
[[Image:Excel_As_Database_3_1.png]]<br />
<br />
If everything has gone well then we'll see a small form that shows all of the resulting values from that column.<br />
<br />
<br />
<br />
[[Image:Excel_As_Database_3_2.png]]<br />
<br />
If we select one of the values, we'll see a preview of what has been returned.<br />
<br />
(In this case what we selected and what we returned were the same thing. But trickier configurations can also be performed)<br />
<br />
[[Image:Excel_As_Database_3_3.png]]<br />
<br />
After that I went through and disabled the other five lookups that are available so they wouldn't clutter up the 'new flag' dialog.<br />
<br />
<br />
Now, when you create with a flag type of 'Task' dialog there is one task lookup control, and selecting the ellipsis gives you a choice of the items in your excel spreadsheet.<br />
<br />
[[Image:Excel_As_Database_3_4.png]]</div>LeonBambrickhttps://wiki.timesnapper.com/index.php?title=Flags&diff=375Flags2010-06-10T12:54:26Z<p>LeonBambrick: /* Lookups */</p>
<hr />
<div>If you want to keep track of every other things that happens to you (apart from the things that TimeSnapper captures automatically) <br />
then '''Flags''' are your friend.<br />
<br />
When you add a '''Flag''' it shows up in the [[Day Browser]], it can be seen in [[Reports]] and (if you choose) in your [[Timesheet]].<br />
<br />
To add a flag at any time, click on the little TimeSnapper icon in the task tray... [[Image:ts-system-tray-active-inactive.png]] ...and choose 'New Flag'<br />
<br />
A New Flag is a beautiful thing!<br />
<br />
There are four types of flags....<br />
<br />
* a Task<br />
* a Note<br />
* a Break, or<br />
* End of day<br />
<br />
<br />
What is the meaning of these four types of Flags?<br />
<br />
== A Task ==<br />
<br />
a Task is som<br />
<br />
[[Image:Ts-flag-task.png]]<br />
<br />
<br />
== A Note ==<br />
<br />
a Note is way of annotating your time.<br />
<br />
[[Image:Ts-flag-note.png]]<br />
<br />
<br />
== a Break ==<br />
<br />
== End of Day ==<br />
<br />
<br />
<br />
== Auto Popup ==<br />
<br />
You can make popping up the flags dialog totally automatic, what we call the "Auto Popup Note Taking Reminder" feature.<br />
<br />
[[Image:Ts-flag-auto-popup-configure.png]]<br />
<br />
Automatically pop up 'New flag dialog'<br />
* every X [hours or minutes]<br />
<br />
* but only after X [minutes or seconds] of inactivity<br />
<br />
* every [day or weekday]<br />
<br />
* between [09:00] and [18:00]<br />
<br />
* showing dialog: [in front of every other dialog | minimized and flashing]<br />
<br />
<br />
By setting the "inactivity" setting to e.g. 1 minute, you make sure that the dialog doesn't interrupt you while you are actively working at the computer. It would only pop up if it was time AND you hadn't touched the computer for 1 minute. <br />
<br />
<br />
== Lookups ==<br />
<br />
[[Image:Ts_26_lookup.PNG]]<br />
<br />
Lookups can be populated by any OLE-DB compliant database... [[excel lookups|even excel!]]</div>LeonBambrickhttps://wiki.timesnapper.com/index.php?title=Excel_lookups&diff=374Excel lookups2010-06-10T12:53:46Z<p>LeonBambrick: New page: Multi-billion dollar companies using Excel for their most crucial tasks. And so can you. The following is a tutorial on how to use an excel file as the datastore behind your lookups. The...</p>
<hr />
<div>Multi-billion dollar companies using Excel for their most crucial tasks. And so can you.<br />
<br />
The following is a tutorial on how to use an excel file as the datastore behind your lookups.<br />
<br />
The excel spreadsheet we're going to use is very simple and looks like this:<br />
<br />
[[Image:Excel_As_Database_0.png]]<br />
<br />
In TimeSnapper we're going to configure the application to use that spreadsheet as the source of our lookups.<br />
<br />
On the options form select the 'integration tab' and look at the task lookup integration area.<br />
You can set the connection string right there, or continue to details and paste it straight in, if you prefer.<br />
[[Image:Excel_As_Database.png]]<br />
<br />
<br />
Select the ellipsis beside the connection string, and you can use the 'Datalink properties' wizard to describe the connection you want to make. <br />
[[Image:Excel_As_Database_2.png]]<br />
<br />
(Alternatively, just write the connection string and paste it straight in. It may look something like this:<br />
<br />
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Users\Leon\Documents\Excel_Example2.xls;Extended Properties=Excel 8.0;Persist Security Info=False<br />
<br />
(Your file name and location may of course be different)<br />
<br />
<br />
<br />
The provider we're using for excel is the 'Microsoft.Jet.OLEDB.4.0'<br />
<br />
[[Image:Excel_As_Database_2_1.png]]<br />
<br />
<br />
For the 'database name' enter the name and path to your excel spreadsheet.<br />
<br />
I'm told that this provider can connect to both xlsx and xls files. Personally I haven't succeeded at connecting to an xlsx file, so i just saved as the older .xls file (Excel 97/2003 format). <br />
<br />
[[Image:Excel_As_Database_2_2.png]]<br />
<br />
<br />
The only real 'trick' to this procedure, is knowing that on the 'All' tab you have to give it an 'extended properties' value of 'excel 8.0'<br />
<br />
[[Image:Excel_As_Database_2_3.png]]<br />
<br />
Having done that, if you go back to the connection tab you should be able to press 'Test Connection' and have a success message.<br />
<br />
One trap here: because excel locks any file that's open, you have to make sure the spreadsheet is not open in excel.<br />
<br />
[[Image:Excel_As_Database_2_4.png]]<br />
<br />
Now we're able to connect to our spreadsheet and use it for lookups. <br />
<br />
We'll create one lookup called 'tasks' that will select from the first column of the first sheet in the spreadsheet.<br />
<br />
[[Image:Excel_As_Database_3_0.png]]<br />
<br />
Make sure the lookup is enabled, give it a caption of your choice, and in the 'Column from Query' textbox, tell it the heading name of the column whose value you want to display in the resulting lookup.<br />
<br />
The query could just as well be 'Select * from [Sheet1$]' but we're going to be specific and name the column we're interested in.<br />
<br />
With all that in place, we can test the query.<br />
<br />
[[Image:Excel_As_Database_3_1.png]]<br />
<br />
If everything has gone well then we'll see a small form that shows all of the resulting values from that column.<br />
<br />
<br />
<br />
[[Image:Excel_As_Database_3_2.png]]<br />
<br />
If we select one of the values, we'll see a preview of what has been returned.<br />
<br />
(In this case what we selected and what we returned were the same thing. But trickier configurations can also be performed)<br />
<br />
[[Image:Excel_As_Database_3_3.png]]<br />
<br />
After that I went through and disabled the other five lookups that are available so they wouldn't clutter up the 'new flag' dialog.<br />
<br />
<br />
Now, when you create with a flag type of 'Task' dialog there is one task lookup control, and selecting the ellipsis gives you a choice of the items in your excel spreadsheet.<br />
<br />
[[Image:Excel_As_Database_3_4.png]]</div>LeonBambrickhttps://wiki.timesnapper.com/index.php?title=Integration&diff=373Integration2010-06-10T12:53:04Z<p>LeonBambrick: </p>
<hr />
<div>.<br />
[[Excel lookups]]</div>LeonBambrickhttps://wiki.timesnapper.com/index.php?title=File:Excel_As_Database_0.png&diff=371File:Excel As Database 0.png2010-06-10T12:49:30Z<p>LeonBambrick: Excel, image 0</p>
<hr />
<div>Excel, image 0</div>LeonBambrickhttps://wiki.timesnapper.com/index.php?title=File:Excel_As_Database_3_4.png&diff=370File:Excel As Database 3 4.png2010-06-10T12:29:52Z<p>LeonBambrick: Excel Lookup, image 11</p>
<hr />
<div>Excel Lookup, image 11</div>LeonBambrickhttps://wiki.timesnapper.com/index.php?title=File:Excel_As_Database_3_3.png&diff=369File:Excel As Database 3 3.png2010-06-10T12:29:39Z<p>LeonBambrick: Excel Lookup, image 10</p>
<hr />
<div>Excel Lookup, image 10</div>LeonBambrickhttps://wiki.timesnapper.com/index.php?title=File:Excel_As_Database_3_2.png&diff=368File:Excel As Database 3 2.png2010-06-10T12:29:25Z<p>LeonBambrick: Excel Lookup, image 9</p>
<hr />
<div>Excel Lookup, image 9</div>LeonBambrickhttps://wiki.timesnapper.com/index.php?title=File:Excel_As_Database_3_1.png&diff=367File:Excel As Database 3 1.png2010-06-10T12:29:09Z<p>LeonBambrick: Excel Lookup, image 8</p>
<hr />
<div>Excel Lookup, image 8</div>LeonBambrickhttps://wiki.timesnapper.com/index.php?title=File:Excel_As_Database_2_4.png&diff=366File:Excel As Database 2 4.png2010-06-10T12:28:51Z<p>LeonBambrick: Excel Lookup, image 7</p>
<hr />
<div>Excel Lookup, image 7</div>LeonBambrickhttps://wiki.timesnapper.com/index.php?title=File:Excel_As_Database_2_3.png&diff=365File:Excel As Database 2 3.png2010-06-10T12:28:34Z<p>LeonBambrick: Excel Lookup, image 6</p>
<hr />
<div>Excel Lookup, image 6</div>LeonBambrickhttps://wiki.timesnapper.com/index.php?title=File:Excel_As_Database_2_2.png&diff=364File:Excel As Database 2 2.png2010-06-10T12:28:18Z<p>LeonBambrick: Excel Lookup, image 5</p>
<hr />
<div>Excel Lookup, image 5</div>LeonBambrickhttps://wiki.timesnapper.com/index.php?title=File:Excel_As_Database_2_1.png&diff=363File:Excel As Database 2 1.png2010-06-10T12:28:01Z<p>LeonBambrick: Excel Lookup, image 4</p>
<hr />
<div>Excel Lookup, image 4</div>LeonBambrickhttps://wiki.timesnapper.com/index.php?title=File:Excel_As_Database_3_0.png&diff=362File:Excel As Database 3 0.png2010-06-10T12:27:43Z<p>LeonBambrick: Excel Lookup, image 3</p>
<hr />
<div>Excel Lookup, image 3</div>LeonBambrickhttps://wiki.timesnapper.com/index.php?title=File:Excel_As_Database_2.png&diff=361File:Excel As Database 2.png2010-06-10T12:27:23Z<p>LeonBambrick: Excel lookup, image 2</p>
<hr />
<div>Excel lookup, image 2</div>LeonBambrickhttps://wiki.timesnapper.com/index.php?title=File:Excel_As_Database.png&diff=360File:Excel As Database.png2010-06-10T12:26:47Z<p>LeonBambrick: Excel Lookup, image 1</p>
<hr />
<div>Excel Lookup, image 1</div>LeonBambrickhttps://wiki.timesnapper.com/index.php?title=Flags&diff=359Flags2010-06-10T12:24:50Z<p>LeonBambrick: /* Lookups */ added link to excel lookups</p>
<hr />
<div>If you want to keep track of every other things that happens to you (apart from the things that TimeSnapper captures automatically) <br />
then '''Flags''' are your friend.<br />
<br />
When you add a '''Flag''' it shows up in the [[Day Browser]], it can be seen in [[Reports]] and (if you choose) in your [[Timesheet]].<br />
<br />
To add a flag at any time, click on the little TimeSnapper icon in the task tray... [[Image:ts-system-tray-active-inactive.png]] ...and choose 'New Flag'<br />
<br />
A New Flag is a beautiful thing!<br />
<br />
There are four types of flags....<br />
<br />
* a Task<br />
* a Note<br />
* a Break, or<br />
* End of day<br />
<br />
<br />
What is the meaning of these four types of Flags?<br />
<br />
== A Task ==<br />
<br />
a Task is som<br />
<br />
[[Image:Ts-flag-task.png]]<br />
<br />
<br />
== A Note ==<br />
<br />
a Note is way of annotating your time.<br />
<br />
[[Image:Ts-flag-note.png]]<br />
<br />
<br />
== a Break ==<br />
<br />
== End of Day ==<br />
<br />
<br />
<br />
== Auto Popup ==<br />
<br />
You can make popping up the flags dialog totally automatic, what we call the "Auto Popup Note Taking Reminder" feature.<br />
<br />
[[Image:Ts-flag-auto-popup-configure.png]]<br />
<br />
Automatically pop up 'New flag dialog'<br />
* every X [hours or minutes]<br />
<br />
* but only after X [minutes or seconds] of inactivity<br />
<br />
* every [day or weekday]<br />
<br />
* between [09:00] and [18:00]<br />
<br />
* showing dialog: [in front of every other dialog | minimized and flashing]<br />
<br />
<br />
By setting the "inactivity" setting to e.g. 1 minute, you make sure that the dialog doesn't interrupt you while you are actively working at the computer. It would only pop up if it was time AND you hadn't touched the computer for 1 minute. <br />
<br />
<br />
== Lookups ==<br />
<br />
[[Image:Ts_26_lookup.PNG]]<br />
<br />
Lookups can be populated by any OLE-DB compliant database... [[even excel!|excel lookups]]</div>LeonBambrickhttps://wiki.timesnapper.com/index.php?title=Plugin_Ideas&diff=350Plugin Ideas2010-05-06T23:24:35Z<p>LeonBambrick: boss key</p>
<hr />
<div>== Phone log integration == <br />
<br />
Extract phone call logs from your phone (e.g. from a BlackBerry) and import as flags.<br />
<br />
== Image Correction == <br />
<br />
Run over older images, resize them and/or convert them to lower resolution.<br />
<br />
== Flags to Twitter ==<br />
<br />
Send flags to twitter. (Truncate at max length)<br />
(This is the opposite of the current 'RSS to Flags Plugin' which is used to turn Twitter entries into flags. If you use both at once, there would be a feedback loop which would probably blow up the entire internet)<br />
<br />
== A Goal Settings Plugin ==<br />
<br />
Helps you with rules such as...<br />
<br />
* During working hours tell me when my productivity slips below 80%<br />
* During working hours tell me when I have been unproductive for 1 hour during the day<br />
* During working hours tell me when I have been 90 productive for 2 hours... so i can give myself a reward.<br />
* Notify me when I haven't taken a X min break [idle time] for Y minutes, because breaks are good for my health.<br />
<br />
== Calendar Integration ==<br />
<br />
Put appointments from my iCal based calendar into [http://timesnapper.com TimeSnapper]<br />
<br />
The opposite:<br />
Put flags from TimeSnapper into your outlook calendar<br />
<br />
== More Outlook Integration == <br />
<br />
Record current application activity in outlook Journal.<br />
<br />
== NextAction as a plugin == <br />
<br />
When a next action item is crossed off -- have it logged in timesnapper <br />
(i.e. nextaction as a timesnapper plugin.... )<br />
<br />
== TwitterSnapper ==<br />
<br />
[DONE] Record my Twitter items as Flags in TimeSnapper (see [[Plugins]]<br />
<br />
Or the opposite: when I create a new flag, of type 'Note' -- add it to Twitter.<br />
<br />
== BaldyTracker ==<br />
<br />
Detect idle time and take a snapshot through webcam => needs ComputerIdle event (TS 3.5) and access to "SaveScreenshot(bmp, additionalinfo)"<br />
<br />
== SendTo ==<br />
<br />
SendTo: <br />
A menu item that lets you send the image in the day browser (or the reports in the reports dialog) to a folder location, or to an application.<br />
(could be used to connect the OCR module)<br />
<br />
== Archiver ==<br />
<br />
A true archiver (which doesn't delete the images, perhaps moves them or creates an .AVI file) <br />
<br />
== ContextSnapper ==<br />
<br />
Only take a Snap on Context Switch ( http://forums.timesnapper.com/forums/151/ShowPost.aspx)<br />
<br />
Discussion of some of these is here: http://forums.timesnapper.com/forums/1118/ShowPost.aspx<br />
<br />
== TFS Integration == <br />
<br />
Connect to TFS, get outstanding tasks and assign time against them. <br />
<br />
Or -- connect to TFS, read what work items a user completed, and drop them into the timeline as flags.<br />
<br />
== Secure TimeStamping == <br />
<br />
Need to prove that your images haven't been tampered with?<br />
You need to publish digitally signed cryptographically secure hashes of your data, to multiple timestamp servers on the Internet.<br />
<br />
The file itself does not need to be published until later, if proof is required.<br />
<br />
So this is low bandwidth, and doesn't involve uploading your images to the internet.<br />
<br />
Further reading: http://unenumerated.blogspot.com/2006/01/secure-timestamping-and-confidential.html<br />
<br />
<br />
== Boss Key ==<br />
<br />
Old school games had a boss key.<br />
If the boss is approaching your desk, you press a key and the game hides, showing instead a boring screen full of figures.<br />
<br />
Timesnapper could have a plugin that acts as a boss key.<br />
<br />
Press a key and all unproductive apps are minimized, and the most recently used productive app is maximized.<br />
<br />
I wish I had this. Not because 'the boss is coming' but because the 'executive' part of my brain keeps getting lost in all the distractions.<br />
<br />
Boss key for the win!<br />
<br />
<br />
<br />
[[Category:Plugins]]</div>LeonBambrickhttps://wiki.timesnapper.com/index.php?title=25_Steps_to_Build_Your_Own_Micro_ISV&diff=33625 Steps to Build Your Own Micro ISV2010-03-22T00:47:28Z<p>LeonBambrick: </p>
<hr />
<div>Turning an amateur software project into a professional project is a straight forward process -- but it involves ''a lot'' of steps.<br />
<br />
We're putting together articles on each of the steps we've identified, as a way to help other developers turning their fledgling idea into a working [[MicroISV]].<br />
<br />
<br />
1. [[Register That Domain]] <br />
<br />
2. [[Reliable Hosting]] <br />
<br />
3. [[Website Design]] <br />
<br />
4. [[Basic Website Content]] <br />
<br />
5. Install [[Traffic Monitoring]] on your site <br />
<br />
6. Create forums, [[Encourage Feedback]]<br />
<br />
7. [[Maintain a FAQ]] <br />
<br />
8. [[Get The Best Screenshots You Can]] <br />
<br />
9. [[Configure Email For Your Domain]] <br />
<br />
10. [[Establish Payment Account]] <br />
<br />
11. [[Allow Payment]] from your website <br />
<br />
12. [[Create a PAD file]] (portable application description)<br />
<br />
13. [[Register at Download Sites]]<br />
<br />
14. Strategy: [[Separate "Free" From "Professional"]] product<br />
<br />
15. [[Write Your Own EULA]] (end user license agreement) -- infact write two! <br />
<br />
16. [[Auto Update Strategy]] <br />
<br />
17. [[License Activation Webservice/Website]] <br />
<br />
18. Get a [[License Management Database]] <br />
<br />
19. [[Build a Proper Installer]] <br />
<br />
20. [[Obfuscate Your Assemblies]] <br />
<br />
21. Automate Your [[Build+Release Strategy]] <br />
<br />
22. Free up enough time/resources for [[Dealing With Support]] <br />
<br />
23. [[Shiny, Usable, Helpful]]<br />
<br />
24. Plan and enact your [[Promotional Strategy]] <br />
<br />
25. [[Do It All Again]]<br />
<br />
<br />
I'd also like to reorganise this story into a more flowing piece, which will have different steps, in a more logical order. Below is a work-in-progress of that order.<br />
<br />
== Pre-Compilation ==<br />
* What's your idea(s)?<br />
* How To Fail Fast<br />
* Plan your [[Promotional Strategy]] <br />
* Strategy: [[Separate "Free" From "Professional"]] product<br />
* [[Register That Domain]] (aka, Choose a Name)<br />
<br />
== Code ==<br />
* Write your software...<br />
** Even a one-person company [[needs source control]]<br />
** [[Shiny, Usable, Helpful]]<br />
** [[To Obfuscate or not]]?<br />
** Automate Your [[Build+Release Strategy]] <br />
** [[Auto Update Strategy]] <br />
** Testing<br />
** Beta users<br />
** [[Write Your Own EULA]] (end user license agreement) <br />
** Installer, or stand alone<br />
* One page website<br />
** [[Reliable Hosting]] <br />
** [[Get The Best Screenshots You Can]] <br />
* Release the free edition<br />
** [[Create a PAD file]] (portable application description)<br />
** [[Register at Download Sites]]<br />
<br />
== Going Pro == <br />
* Advanced Website<br />
** [[Website Design]] <br />
** [[Basic Website Content]] <br />
** Create forums, [[Encourage Feedback]]<br />
** Choose a price range<br />
** [[Establish Payment Account]] <br />
** [[Allow Payment]] from your website <br />
** Build/Buy a [[License Management Database]] <br />
** [[License Activation Webservice/Website]] <br />
<br />
== Coda ==<br />
* [[Do It All Again]]<br />
* [[Configure Email For Your Domain]] <br />
<br />
== Extra Credit ==<br />
** [[Traffic Monitoring]]<br />
** Experimentation<br />
** [[Build a Proper Installer]] <br />
* Free up enough time/resources for [[Dealing With Support]] <br />
** [[Maintain a FAQ]] <br />
<br />
<br />
<br />
== Highlights ==<br />
In each section, there would be 'pull-quotes'/highlights around:<br />
* Tough Decisions<br />
* Pitfalls<br />
* Industry Quotes<br />
<br />
[[Category:MicroISV]]</div>LeonBambrickhttps://wiki.timesnapper.com/index.php?title=How_To_Never_Lose_Any_Of_Your_Data_Again&diff=335How To Never Lose Any Of Your Data Again2010-03-12T03:43:20Z<p>LeonBambrick: /* Personas */</p>
<hr />
<div>== Personas ==<br />
<br />
<br />
* The busy photographic mum<br />
** Takes a lot of photos of her children<br />
** Cleans up the photos -- red eye reduction, trimming etc.<br />
<br />
* The Family Budgeter<br />
** Spreadsheets and word documents<br />
** Needs immediate access to files from anywhere<br />
<br />
* Uncle Reggie the Family Historian<br />
** little to no internet<br />
** wants data to live beyond his lifespan<br />
<br />
* The Coder<br />
** Writes in many different languages<br />
** Contributes to personal and public projects<br />
<br />
* The travelling designer<br />
** Design work and graphic art for many clients<br />
** Uses his own equipment, or the client's<br />
** Travels a lot<br />
<br />
* Dadmin, CTO of the most important organisation in the world: his family.<br />
** A plan for the whole family<br />
<br />
== What to Protect ==<br />
<br />
* Identify your stuff<br />
* Example Scenarios<br />
* Recovery Planning<br />
<br />
<br />
== Version Control ==<br />
<br />
* Manual <br />
* Distributed <br />
* Distributed Automatic <br />
<br />
<br />
== Alternatives to VC ==<br />
<br />
* Volume Shadow Copy<br />
* Mirroring<br />
* Replication<br />
<br />
<br />
<br />
== Backup ==<br />
<br />
* Mean time to failure<br />
* Onsite, Off site<br />
* Media<br />
* Online, off line<br />
<br />
<br />
== Triggering a Backup ==<br />
<br />
* Manual<br />
* Scheduled<br />
* Continuous<br />
<br />
<br />
== Restore ==<br />
<br />
* Manual<br />
* Live-recovery<br />
* Automatic failover<br />
<br />
<br />
== Data Forensics ==<br />
<br />
* Extraction<br />
* Repair<br />
* Recovery<br />
<br />
<br />
== Life Capture ==<br />
<br />
* Screen capture<br />
* Restore Process<br />
* Life Capture</div>LeonBambrickhttps://wiki.timesnapper.com/index.php?title=How_To_Never_Lose_Any_Of_Your_Data_Again&diff=334How To Never Lose Any Of Your Data Again2010-03-12T03:37:12Z<p>LeonBambrick: /* Personas */</p>
<hr />
<div>== Personas ==<br />
<br />
<br />
* The busy photographic mum<br />
** <br />
<br />
* The Family Budgeter<br />
** Spreadsheets and word documents<br />
** Needs immediate access to files from anywhere<br />
<br />
* Uncle Reggie the Family Historian<br />
** little to no internet<br />
** wants data to live beyond his lifespan<br />
<br />
<br />
<br />
* The Coder<br />
* The travelling graphic artist<br />
* The video compositor<br />
* The musician<br />
<br />
== What to Protect ==<br />
<br />
* Identify your stuff<br />
* Example Scenarios<br />
* Recovery Planning<br />
<br />
<br />
== Version Control ==<br />
<br />
* Manual <br />
* Distributed <br />
* Distributed Automatic <br />
<br />
<br />
== Alternatives to VC ==<br />
<br />
* Volume Shadow Copy<br />
* Mirroring<br />
* Replication<br />
<br />
<br />
<br />
== Backup ==<br />
<br />
* Mean time to failure<br />
* Onsite, Off site<br />
* Media<br />
* Online, off line<br />
<br />
<br />
== Triggering a Backup ==<br />
<br />
* Manual<br />
* Scheduled<br />
* Continuous<br />
<br />
<br />
== Restore ==<br />
<br />
* Manual<br />
* Live-recovery<br />
* Automatic failover<br />
<br />
<br />
== Data Forensics ==<br />
<br />
* Extraction<br />
* Repair<br />
* Recovery<br />
<br />
<br />
== Life Capture ==<br />
<br />
* Screen capture<br />
* Restore Process<br />
* Life Capture</div>LeonBambrickhttps://wiki.timesnapper.com/index.php?title=How_To_Never_Lose_Any_Of_Your_Data_Again&diff=333How To Never Lose Any Of Your Data Again2010-03-12T03:34:42Z<p>LeonBambrick: </p>
<hr />
<div>== Personas ==<br />
<br />
* Uncle Reggie the Family Historian<br />
* The Family Budgeter<br />
* The family photographer<br />
* The Coder<br />
* The travelling graphic artist<br />
* The video compositor<br />
* The musician<br />
* The writer<br />
<br />
<br />
== What to Protect ==<br />
<br />
* Identify your stuff<br />
* Example Scenarios<br />
* Recovery Planning<br />
<br />
<br />
== Version Control ==<br />
<br />
* Manual <br />
* Distributed <br />
* Distributed Automatic <br />
<br />
<br />
== Alternatives to VC ==<br />
<br />
* Volume Shadow Copy<br />
* Mirroring<br />
* Replication<br />
<br />
<br />
<br />
== Backup ==<br />
<br />
* Mean time to failure<br />
* Onsite, Off site<br />
* Media<br />
* Online, off line<br />
<br />
<br />
== Triggering a Backup ==<br />
<br />
* Manual<br />
* Scheduled<br />
* Continuous<br />
<br />
<br />
== Restore ==<br />
<br />
* Manual<br />
* Live-recovery<br />
* Automatic failover<br />
<br />
<br />
== Data Forensics ==<br />
<br />
* Extraction<br />
* Repair<br />
* Recovery<br />
<br />
<br />
== Life Capture ==<br />
<br />
* Screen capture<br />
* Restore Process<br />
* Life Capture</div>LeonBambrickhttps://wiki.timesnapper.com/index.php?title=How_To_Never_Lose_Any_Of_Your_Data_Again&diff=332How To Never Lose Any Of Your Data Again2010-03-11T01:10:18Z<p>LeonBambrick: </p>
<hr />
<div>== What to Protect ==<br />
<br />
* Identify your stuff<br />
* Example Scenarios<br />
* Recovery Planning<br />
<br />
<br />
== Version Control ==<br />
<br />
* Manual <br />
* Distributed <br />
* Distributed Automatic <br />
<br />
<br />
== Alternatives to VC ==<br />
<br />
* Volume Shadow Copy<br />
* Mirroring<br />
* Replication<br />
<br />
<br />
<br />
== Backup ==<br />
<br />
* Mean time to failure<br />
* Onsite, Off site<br />
* Media<br />
* Online, off line<br />
<br />
<br />
== Triggering a Backup ==<br />
<br />
* Manual<br />
* Scheduled<br />
* Continuous<br />
<br />
<br />
== Restore ==<br />
<br />
* Manual<br />
* Live-recovery<br />
* Automatic failover<br />
<br />
<br />
== Data Forensics ==<br />
<br />
* Extraction<br />
* Repair<br />
* Recovery<br />
<br />
<br />
== Life Capture ==<br />
<br />
* Screen capture<br />
* Restore Process<br />
* Life Capture</div>LeonBambrickhttps://wiki.timesnapper.com/index.php?title=How_To_Never_Lose_Any_Of_Your_Data_Again&diff=331How To Never Lose Any Of Your Data Again2010-03-11T01:09:15Z<p>LeonBambrick: New page: == What to Protect == * Identify your stuff * Example Scenarios * Recovery Planning == Version Control == * Manual * Distributed * Distributed Automatic == Alternatives to VC == * ...</p>
<hr />
<div>== What to Protect ==<br />
* Identify your stuff<br />
* Example Scenarios<br />
* Recovery Planning<br />
<br />
== Version Control ==<br />
<br />
* Manual <br />
* Distributed <br />
* Distributed Automatic <br />
<br />
<br />
== Alternatives to VC ==<br />
<br />
* Volume Shadow Copy<br />
* Mirroring<br />
* Replication<br />
<br />
<br />
<br />
== Backup ==<br />
* Mean time to failure<br />
* Onsite, Off site<br />
* Media<br />
* Online, off line<br />
<br />
<br />
<br />
== Triggering a Backup ==<br />
<br />
* Manual<br />
* Scheduled<br />
* Continuous<br />
<br />
<br />
== Restore ==<br />
<br />
* Manual<br />
* Live-recovery<br />
* Automatic failover<br />
<br />
<br />
== Data Forensics ==<br />
* Extraction<br />
* Repair<br />
* Recovery<br />
<br />
== Life Capture ==<br />
* Screen capture<br />
* Restore Process<br />
* Life Capture</div>LeonBambrickhttps://wiki.timesnapper.com/index.php?title=Main_Page&diff=330Main Page2010-03-11T00:58:10Z<p>LeonBambrick: </p>
<hr />
<div>[http://timesnapper.com TimeSnapper] is an '''Automatic Screenshot Journal'''.<br />
<br />
It runs in the background of your computer, taking screenshots of your desktop every few seconds all week long.<br />
<br />
[http://timesnapper.com/downloads/TimeSnapperProSetup.exe Download Immediately!]<br />
<br />
== TimeSnapper Professional ==<br />
<br />
* [[Getting Started]]<br />
* [[FAQ]]<br />
* [[Index of Features]]<br />
* [[Plugins]] <br />
** [[Plugin Ideas]] <br />
** [[Plugin Development]] <br />
** [[Database Model]]<br />
<br />
== Next Action ==<br />
<br />
* [[Introducing NextAction]]<br />
<br />
<br />
== Micro ISV ==<br />
<br />
* [[25 Steps to Build Your Own Micro ISV]]<br />
<br />
<br />
== Data Protection ==<br />
<br />
* [[How To Never Lose Any Of Your Data Again]]</div>LeonBambrickhttps://wiki.timesnapper.com/index.php?title=25_Steps_to_Build_Your_Own_Micro_ISV&diff=32925 Steps to Build Your Own Micro ISV2009-11-16T01:36:43Z<p>LeonBambrick: </p>
<hr />
<div>Turning an amateur software project into a professional project is a straight forward process -- but it involves ''a lot'' of steps.<br />
<br />
We're putting together articles on each of the steps we've identified, as a way to help other developers turning their fledgling idea into a working [[MicroISV]].<br />
<br />
<br />
1. [[Register That Domain]] <br />
<br />
2. [[Reliable Hosting]] <br />
<br />
3. [[Website Design]] <br />
<br />
4. [[Basic Website Content]] <br />
<br />
5. Install [[Traffic Monitoring]] on your site <br />
<br />
6. Create forums, [[Encourage Feedback]]<br />
<br />
7. [[Maintain a FAQ]] <br />
<br />
8. [[Get The Best Screenshots You Can]] <br />
<br />
9. [[Configure Email For Your Domain]] <br />
<br />
10. [[Establish Payment Account]] <br />
<br />
11. [[Allow Payment]] from your website <br />
<br />
12. [[Create a PAD file]] (portable application description)<br />
<br />
13. [[Register at Download Sites]]<br />
<br />
14. Strategy: [[Separate "Free" From "Professional"]] product<br />
<br />
15. [[Write Your Own EULA]] (end user license agreement) -- infact write two! <br />
<br />
16. [[Auto Update Strategy]] <br />
<br />
17. [[License Activation Webservice/Website]] <br />
<br />
18. Get a [[License Management Database]] <br />
<br />
19. [[Build a Proper Installer]] <br />
<br />
20. [[Obfuscate Your Assemblies]] <br />
<br />
21. Automate Your [[Build+Release Strategy]] <br />
<br />
22. Free up enough time/resources for [[Dealing With Support]] <br />
<br />
23. [[Shiny, Usable, Helpful]]<br />
<br />
24. Plan and enact your [[Promotional Strategy]] <br />
<br />
25. [[Do It All Again]]<br />
<br />
<br />
I'd also like to reorganise this story into a more flowing piece, which will have different steps, in a more logical order. Below is a work-in-progress of that order.<br />
<br />
== Pre-Compilation ==<br />
* What's your idea(s)?<br />
* How To Fail Fast<br />
* Plan your [[Promotional Strategy]] <br />
* Strategy: [[Separate "Free" From "Professional"]] product<br />
* [[Register That Domain]] (aka, Choose a Name)<br />
<br />
== Code ==<br />
* Write your software...<br />
** Even a one-person company [[needs source control]]<br />
** [[Shiny, Usable, Helpful]]<br />
** [[To Obfuscate or not]]?<br />
** Automate Your [[Build+Release Strategy]] <br />
** [[Auto Update Strategy]] <br />
** Testing<br />
** Beta users<br />
** [[Write Your Own EULA]] (end user license agreement) <br />
** Installer, or stand alone<br />
* One page website<br />
** [[Reliable Hosting]] <br />
** [[Get The Best Screenshots You Can]] <br />
* Release the free edition<br />
** [[Create a PAD file]] (portable application description)<br />
** [[Register at Download Sites]]<br />
<br />
== Going Pro == <br />
* Advanced Website<br />
** [[Website Design]] <br />
** [[Basic Website Content]] <br />
** Create forums, [[Encourage Feedback]]<br />
** Choose a price range<br />
** [[Establish Payment Account]] <br />
** [[Allow Payment]] from your website <br />
** Build/Buy a [[License Management Database]] <br />
** [[License Activation Webservice/Website]] <br />
<br />
== Coda ==<br />
* [[Do It All Again]]<br />
* [[Configure Email For Your Domain]] <br />
<br />
== Extra Credit ==<br />
** [[Traffic Monitoring]]<br />
** Experimentation<br />
** [[Build a Proper Installer]] <br />
* Free up enough time/resources for [[Dealing With Support]] <br />
** [[Maintain a FAQ]] <br />
<br />
<br />
<br />
[[Category:MicroISV]]</div>LeonBambrickhttps://wiki.timesnapper.com/index.php?title=25_Steps_to_Build_Your_Own_Micro_ISV&diff=32825 Steps to Build Your Own Micro ISV2009-11-16T01:24:25Z<p>LeonBambrick: </p>
<hr />
<div>Turning an amateur software project into a professional project is a straight forward process -- but it involves ''a lot'' of steps.<br />
<br />
We're putting together articles on each of the steps we've identified, as a way to help other developers turning their fledgling idea into a working [[MicroISV]].<br />
<br />
<br />
1. [[Register That Domain]] <br />
<br />
2. [[Reliable Hosting]] <br />
<br />
3. [[Website Design]] <br />
<br />
4. [[Basic Website Content]] <br />
<br />
5. Install [[Traffic Monitoring]] on your site <br />
<br />
6. Create forums, [[Encourage Feedback]]<br />
<br />
7. [[Maintain a FAQ]] <br />
<br />
8. [[Get The Best Screenshots You Can]] <br />
<br />
9. [[Configure Email For Your Domain]] <br />
<br />
10. [[Establish Payment Account]] <br />
<br />
11. [[Allow Payment]] from your website <br />
<br />
12. [[Create a PAD file]] (portable application description)<br />
<br />
13. [[Register at Download Sites]]<br />
<br />
14. Strategy: [[Separate "Free" From "Professional"]] product<br />
<br />
15. [[Write Your Own EULA]] (end user license agreement) -- infact write two! <br />
<br />
16. [[Auto Update Strategy]] <br />
<br />
17. [[License Activation Webservice/Website]] <br />
<br />
18. Get a [[License Management Database]] <br />
<br />
19. [[Build a Proper Installer]] <br />
<br />
20. [[Obfuscate Your Assemblies]] <br />
<br />
21. Automate Your [[Build+Release Strategy]] <br />
<br />
22. Free up enough time/resources for [[Dealing With Support]] <br />
<br />
23. [[Shiny, Usable, Helpful]]<br />
<br />
24. Plan and enact your [[Promotional Strategy]] <br />
<br />
25. [[Do It All Again]]<br />
<br />
<br />
I'd also like to reorganise this story into a more flowing piece, which will have different steps, in a more logical order. Below is a work-in-progress of that order.<br />
<br />
h2. Pre-Compilation<br />
* What's your idea(s)?<br />
* How To Fail Fast<br />
* Plan your [[Promotional Strategy]] <br />
* Strategy: [[Separate "Free" From "Professional"]] product<br />
* [[Register That Domain]] (aka, Choose a Name)<br />
<br />
h2. Code<br />
* Write your software...<br />
** Even a one-person company [[needs source control]]<br />
** [[Shiny, Usable, Helpful]]<br />
** [[To Obfuscate or not]]?<br />
** Automate Your [[Build+Release Strategy]] <br />
** [[Auto Update Strategy]] <br />
** [[Write Your Own EULA]] (end user license agreement) -- infact write two! <br />
* One page website<br />
** [[Reliable Hosting]] <br />
** [[Get The Best Screenshots You Can]] <br />
* Release the free edition<br />
** [[Create a PAD file]] (portable application description)<br />
** [[Register at Download Sites]]<br />
<br />
<br />
* Advanced Website<br />
** [[Website Design]] <br />
** [[Basic Website Content]] <br />
** Create forums, [[Encourage Feedback]]<br />
* Go pro...<br />
** Choose a price range<br />
* [[Establish Payment Account]] <br />
* [[Allow Payment]] from your website <br />
* Get a [[License Management Database]] <br />
* [[License Activation Webservice/Website]] <br />
<br />
h2. Coda<br />
* [[Do It All Again]]<br />
* [[Configure Email For Your Domain]] <br />
<br />
* Extra Credit<br />
** [[Traffic Monitoring]]<br />
* [[Build a Proper Installer]] <br />
* Free up enough time/resources for [[Dealing With Support]] <br />
** [[Maintain a FAQ]] <br />
<br />
[[Category:MicroISV]]</div>LeonBambrickhttps://wiki.timesnapper.com/index.php?title=Allow_Payment&diff=327Allow Payment2009-11-16T01:06:09Z<p>LeonBambrick: </p>
<hr />
<div>This is step 11 of [[25 Steps to Build Your Own Micro ISV]]<br />
<br />
<br />
* don't build a shopping cart<br />
* don't read all of the developer documentation -- most of it is for more complicated situations<br />
* start by working out how to implement a donation button<br />
* for a single product -- it's only a few lines more complicated than that<br />
<br />
Click on the payment button (or buttons) takes the customer to the gatway's site, where they enter their credit card and other detaisl as needed. You never see these details (and you never want to !).<br />
<br />
Going near credit card numbers is a responsibility you do not want.<br />
<br />
<br />
Once the payment is made, there is a ping to a website you specify, and also, the customer is redirected to your page.<br />
<br />
You'll email the customer with the license info, and also show the license info on screen (in case they don't get the email).<br />
<br />
<br />
This is step 11 of [[25 Steps to Build Your Own Micro ISV]]<br />
[[Category:MicroISV]]</div>LeonBambrickhttps://wiki.timesnapper.com/index.php?title=Establish_Payment_Account&diff=326Establish Payment Account2009-11-16T01:03:11Z<p>LeonBambrick: </p>
<hr />
<div>This step 10 of [[25 Steps to Build Your Own Micro ISV]]<br />
<br />
There are a number of online services that will act as a gateway to accept credit card payments on your behalf.<br />
They vary along a number of axes:<br />
<br />
* transaction costs<br />
* reliability<br />
* fraud protection<br />
* security<br />
* complexity<br />
* support<br />
* trust<br />
<br />
They'll also vary in terms of 'features offered' <br />
<br />
But as you'll see, a small software business is about the simplest business imaginable. You need almost no features. Accepting payment for software is only slightly harder than accepting a one-off donation.<br />
<br />
The vast majority of features that are built into a payment platform don't apply to you. You don't need to manage shipping, inventory control, ordering of parts. Your warehouse is always full.<br />
<br />
Any gateway should be able to fulfill your technical requirements. The only real limiting factor (in my opinion) is trust. Which company is least likely to scare your customers away?<br />
<br />
h2. Establish Your Identity.<br />
<br />
Once you've settled on the payment gateway you prefer, you will need to establish an account with them.<br />
<br />
If they are a legitimate company, you will need to establish your identity with them, before they will accept money on your behalf (or at least, before they will pass that money onto you)<br />
<br />
There will probably be a snail-mail process required to establish this information.<br />
<br />
This step 10 of [[25 Steps to Build Your Own Micro ISV]]<br />
<br />
[[Category:MicroISV]]</div>LeonBambrickhttps://wiki.timesnapper.com/index.php?title=Configure_Email_For_Your_Domain&diff=325Configure Email For Your Domain2009-11-16T00:55:12Z<p>LeonBambrick: </p>
<hr />
<div>This is step 9 of [[25 Steps to Build Your Own Micro ISV]]<br />
<br />
* do not, for the love of god, have a hotmail, yahoo or other free-email service as your professional address<br />
<br />
Nothing says "I'm unprofessional, Do not trust me" like having an "hot-legs@hotmail.com" as your email address.<br />
<br />
<br />
* setup some email accounts -- e.g. support, sales, admin, webmaster<br />
* forward them to your regular email -- one of the free services.<br />
<br />
the free services have better spam control than your dinky little micro isv will have -- so rely on that.<br />
But just don't have them as your face to the world.<br />
Note also that you can set up those email systems so that your "sender" address is the one from your domain (not gmail)<br />
<br />
<br />
<br />
This is step 9 of [[25 Steps to Build Your Own Micro ISV]]<br />
<br />
[[Category:MicroISV]]</div>LeonBambrickhttps://wiki.timesnapper.com/index.php?title=Get_The_Best_Screenshots_You_Can&diff=324Get The Best Screenshots You Can2009-11-13T09:30:56Z<p>LeonBambrick: </p>
<hr />
<div>This is step 8 of [[25 Steps to Build Your Own Micro ISV]]<br />
<br />
When people first visit your page, they're looking for two things: screenshots and download.<br />
<br />
They've arrived there because of a link somewhere. They probably have a vague idea of what it does already. A lengthy description is not what's required. What's required is ''screenshots'' and ''download''.<br />
<br />
* on windows, use the best theme you can, and the latest OS.<br />
<br />
If Windows version 12 has just been released -- then don't show screenshots from Windows version 11. Windows version 11 is sooo last month. Appear to be ahead of the curve. Cash in on the millions of dollars that big companies have spent making their new platform appear desirable.<br />
<br />
* don't make people hunt for screenshots<br />
* put a thumbnail or two on the front page<br />
* have those thumbnails lead to more pictures<br />
<br />
When people click on the little thumbnails on the front page they don't expect those thumbnails to lead to the purchase page, or the FAQ or any other random page you may think it most important. They expect that clicking there will lead to a bigger version of the screenshot they clicked on. And perhaps a way to see a lot more pictures of the application.<br />
<br />
Videos are even better. Google tend to lead their product announcement with a video.<br />
<br />
<br />
This is step 8 of [[25 Steps to Build Your Own Micro ISV]]<br />
[[Category:MicroISV]]</div>LeonBambrickhttps://wiki.timesnapper.com/index.php?title=Get_The_Best_Screenshots_You_Can&diff=323Get The Best Screenshots You Can2009-11-13T09:27:38Z<p>LeonBambrick: </p>
<hr />
<div>This is step 8 of [[25 Steps to Build Your Own Micro ISV]]<br />
<br />
When people first visit your page, they're looking for two things: screenshots and download.<br />
<br />
They've arrived there because of a link somewhere. They probably have a vague idea of what it does already. A lengthy description is not what's required. What's required is ''screenshots'' and ''download''.<br />
<br />
* on windows, use the best theme you can, and the latest OS.<br />
* don't make people hunt for screenshots<br />
* put a thumbnail or two on the front page<br />
* have those thumbnails lead to more pictures<br />
<br />
This is step 8 of [[25 Steps to Build Your Own Micro ISV]]<br />
[[Category:MicroISV]]</div>LeonBambrickhttps://wiki.timesnapper.com/index.php?title=Maintain_a_FAQ&diff=322Maintain a FAQ2009-11-09T14:24:26Z<p>LeonBambrick: </p>
<hr />
<div>This is step 7 of [[25 Steps to Build Your Own Micro ISV]]<br />
<br />
<br />
* no trick to it<br />
* avoid marketing faq<br />
* in the early days it is okay to put questions that haven't yet been asked 'frequently'<br />
<br />
Why have a faq? Two reasons.<br />
<br />
1 to decrease support costs -- people will look at it before contacting you<br />
2 to build confidence before purchasing<br />
<br />
<br />
This is step 7 of [[25 Steps to Build Your Own Micro ISV]]<br />
[[Category:MicroISV]]</div>LeonBambrickhttps://wiki.timesnapper.com/index.php?title=Encourage_Feedback&diff=321Encourage Feedback2009-11-09T14:18:53Z<p>LeonBambrick: </p>
<hr />
<div>Feedback from many places...<br />
<br />
In the application itself<br />
* Links inside the menus<br />
* Crash reporting<br />
* Uninstall messages<br />
<br />
On the web<br />
* Build a forum <br />
* free options like google groups or yahoo groups<br />
* your webhost may provide <br />
Free and or commercial offerings<br />
* get satisfaction and uservoice<br />
* stackexchange<br />
<br />
* google groups is fairly much a spam magnet nowadays.<br />
* downside of free options: their branding, and advertisements, possibly from your competitors.<br />
* host a forum on your site -- e.g. community server, phpBB<br />
* You want it as open as possible, but without spam<br />
* Keep it alive<br />
* make it a nice place to be.<br />
* Be a constant gardener<br />
<br />
This step 6 of [[25 Steps to Build Your Own Micro ISV]]<br />
[[Category:MicroISV]]</div>LeonBambrickhttps://wiki.timesnapper.com/index.php?title=Encourage_Feedback&diff=320Encourage Feedback2009-11-09T14:17:47Z<p>LeonBambrick: </p>
<hr />
<div><br />
<br />
Feedback from many places...<br />
<br />
In the application itself<br />
* Links inside the menus<br />
* Crash reporting<br />
* Uninstall messages<br />
<br />
On the web<br />
* Build a forum <br />
* free options like google groups or yahoo groups<br />
* your webhost may provide <br />
Free and or commercial offerings<br />
* get satisfaction and uservoice<br />
* stackexchange<br />
<br />
<br />
* google groups is fairly much a spam magnet nowadays.<br />
<br />
<br />
* downside of free options: their branding, and advertisements, possibly from your competitors.<br />
<br />
* host a forum on your site -- e.g. community server, phpBB<br />
<br />
<br />
* You want it as open as possible, but without spam<br />
* Keep it alive<br />
* make it a nice place to be.<br />
* Be a constant gardener<br />
<br />
This step 6 of [[25 Steps to Build Your Own Micro ISV]]<br />
[[Category:MicroISV]]</div>LeonBambrickhttps://wiki.timesnapper.com/index.php?title=User:LeonBambrick&diff=319User:LeonBambrick2009-11-07T14:02:11Z<p>LeonBambrick: New page: * Co-founder of [http://TimeSnapper.com TimeSnapper] * blog at [http://secretGeek.net secretGeek]</p>
<hr />
<div>* Co-founder of [http://TimeSnapper.com TimeSnapper]<br />
* blog at [http://secretGeek.net secretGeek]</div>LeonBambrickhttps://wiki.timesnapper.com/index.php?title=Day_Browser&diff=318Day Browser2009-11-07T14:00:09Z<p>LeonBambrick: </p>
<hr />
<div><div style="display:inline;float:right;">[[Image:Ts-daybrowser2.png|Day Browser]]</div><br />
The Day Browser is one of the most interesting parts of TimeSnapper. It's the place where you can go back in time and see what you were really doing in the computer. It has a lot more features and functionality than is readily apparent at first glance.<br />
<br />
<br />
'''Play/Pause button'''<br />
* Starts and stops the playback of selected day<br />
<br />
<br />
'''TimeBar'''<br />
* Shows the times of the day that you were active in front of the computer<br />
* Click anywhere on the [[TimeBar]] to jump to that point in time<br />
* See [[TimeBar]] for a lot more info on how you can use it<br />
<br />
<br />
'''Day picker'''<br />
* Select the day you need to review<br />
<br />
<br />
'''Speed'''<br />
* Set the speed you want to play your day<br />
<br />
<br />
'''Filter'''<br />
* If you only want to view screen shots for a particular program<br />
<br />
<br />
'''Zoom'''<br />
* Zooms in and out of the image<br />
* Set it to "(To Fit)" if you want to see the whole image as large as possible, while still seeing the whole picture<br />
<br />
<br />
'''Flag'''<br />
* Create flags on the timeline/[[TimeBar]] to add notes to specific periods or screen shots<br />
<br />
<br />
'''Image menu'''<br />
* Copy Image<br />
* Copy Path<br />
* Open Parent Folder<br />
* Edit<br />
* Extract Text (OCR)<br />
* Exclude From Capture<br />
* Delete Selected Images<br />
* Properties<br />
<br />
<br />
'''View menu'''<br />
* Productivity Score<br />
<br />
<br />
'''Other'''<br />
* Image control<br />
* Productivity panel<br />
* Selection panel<br />
<br />
== Tips ==<br />
* If you want finer control over the play speed than what you get with the drop down, you can enter the speed directly in milliseconds. TimeSnapper will use that number as the delay between playing each frame. If you enter 10000, TimeSnapper will advance by 1 frame every 10 seconds.<br />
* Although the filter drop down box appears only to support filtering by program names, it actually can filter on window titles as well. Just type directly into it and TimeSnapper will filter as you type on either the program name or the window title<br />
* You can select a range of activity on the TimeBar just like you can select text in any Windows application -- using either the mouse or the keyboard.<br />
<br />
== Shortcuts == <br />
{| border=1<br />
|-<br />
! Function<br />
! Shortcut<br />
|-<br />
| Play/Pause <br />
| F5<br />
|-<br />
| Refresh TimeBar<br />
| Ctrl + F5<br />
|-<br />
| Next day <br />
| Ctrl + + (or Ctrl + N)<br />
|-<br />
| Previous day <br />
| Ctrl + - (or Ctrl + P)<br />
|-<br />
| Frame left<br />
| <- (Left arrow)<br />
|-<br />
| Frame right<br />
| -> (Right arrow)<br />
|-<br />
| 5 frames left<br />
| PageUp<br />
|-<br />
| 5 frames right<br />
| PageDown<br />
|-<br />
| 15 frames left<br />
| Ctrl + PageUp<br />
|-<br />
| 15 frames right<br />
| Ctrl + PageDown<br />
|-<br />
| TimeBar First Frame<br />
| Home<br />
|-<br />
| TimeBar Last Frame<br />
| End<br />
|-<br />
| TimeBar Select Multiple Screenshots<br />
| Shift + (Arrows or PgUpDn)<br />
|-<br />
| Image Properties<br />
| F4 (or Alt + Enter)<br />
|-<br />
| Copy Images to Clipboard<br />
| Ctrl + C<br />
|-<br />
| Delete selected Images<br />
| Ctrl + Del<br />
|-<br />
| TimeBar Zoom In<br />
| Z<br />
|-<br />
| TimeBar Zoom Out<br />
| Shift + Z<br />
|-<br />
| TimeBar Select All<br />
| Ctrl + A<br />
|-<br />
| New Flag<br />
| Ins<br />
|-<br />
| Go to Filter text box<br />
| Ctrl + F<br />
|}</div>LeonBambrickhttps://wiki.timesnapper.com/index.php?title=Index_of_Features&diff=317Index of Features2009-11-07T13:59:38Z<p>LeonBambrick: /* Main dialogs of the TimeSnapper */</p>
<hr />
<div>= Main dialogs of TimeSnapper =<br />
<br />
* [[Main Dialog]]<br />
* [[Day Browser]]<br />
* [[Activity Overview]]<br />
* [[Reports]]<br />
* [[Flags]]<br />
* [[Timesheet]]<br />
* [[Scorecard Wizard]]<br />
* [[Options]]<br />
* [[Integration]] with external systems, e.g. bookkeeping/time sheets and issue trackers<br />
* [[Shortcut Dialog]]<br />
<br />
= Main functionality of TimeSnapper =<br />
<br />
* Screen capturing<br />
* Statistics and Reports<br />
* Various timekeeping and time entry methods<br />
** e.g. [[Automatic Note Taking Reminder]] via the [[Flags]] dialog<br />
* Productivity measurements<br />
* Safety net for unsaved data<br />
* [[TimeSnapper Portable]]<br />
* [[Plugins]]</div>LeonBambrickhttps://wiki.timesnapper.com/index.php?title=Integrated_with_Tasks_and_Timesheets&diff=316Integrated with Tasks and Timesheets2009-11-07T13:59:22Z<p>LeonBambrick: </p>
<hr />
<div>In [http://timesnapper.com TimeSnapper] Professional you can 'flag' a point in time, by adding a small note against it.<br />
<br />
These flags can actually be quite complex -- you can link them to items in your timesheet system of choice.<br />
<br />
For example, your company might use some application for planning the projects and tasks you are working on. TimeSnapper can be configured to retrieve that list of projects and tasks, so you can record in TimeSnapper which task you were working on at a point in time<br />
<br />
[[Image:Ts_26_lookup.PNG]]<br />
<br />
<br />
That feature has always been around, but only a tiny fraction of users have ever taken advantage of it.<br />
<br />
The problem was that you needed to edit an XML file.<br />
<br />
In TimeSnapper 2.6 we introduced forms for configuring the lookups, rather than editing XML.<br />
<br />
In the 'Options' form for TimeSnapper (available by right-clicking any form and selecting 'options') there is a new tab called 'TimeSheet'.<br />
<br />
[[Image:Ts_26_timesheets.PNG]]<br />
<br />
From here you can configure how fields in a flag are retrieved from an external system. Or you can configure how TimeSnapper's timesheets are saved to an external system.<br />
<br />
Each lookup button on the 'New Flag' dialog, basically has a 'select' query behind it:<br />
<br />
<br />
[[Image:Ts_26_timesheets_4.PNG]]<br />
<br />
<br />
We've designed it so that you can test the queries you embed, to ensure they work for your system. It was hard not to turn the system into a full blown query analyzer tool kit.<br />
<br />
We're keen to get any feedback we can on how people use the lookup and timesheet configuration settings. Any problems, any suggestions, all are welcome.</div>LeonBambrickhttps://wiki.timesnapper.com/index.php?title=Plugin_Ideas&diff=315Plugin Ideas2009-11-07T13:59:04Z<p>LeonBambrick: /* Calendar Integration */</p>
<hr />
<div>== Phone log integration == <br />
<br />
Extract phone call logs from your phone (e.g. from a BlackBerry) and import as flags.<br />
<br />
== Image Correction == <br />
<br />
Run over older images, resize them and/or convert them to lower resolution.<br />
<br />
== Flags to Twitter ==<br />
<br />
Send flags to twitter. (Truncate at max length)<br />
(This is the opposite of the current 'RSS to Flags Plugin' which is used to turn Twitter entries into flags. If you use both at once, there would be a feedback loop which would probably blow up the entire internet)<br />
<br />
== A Goal Settings Plugin ==<br />
<br />
Helps you with rules such as...<br />
<br />
* During working hours tell me when my productivity slips below 80%<br />
* During working hours tell me when I have been unproductive for 1 hour during the day<br />
* During working hours tell me when I have been 90 productive for 2 hours... so i can give myself a reward.<br />
* Notify me when I haven't taken a X min break [idle time] for Y minutes, because breaks are good for my health.<br />
<br />
== Calendar Integration ==<br />
<br />
Put appointments from my iCal based calendar into [http://timesnapper.com TimeSnapper]<br />
<br />
The opposite:<br />
Put flags from TimeSnapper into your outlook calendar<br />
<br />
== More Outlook Integration == <br />
<br />
Record current application activity in outlook Journal.<br />
<br />
== NextAction as a plugin == <br />
<br />
When a next action item is crossed off -- have it logged in timesnapper <br />
(i.e. nextaction as a timesnapper plugin.... )<br />
<br />
== TwitterSnapper ==<br />
<br />
[DONE] Record my Twitter items as Flags in TimeSnapper (see [[Plugins]]<br />
<br />
Or the opposite: when I create a new flag, of type 'Note' -- add it to Twitter.<br />
<br />
== BaldyTracker ==<br />
<br />
Detect idle time and take a snapshot through webcam => needs ComputerIdle event (TS 3.5) and access to "SaveScreenshot(bmp, additionalinfo)"<br />
<br />
== SendTo ==<br />
<br />
SendTo: <br />
A menu item that lets you send the image in the day browser (or the reports in the reports dialog) to a folder location, or to an application.<br />
(could be used to connect the OCR module)<br />
<br />
== Archiver ==<br />
<br />
A true archiver (which doesn't delete the images, perhaps moves them or creates an .AVI file) <br />
<br />
== ContextSnapper ==<br />
<br />
Only take a Snap on Context Switch ( http://forums.timesnapper.com/forums/151/ShowPost.aspx)<br />
<br />
Discussion of some of these is here: http://forums.timesnapper.com/forums/1118/ShowPost.aspx<br />
<br />
== TFS Integration == <br />
<br />
Connect to TFS, get outstanding tasks and assign time against them. <br />
<br />
Or -- connect to TFS, read what work items a user completed, and drop them into the timeline as flags.<br />
<br />
== Secure TimeStamping == <br />
<br />
Need to prove that your images haven't been tampered with?<br />
You need to publish digitally signed cryptographically secure hashes of your data, to multiple timestamp servers on the Internet.<br />
<br />
The file itself does not need to be published until later, if proof is required.<br />
<br />
So this is low bandwidth, and doesn't involve uploading your images to the internet.<br />
<br />
Further reading: http://unenumerated.blogspot.com/2006/01/secure-timestamping-and-confidential.html<br />
<br />
[[Category:Plugins]]</div>LeonBambrickhttps://wiki.timesnapper.com/index.php?title=FAQ&diff=314FAQ2009-11-07T13:58:47Z<p>LeonBambrick: /* Does TimeSnapper slow down your computer? */</p>
<hr />
<div>FAQ: Frequently Asked Questions<br />
<br />
If your question isn't answered here, don't hesitate to email us or to visit the forums, to see if your question is answered there.<br />
<br />
__TOC__<br />
<br />
== Does TimeSnapper slow down your computer? ==<br />
<br />
For everyday use, [http://timesnapper.com TimeSnapper] should have no noticeable effect on the performance of your machine. It generally uses between 1 and 5 megabytes of memory. In a modern computer this is a small amount of memory.<br />
<br />
We use TimeSnapper day in, day out on a variety of computers and find that it has no noticeable effect on the performance of a computer. Try it and see for yourself. If your experience is otherwise, write to us and tell us.<br />
<br />
== Does it fill up your hard-drive with images? ==<br />
<br />
Surprisingly, no. There are four features that stop TimeSnapper from over-using your hard drive.<br />
<br />
Firstly, no images are taken when the computer is idle. So if you are away from your computer, or leave it on overnight, no screenshots are taken.<br />
<br />
Second, there is an archiving feature, that you can use to specify, "Delete all images older than 14 days" (or as many days as you choose). You can also limit TimeSnapper to use no more than a certain number of mega-bytes of hard drive space. (The archiving options are shown in the image below)<br />
<br />
[[Image:ts-options-archive_.PNG]]<br />
<br />
The third feature is that you can configure the resolution of the images, and take smaller, or fuzzier images if you wish. This can have a dramatic reduction on the required hard drive space.<br />
<br />
The fourth feature that helps is the amount of time between images. If you have very limited space, you can take screenshots less often. Perhaps only once per minute, or even once every ten minutes. It will still give a fairly useful picture of where all that time went.<br />
<br />
== Does it work on multiple monitors? ==<br />
<br />
Yes! TimeSnapper can now cater for up to three monitors. You can also configure it to capture only the current application. More details are included in the help page.<br />
<br />
== What's the difference between Classic and Professional? ==<br />
<br />
TimeSnapper Classic is the free version while you must pay for TimeSnapper Professional. TimeSnapper Professional has a lot more features than the Classic version. [[Compare Classic and Pro]]<br />
<br />
== Does it work on Apple computers? ==<br />
<br />
We're sorry to report that there is still no Mac version of TimeSnapper. Plans remain in motion. If you are a talented developer, keen to help with this effort, please contact us.<br />
<br />
== Can it be used to spy on people? ==<br />
<br />
Unfortunately, yes it could. But this is definitely not the intended use of TimeSnapper. We're serious about this. Using TimeSnapper to monitor your employees, children, parents, housemates, customers, ex-girlfriends or colleagues is a very invasive thing to do. We can't stop you from doing it, but we can strongly urge you not to. We ask you to inform and seek consent from anyone whose screenshots you will be viewing.<br />
<br />
There are some legitimate cases where people can monitor others. If you are using TimeSnapper to monitor other people we seriously ask that you follow these guidelines. You must have their informed consent. This means that they are aware of the fact that TimeSnapper is running, and monitoring their behaviour. And they agree to allow this to occur.<br />
<br />
== How can I tell if someone is using it to spy on me? ==<br />
<br />
We deliberately make it very easy to tell if TimeSnapper is running.<br />
<br />
The two most obvious signs: the TimeSnapper icon in the system tray, and the program "TimeSnapper.exe" listed amongst running files.<br />
<br />
By taking normal security precautions with your computer, you should be safe from spies. Wearing a hat made of aluminium foil can also help.<br />
<br />
== How can I protect the files it stores? ==<br />
<br />
TimeSnapper Professional comes with a built in privacy protection, by using state of the art encryption methods for encrypting the screenshots. You just provide a password and no one will be able to see the images without the password! This feature is not available in the free version, TimeSnapper Classic<br />
<br />
== Can I have the source code? ==<br />
<br />
In order to protect the time and effort we've put into this TimeSnapper venture, we do not intend to release the source code. We know it's cruel. There are lots of great resources such as Code Project that can show you how to do the basic things that TimeSnapper does.<br />
<br />
== Can TimeSnapper fill out my time-sheet for me? ==<br />
<br />
Almost! You can integrate TimeSnapper with any time-sheet application where you can connect to the database via OleDB.<br />
<br />
Read on for details of how TimeSnapper can be [[integrated with Tasks and Timesheets]].<br />
<br />
== Why do I get "Application failed to initialize properly '0xc0000135'"? ==<br />
<br />
This error occurs if you have not installed the .net framework version 2.0<br />
<br />
Please download and install the .net framework (version 2.0) from Microsoft.<br />
<br />
The .Net framework is a common library of functions used by all .Net applications.<br />
<br />
== Why do I get a "Download" dialog when I try to view a report? ==<br />
<br />
When you try to show a report, you should see the report -- but some people have reported a problem where they get a 'download' dialog.<br />
<br />
For the most part, we've found this is resolved by re-registering the Microsoft library for XML --MSMXL 3.<br />
<br />
To do so: Start -> Run -> regsvr32.exe msxml3.dll<br />
<br />
== How do I move all settings to a new computer ==<br />
Here are some instructions for those who are moving to a new computer and want to retain their settings, statistics, flags and even screenshots.<br />
<br />
# Move the database file from the old computer to the new computer. The database contains all settings and information relating to screenshots, statistics and flags. <br />
#* The database is located here: %LOCALAPPDATA%\TimeSnapper\Database<br />
#* (in older versions it used to be kept here: %appdata%\Timesnapper\Database)<br />
# Move all screenshots that you are interested in keeping from the old machine to the new machine to an '''identical location''' on the harddrive. (If you want to move it to a different location, you will have to re-import the images using the Tools -> Advanced -> Import Images from older version)<br />
#* TimeSnapper Pro uses paths stored in the database to locate all TimeSnapper images. Changing the path in the options dialog doesn't move the images nor the old file references<br />
#* By default the images are stored here: %LOCALAPPDATA%\Timesnapper\Snapshots (but you might have changed that yourself)<br />
#* (in older versions the snapshots were by default kept here: %appdata%\Timesnapper\Database, but in fact the screenshots '''could be in both places''')<br />
<br />
If the new computer has a different computer name, you'll have to reactivate the license.<br />
<br />
== My question isn't answered here ==<br />
<br />
If your question isn't answered here, don't hesitate to email us or to visit the forums, to see if your question is answered there.</div>LeonBambrickhttps://wiki.timesnapper.com/index.php?title=Plugin_Development&diff=313Plugin Development2009-11-07T13:58:36Z<p>LeonBambrick: /* What is a TimeSnapper Plugin? */</p>
<hr />
<div>== What is a TimeSnapper Plugin? ==<br />
<br />
A plugin is a way of extending and customizing the way [http://timesnapper.com TimeSnapper] behaves.<br />
<br />
At the code level, it is a .net class that implements an interface (ITimeSnapperPlugin) that TimeSnapper will seek out talk to.<br />
<br />
At the file level, a TimeSnapper plugin is a dll that ends with the word "Plugin" -- for example "SamplePlugin.dll". It sits in a subfolder called "Plugins" located under the TimeSnapper folder. For example "C:\Program Files\TimeSnapper\Plugins".<br />
<br />
A plugin can subscribe to TimeSnapper events, and it can add items to menus inside TimeSnapper.<br />
<br />
== What events can a plugin subscribe to? ==<br />
<br />
A plugin can choose to be notified when any of these things happen:<br />
* When a snapshot is taken<br />
* When a snapshot is about to be saved<br />
* When a snapshot has been saved<br />
* When the flag dialog pops up (if you use the auto popup feature)<br />
* When a flag is about to be saved<br />
* When a flag has been saved<br />
* When the plugins have finished loading<br />
* When archiving is about to begin<br />
* When archiving is complete<br />
* When a snapshot is about to be deleted<br />
* When a snapshot has been deleted.<br />
* When the computer is idle.<br />
<br />
== What services does TimeSnapper provide to developers? ==<br />
<br />
When TimeSnapper raises a event, a special ''services (of type IServices)'' variable will be provided - giving access to internal TimeSnapper functionality:<br />
* '''FlagServices''' - enables developers to set a flag, delete one or search for flags.<br />
** GetFlag by id or a flagdate<br />
** GetFlags by a date range<br />
** SaveFlag<br />
** DeleteFlag<br />
* '''SettingsServices''' - gives the developer access to TimeSnapper settings (read & write) <br />
** GetPropertyValue<br />
** GetPropertyValueDateTime<br />
** SetPropertyValue<br />
* '''DatabaseServices''' - Gives access to running arbitrary queries against TimeSnapper database<br />
** ExecuteQuery<br />
* '''WindowsServices''' - Gives access to TimeSnapper's main windows<br />
** ShowDayBrowser<br />
** ShowNewFlagForm<br />
** ShowForm(main | reports | timesheet | options | popup config | activitysearch)<br />
<br />
Example of usage:<br />
<br />
DataTable dt = services.DatabaseServices.ExecuteQuery("select count(*) from activity", "table1");<br />
<br />
== Where can a plugin extend TimeSnapper's menus? ==<br />
<br />
In addition to subscribing to events, a plugin can tell TimeSnapper to put extra menu items into some of the context menus in the TimeSnapper application.<br />
<br />
In particular a plugin can add menu items to these locations:<br />
* The context menu on the main image in the [[Day Browser]] screen (i.e. when you right click on a snap shot in the playback screen)<br />
* The context menu on the [[TimeBar]], in the [[Day Browser]] screen. (i.e. when you right click on the little bar graph at the top of the playback screen)<br />
* The 'tools' menu on the [[Main Dialog]]<br />
* The context menu on the grid in the [[Activity Overview]] screen. (You get to that screen by pressing 'Find' on the [[Main Dialog]], or in any of the go to menus.)<br />
<br />
== What can you do inside a plugin? ==<br />
<br />
Just about anything you like, of course.<br />
<br />
The standard answer we've given to tricky questions for the last year has always been "If you want to do that, you'll need to write a plugin".<br />
<br />
A sample that ships with the latest version of TimeSnapper is called 'the Animated GIF' plugin. It lets you export a series of images as an animated gif.<br />
<br />
Achieving this inside a plugin was quite trivial (we did it by following Jon Galloway's lead when he built the same plugin feature for Cropper. We tinkered with the NGif project at codeproject, and then leveraged public domain portions of the animated gif plugin that Jon wrote.)<br />
<br />
Here are some more [[Plugin Ideas]].<br />
<br />
== How do I write a TimeSnapper Plugin? ==<br />
<br />
Create a new project in visual studio, of type "Class Library". (In other words, we will be creating a DLL.)<br />
<br />
Add a reference to "ITimeSnapperPlugin.dll"<br />
<br />
Give a suitable name to your class, and then implement "ITimeSnapperPlugin"<br />
<br />
<source lang="csharp"><br />
using System;<br />
using TimeSnapperPluginAPI;<br />
<br />
namespace CSharpSamplePlugin<br />
{<br />
class AnotherPluginSample : ITimeSnapperPlugin <br />
{<br />
</source><br />
Create a new guid. We'll use this to make sure our plugin doesn't clash with any other plugins.<br />
<br />
Return the guid you've created, from the 'PluginID' property getter.<br />
<br />
Return the name of your plugin from the "Friendly Name" property getter:<br />
<br />
<source lang="csharp"><br />
string ITimeSnapperPlugin.FriendlyName<br />
{<br />
get { return "My Sample Plugin"; }<br />
}<br />
</source><br />
<br />
Next, you should return a paragraph describing your plugin from the "Description" property getter.<br />
<source lang="csharp"><br />
string ITimeSnapperPlugin.Description<br />
{<br />
get { return "This plugin demonstrates some of the ways that plugins work."; }<br />
}<br />
</source><br />
<br />
The two properties above are used by TimeSnapper for providing information about the plugin, inside the 'Options' dialog:<br />
<br />
== How do I subscribe to an event? ==<br />
<br />
When TimeSnapper first loads up our plugin, it will ask it which events it wants to subscribe to.<br />
<br />
It asks this question by calling the "SubscribesTo" method.<br />
<br />
From "Subscribes to" you return an array of enums, chosen from the enumeration "TimeSnapperEvent"<br />
<br />
So, if you want your plugin to subscribe to the "Flag Saved" event and the "Snapshot Saved" event, you would write this code:<br />
<br />
<source lang="csharp"><br />
TimeSnapperEvent[] ITimeSnapperPlugin.SubscribesTo()<br />
{<br />
return new TimeSnapperEvent[] <br />
{ TimeSnapperEvent.FlagSaved, <br />
TimeSnapperEvent.SnapshotSaved };<br />
}<br />
</source><br />
<br />
== How do I add menu items to TimeSnapper? ==<br />
<br />
Similarly, when TimeSnapper loads up our plugin, it asks if there are any menu items it wants to add to any menus.<br />
<br />
It asks this question by calling the "MenuItems" method, from which the plugin can return an array of TimeSnapperMenuItem classes.<br />
<br />
== How do I handle a TimeSnapper event? ==<br />
<br />
When the event itself occurs, you are notified in a method called "HandleEvent".<br />
<br />
In 'HandleEvent' you write a switch statement, (a Select case, in Visual Basic speak), with one case for each event you want to handle.<br />
<br />
<source lang="vbnet"><br />
Select Case TimeSnapperEvent<br />
Case TimeSnapperEvent.SnapshotSaved<br />
MessageBox.Show("A snap shot saved!") <br />
</source><br />
<br />
Here's one for our example:<br />
<br />
<source lang="csharp"><br />
object ITimeSnapperPlugin.HandleEvent<br />
(ByVal timeSnapperEvent As TimeSnapperEvent, ByVal services As IServices, ByVal args As EventArgs)<br />
{<br />
switch (TimeSnapperEvent)<br />
{<br />
case TimeSnapperEvent.FlagSaved :<br />
Debug.WriteLine("A flag was saved");<br />
break;<br />
case TimeSnapperEvent.SnapshotSaved :<br />
Debug.WriteLine("A snapshot was saved");<br />
break;<br />
default:<br />
Debug.Assert(false, "Hey! I didn't subscribe to " + <br />
TimeSnapperEvent.ToString() + <br />
"... so this default case won't occur");<br />
break;<br />
}<br />
return null;<br />
}<br />
</source><br />
<br />
== How can I let the end user configure my plugin? ==<br />
<br />
Each plugin has a readonly Boolean property named "Configurable."<br />
<br />
Most simple plugins do not need any configuration by the end user, so their authors would simply return 'false' from this property, like so:<br />
<br />
<source lang="csharp"><br />
bool ITimeSnapperPlugin.Configurable<br />
{<br />
get { return false; }<br />
}<br />
</source><br />
<br />
But if your Plugin is a little more complex, and requires the end user to configure it, you will want to return "true" from this property.<br />
<br />
What exactly does that do? It means that the "Configure" button, in the "Plugin" tab of the Options dialog will be enabled, when your plugin is selected.<br />
<br />
If "Configurable" returns true, then the button will be enabled. When the user presses the button, TimeSnapper will call the "Configure" method on your plugin.<br />
<br />
It's up to you, as the plugin author, to decide what your plugin will do when the Configure method is called. You could show a modal windows dialog, you could launch a url inside a browser, you could show a WPF form -- anything you like.<br />
<br />
It's also up to you how you will persist the user's choices across sessions (if required). You might for example, write an xml file into the user's app settings folder, or record settings in the registry.<br />
<br />
== Why do some of the events have 'Cancel' on the end of their name? ==<br />
<br />
The full list of events you can subscribe to is provided in the enumeration TimeSnapperPluginAPI.TimeSnapperEvent and it looks like this:<br />
<br />
<source lang="csharp"><br />
public enum TimeSnapperEvent<br />
{<br />
SnapshotTakingCancel = 0,<br />
SnapshotTakenSavingCancel = 1,<br />
SnapshotSaved = 2,<br />
AutoPoppingUpCancel = 3,<br />
FlagSavingCancel = 4,<br />
FlagSaved = 5,<br />
PluginsLoaded = 6,<br />
Closing = 7,<br />
ArchivingCancel = 8,<br />
Archived = 9,<br />
SnapshotDeletingCancel = 10,<br />
SnapshotDeleted = 11,<br />
}<br />
</source><br />
<br />
Some events have the word 'Cancel' on the end of their name, because they are events that give you the opportunity to Cancel an activity from occuring.<br />
<br />
For example, if you subscribe to the SnapshotTakenSavingCancel event, you will be notified whenever a snapshot has been taken and it is about to be saved. You will have the opportunity to cancel the saving of the snapshot.<br />
<br />
All events pass an 'eventArgs' parameter -- whose base class is the familiar .net class "System.EventArg".<br />
<br />
The events whose name ends with cancel, pass through a subclass of this, using the familiar "System.ComponentModel.CancelEventArgs" derivation.<br />
<br />
You cancel an event by setting the Cancel property of the event args to 'True'.<br />
<br />
If you cancel an event, then no other plugin will see that event, and the action won't go ahead. (The saving won't occur, in this example.) You can think about that from another point of view as well: any other plugin may cancel an event before it gets to you.<br />
<br />
Here is how you cancel an event...<br />
<br />
Make sure the event is one of the ones that end in 'Cancel'. Cast it to a System.ComponentModel.CancelEventArgs, and set it's cancel property to true.<br />
<br />
<source lang="csharp"><br />
object ITimeSnapperPlugin.HandleEvent<br />
(TimeSnapperEvent TimeSnapperEvent, EventArgs args)<br />
{<br />
switch (TimeSnapperEvent)<br />
{<br />
case TimeSnapperEvent.AutoPoppingUpCancel:<br />
//No! we won't let the auto popup occurr...<br />
((System.ComponentModel.CancelEventArgs)EventArgs).Cancel = true;<br />
break;<br />
</source><br />
<br />
Here's a similar example in VB.net, where we stop a snap shot from being taken...<br />
<br />
<source lang="vbnet"><br />
Public Function HandleEvent(ByVal TimeSnapperEvent As TimeSnapperEvent, _<br />
ByVal args As EventArgs) _<br />
As Object Implements ITimeSnapperPlugin.HandleEvent<br />
Select Case TimeSnapperEvent<br />
Case TimeSnapperEvent.SnapshotTakingCancel<br />
'You plan to take a snapshot hey. Let me cancel that!<br />
Dim realargs As System.ComponentModel.CancelEventArgs<br />
realargs = CType(args, System.ComponentModel.CancelEventArgs)<br />
realargs.Cancel = True 'Stop it from happening!<br />
</source><br />
<br />
== Can I download some sample code, in C#? ==<br />
<br />
Here is a very simple example of a plugin, written in C#<br />
<br />
Sample Plugin -- C# (zip)<br />
<br />
== Can I download some sample code, in Visual Basic .net? ==<br />
<br />
Here is a very simple example of a plugin, written in Visual Basic .net<br />
<br />
Sample Plugin -- Visual Basic.net (zip)<br />
<br />
== Can I download some sample code, in F#, IronPython and IronRuby? ==<br />
<br />
Sorry, example are not currently provided in languages other than C# and VB.net. Why not write one and share it with the world?<br />
<br />
== Why isn't my plugin loaded? ==<br />
<br />
TimeSnapper looks for plugins in a subfolder called "Plugins" located under the TimeSnapper application folder.<br />
<br />
For example "C:\Program Files\TimeSnapper\Plugins".<br />
<br />
Here's the trickiest part... TimeSnapper only looks inside files whose name ends with "Plugin.dll".<br />
<br />
So for example, "SamplePlugin.dll" would be inspected for ITimeSnapeprPlugin's -- but PluginSample.dll would NOT be inspected and loaded.<br />
<br />
Just repeating that one more time: your DLL's name must end with "Plugin.dll" or it will not be loaded.<br />
<br />
(Why is this done? This is so that if a plugin references a lot of supporting dlls, they can live in that same folder, without slowing down the startup time for TimeSnapper.)<br />
<br />
== How can I debug my plugin? ==<br />
<br />
If errors occur during loading or activating a plugin, details are written to the TimeSnapper log file.<br />
<br />
Also, you can emit debug statements from your plugin, and then look at them using a debug listener, such as the one provided by sysinternals.<br />
<br />
Alternatively, you can set a break-point in Visual Studio and attach the debugger to Timesnapper.exe.<br />
<br />
== Can I share a plugin I've writen? ==<br />
<br />
You are most welcome to share your plugins!<br />
<br />
We intend to provide a gallery of plugins from TimeSnapper.com, to encourage their usage, and I would like to further promote them on my blog at secretGeek.net.<br />
<br />
It is still very early days, but we are hoping for some activity here.<br />
<br />
== Can I make money from writing plugins? ==<br />
<br />
You certainly may.<br />
<br />
You are welcome to sell or to give away your plugins. You can include your own licensing registration mechanism within your plugin if you wish. We don't ask for a share of any royalties from your plugin, if it does make money. The only caveat we have is that we insist you don't use your plugins to circumvent the goals of TimeSnapper, or to damage our existing licensing and protection.<br />
<br />
== What plugins are available? ==<br />
There are (at least) four plugins available currently. See [[Plugins]] for more information.<br />
<br />
== I have a great idea for a plugin. What do you think about this... ? ==<br />
<br />
See [[Plugin_Ideas]] for some of the ideas we've developed or received so far. Add your own, or [http://timesnapper.com/contact.aspx contact us] and tell us.<br />
<br />
<br />
<br />
[[Category:Plugins]]</div>LeonBambrickhttps://wiki.timesnapper.com/index.php?title=TimeSnapper_Portable&diff=312TimeSnapper Portable2009-11-07T13:57:41Z<p>LeonBambrick: </p>
<hr />
<div>[[Image:Usb-key.jpg|left]]<br />
[http://timesnapper.com TimeSnapper] can be run from a USB key directly. Just run the setup to your USB key and start TimeSnapper.exe from the USB drive.<br />
<br />
TimeSnapper will automatically configure itself the first time you start it to save all data in a sub folder directly beneath the application directory.<br />
<br />
== Tips ==<br />
* Make sure to shut down TimeSnapper before removing the USB key from your computer</div>LeonBambrickhttps://wiki.timesnapper.com/index.php?title=Main_Page&diff=311Main Page2009-11-07T13:57:05Z<p>LeonBambrick: </p>
<hr />
<div>[http://timesnapper.com TimeSnapper] is an '''Automatic Screenshot Journal'''.<br />
<br />
It runs in the background of your computer, taking screenshots of your desktop every few seconds all week long.<br />
<br />
[http://timesnapper.com/downloads/TimeSnapperProSetup.exe Download Immediately!]<br />
<br />
== TimeSnapper Professional ==<br />
<br />
* [[Getting Started]]<br />
* [[FAQ]]<br />
* [[Index of Features]]<br />
* [[Plugins]] <br />
** [[Plugin Ideas]] <br />
** [[Plugin Development]] <br />
** [[Database Model]]<br />
<br />
== Next Action ==<br />
<br />
* [[Introducing NextAction]]<br />
<br />
<br />
== Micro ISV ==<br />
<br />
* [[25 Steps to Build Your Own Micro ISV]]</div>LeonBambrickhttps://wiki.timesnapper.com/index.php?title=Main_Page&diff=310Main Page2009-11-07T13:56:25Z<p>LeonBambrick: /* TimeSnapper Professional */</p>
<hr />
<div>TimeSnapper is an '''Automatic Screenshot Journal'''.<br />
<br />
It runs in the background of your computer, taking screenshots of your desktop every few seconds all week long.<br />
<br />
[http://timesnapper.com/downloads/TimeSnapperProSetup.exe Download Immediately!]<br />
<br />
== TimeSnapper Professional ==<br />
<br />
* [[Getting Started]]<br />
* [[FAQ]]<br />
* [[Index of Features]]<br />
* [[Plugins]] <br />
** [[Plugin Ideas]] <br />
** [[Plugin Development]] <br />
** [[Database Model]]<br />
<br />
== Next Action ==<br />
<br />
* [[Introducing NextAction]]<br />
<br />
<br />
== Micro ISV ==<br />
<br />
* [[25 Steps to Build Your Own Micro ISV]]</div>LeonBambrick