NoteFrog and the clipboard

Posted by – January 28, 2012

We envision NoteFrog as a Notes keeper and not a clipboard extender (since most people already have their own “favorite” clipboard tool). The primary purpose for NoteFrog having automatic clipboard capture capability is to allow you to easily capture a series of clips as notes. Some people do use NoteFrog as a clipboard extender – turning clipboard capture “on” each NoteFrog session. They then capture everything and periodically move/copy the clips they want saved permanently, into a separate stack. This mode, where most clips probably won’t become Notes, and will likely be discarded, using “trash” as the active stack, facilitates easily “cleaning/removing” the unwanted clips, but does require setting clipboard capture to “on” each session.

So, why does NoteFrog, or any other clipboard collection program, sometimes stop capturing clips?

As stated above, NoteFrog is not intended to be a clipboard utility, but rather make it somewhat easy to capture content from the clipboard. It should* never fail to collect clips when used as intended – capturing a clip(s) on demand via a hot-key or direct capture command. It will also function perfectly in clip collection mode as long as all other programs in the collection chain “play fair”.

(The discussion below applies to the Windows clipboard, pre-Vista. When we no longer have to support XP based systems, we won’t have to worry about a “broken” clipboard chain although it is still possible that clipboard data be unavailable – see below)

The windows clipboard works like a game where the person on your left passes you a note and you read it and pass it along to the person on your right, etc.

What happens if someone doesn’t pass the message along or if someone quits but doesn’t tell the person ahead of them who to pass to now? (Or if you kill a program and they don’t get a chance to tell the person who to pass to)?

Assume there are no applications in the clipboard “chain”. Application A joins and the chain appears as follows:

-> A (“Windows” tells A when there is a new clip)

Application B then registers to join the chain. When it does so, it gets told who was previously at the front of the chain, and it is responsible for storing this information. The chain is now:

-> B -> A (“Windows” tells B when there is a new clip. B passes the info along to A.)

Lets have C and D join as well (in that order). The chain is now:

-> D -> C -> B -> A

Now, assume some text is copied to the clipboard. The system looks at who is at the front of the viewer chain and notifies them of the clipboard update. In this case it is D. D does what it needs to and then looks up who is next in the chain by referring to some information it has stored away somewhere. This is where problems can arise. If D is a badly written application (they do exist), then it might not have stored who was previously at the front of the chain when it joined (or maybe there is a bug and it gets the wrong information), and as a result C will not be notified of the update. Hence, we have a broken viewer chain, that means C, B and A are not told that the clipboard was updated.

Assume that the viewer chain looks as follows:

-> D -> C -> B -> A

B decides that it is time to leave the chain. So, it tells the system that it wants to be removed from the chain. The system then sends a message to the window at the front of the chain which says something like:

Remove B from the chain. A should now take B’s place in the chain.

Since D is at the front of the chain, it checks to see if B follows it in the chain. If not, it passes the message on to C. C sees that B follows it in the chain, so it updates its internal structures and now records A as following it in the chain. The chain is now:

-> D -> C -> A

Of course, this removal process is prone to failure. Say D did not pass the deletion message on. The chain remains as:

-> D -> C -> B -> A – (notice A is NOT receiving messages, since B has been removed)

But, when C tries to send the clipboard update notification to B what will happen? If B has exited then A will not get the notification. If B has not exited it might choose to ignore the notification as it has no obligation to pass it on since it is not part of the chain. Hence, we have a broken chain and A will most likely not be notified of clipboard updates.

Now, imagine that B decides to rejoin the chain. Then we will have:

-> B -> D -> C -> B -> A

This is actually:

-> B -> D -> C -> B -> D -> C -> B . . .

In other words, we have a loop in the viewer chain. Not only will A not be notified of updates, but the update notification will spin between B, D and C continuously!

There is no easy way to fix this dilemma, since there’s no easy way to determine who are all the participants in the chain – you only know the person before and after you.

For the most part, “fixing” the chain, doesn’t really fix it, it merely recreates it with the program doing the fix placing itself at the front of the list. This MAY be a fix, depending on the makeup of the chain, but more likely it “fixes” the chain for that program only. There’s no guarantee it fixes it for everyone.

So yes, a program (NoteFrog) can periodically move itself to the front of the chain. But that will still leave a possible mismatch between NoteFrog and other programs in the chain.

*It is also possible for a program to “hold” the clipboard so NO other program may get data from the clipboard. In that case, even refreshing the clipboard chain is not a solution, you must find the problem program and kill it. Or, when all else fails, reboot.

User forum registration

Posted by – January 21, 2012

We’ve created a NoteFrog forum.

You’ll need to register (attempting to prevent spammers/bots).
Here are answers to the registration question(s)
Q “List two of the three primary colors of the NoteFrog avatar” Ans. green black OR green yellow OR black yellow
Q “What menu selection is between Item and Registration” Ans. Options
Q “What is the leftmost menu titled?” Ans. library
Q “What is the parent company of NoteFrog (top of page – starts with htc)” Ans. htconsulting

If there’s something you want to discuss/report/etc, join us there.

Version 2 files and their location

Posted by – January 21, 2012

We’ll add more detail, but for now:

What’s where?
c:\Program Files (x86)\NoteFrog (Vista/Win7) OR
c:\Program Files\NoteFrog (Windows XP)

    NoteFrog.exe = NoteFrog program
    EasyTimer.exe = EasyTimer program
    recycleDB.exe = Uninstall data clean up utility
    hunspelldll.dll = spell checker
    _help.html = used in file exports
    unins000.dat = data used for uninstalling
    unins000.exe = uninstaller

c:\Users\YourUserName\AppData\Roaming\HTConsulting\NoteFrog (Vista/Win7)
c:\Documents and Settings\YourUserName\Application Data\HTConsulting\NoteFrog (XP)
(You will need Admin privileges to access/view these files/folders)

    chime.ogg = EasyTimer chime
    etbkg.png = EasyTimer window background
    timer.png = Timer image

resources (folder) containing

    nf_options.html = Alternate Help Menu HTML
    nf_rightclick.html = Alternate Help Menu HTML
    nf_utilities.html = “Help/Utilities” window
    command.png = Alternate Help Menu image
    editbuttons.png = Alternate Help Menu image
    help_24.png = Alternate Help Menu image
    itembuttons.png = Alternate Help Menu image
    rtfbuttons.png = Alternate Help Menu image
    toolbuttons.png = Alternate Help Menu image
    help.gif = Alternate Help Menu image

    CuckooClock.wav = Reminder sound
    Frog.wav = clip capture sound

    en_US.dic = hunspell dictionary
    en_US.aff = hunspell dictionary
    en_US.dat = hunspell dictionary supplement

Created in “resources” folder by running NoteFrog

    NoteFrog.ini = Initialization/preferences data
    NoteFrog.db = Main NoteFrog notes/data library
    NoteFrog.a/b/c.log = programs logs

In your “documents” folder:

Want to run NoteFrog from a USB?
(Note: Database/Library access will be much slower than running from a hard drive)
Create a folder (NoteFrog or whatever) on the USB
Copy all files/folders from the above locations into the folder)
You MUST edit the NoteFrog.ini to reflect the new location for:
Database =
Opened = (if present)
Dictionary = (if you want to spell check)

Be sure to use a “Plain text” editor (e.g. Notepad) and save the file as NoteFrog.ini (Notepad will add a .txt by default unless you’re specific – “save as”

Version 2 beta testing

Posted by – January 5, 2012

This information is primarily for version 2 beta testers, but most of it will likely apply to version 2 users as well.

You can read about program differences in posts below.  This post is about getting ready to test.

Current alpha testing has not revealed any instances of data loss or corruption, but if you’re using your real NoteFrog library, you’ll probably want to create a backup, just to be safe.

You should download the beta install program and install it like any other NoteFrog install. If you’ve used the standard installation for previous installs, the beta install should run using your normal library. If you’ve changed the standard installation location, contact us for instructions – essentially you’ll need to replace the old executable with the new one and move a few new files to make them accessible to the program.

Upon first running the program it should locate the ini and library and start up as the previous version did. If you’ve installed version 2 into a new location and wish to run it separately from your version 1.9 installation, the new version 2 program will ask you if you want to create a new library or locate an existing one. That decision is up to you.

The new help menus are functional but are not at the level of detail they will be for the normal production install. We welcome your comments on how to improve them. Our familiarity with the program, causes us to sometimes take things for granted that others may not know.

We’ll probably issue a new beta in two to three weeks, depending on your issues, comments, suggestions – unless there’s a “show stopper” issue which requires an immediate fix.

Please report you findings regularly so we can stay current in addressing any issues.

Thanks for your participation.



Posted by – December 30, 2011

Indifferent to (or upset by) the default NoteFrog colorscheme? You can personalize the NoteFrog colorscheme to one of your liking via “Options – Colors”.

Personalized NoteFrog window

Or with a “trick”

NoteFrog personalized blue color scheme

Got one you really like? Send it to us and we’ll publish it.

Version 2 release notes – draft

Posted by – December 28, 2011

NoteFrog Version 2 will not be a “features” release, but rather a “new foundation” release. Version 2 release 1 will look, and function, much like Version 1.9. Features will be added once we have the new foundation in production.

That said, version 2 does contain some changes and features a somewhat new look.

NoteFrog V2
Command Box
Command area

As you can see, we’ve streamlined the function/edit/tool button area and added a “command” box, which can be used to effect any of the button changes via a command/text entry, e.g. “new”, “bold”, “copy”, etc. You may access the command box via the F10 key. You may see a list of available commands by entering a ? in the command box.

Alternate Menus with incorporated “Help”

We’ve added an alternate menu capability, available as a selection from the normal windows menus, which include the functionality of the normal menu selections, but also include help via “?” mouseover buttons.

Text file import
We’ve added the capability to import a directory of text files (.txt and/or .rtf) into NoteFrog, with each text file creating a new item in the current active stack.

Image display
Captured images are now displayed in natural image format whereas in release 1 they were displayed as a rich text rendition of the image.

Some of you requested the ability to change the default sounds for clip capture and reminders. All sounds are now external to the NoteFrog executable and are stored in the Microsoft recommended standard location which is a “hidden” system application data folder on your windows system drive.

For windows XP the location is – system drive:\Documents and Settings \”user name”\Local Settings\Application Data\NoteFrog\resources

For Vista/Windows 7 – system drive:\users\”user name”\appdata\roaming\HTConsulting\NoteFrog\resources

Back to the drawing board

Posted by – October 14, 2011

It happened to us. Missing tooltips on NoteFrog! Actually, tooltips were missing on all “programs” but present on “Browsers”, (yes, Browsers are programs too, but I’m making that exclusion for sake of identity).

So I began closing programs. No effect. Closed Firefox. No effect. Closed an instance of ie containing 6 tabs. Tootips returned for all programs, not just NoteFrog. I still had a tabbed instance of ie open. Re-opened the just closed instance of ie, containing the same tabs just closed. Still have tooltips on all programs.

This may take some research.

Update: Fixed for Version 2

Version 2 Update

Posted by – October 13, 2011

Now that I’ve taken a “break” from version 2 development (see version 1.9.1 release below), it’s probably a good time to update you on version 2 progress.

Version 2 is currently in “alpha” release status and should be entering “beta” pretty soon.

You’re probably as excited about this as we are and eagerly waiting for it to enter gamma or kappa or maybe even Charlie.

In our development process, alpha testing occurs after the major part of development is complete. However, during alpha testing, new features or functions may be added as part of the overall development. This necessitates additional testing – we have to redo the entire testing process (some of the introduced feature/functionality may impact areas already tested, so we have to test everything).

Once we enter beta testing, feature/functionality is frozen so the need to do extensive retesting across the entire feature suite, as any errors are found and corrected is less.

The good news is, as mentioned, we should be entering the beta test phase very soon.

The not so good news is that our senior Quality Assurance engineer has abandoned the Windows platform for linux, thus we’re not progressing as rapidly in the testing arena as we would like. While this may be a negative for NoteFrog in the short term, it will likely provide future benefit to NoteFrog users as they migrate NoteFrog capabilities to mobile technologies. As a demonstration of the type of capabilities that are coming, visit GooConvert for an early look at a free web-based application with NoteFrog-like capabilities. Since it’s browser-based it is also mobile device capable.

So, even though the immediate result is a lengthening of the current version 2 beta test cycle, the opportunities afforded by the web enabled capability will more than offset it.

While on the topic of beta testing, we are looking for a few active beta testers to join us when we begin. If interested, please contact us

Release 1.9.1

Posted by – October 13, 2011

We’ve made a change to Tooltips in an attempt to fix the occasional “non display” of tooltips a few users have experienced.

If you have not had any tooltip issues, there is no need for you to install this release.

Version 2 update

Posted by – August 6, 2011

Progress is continuing on NoteFrog version 2, with early beta testing scheduled to begin soon and an anticipated production release later this year or early 2012. Version 2 will not be a “features” release, but rather a “new foundation” release. We do not expect Version 2 release 1 to look, or appear to function, much differently than Version 1.9. Features will be added once we have the new foundation in production.

Speaking of version 1.9 and features – we’ve had two user reports of tooltips not displaying in version 1.9 even though turned on. In one case, the user reported the problem eventually cleared “on it’s own, following a re-boot” but in the other, re-booting didn’t help. We’ve been unable to duplicate this in any of our testing and are so far at a loss to explain it. If it’s happened, or happens, to you, please report it to us.