Since technical feasibility is one of the requirements for the winner of this competition, I’d like to offer some thoughts on implementation issues affecting Bubble Fish. In particular, the major implementation problem is grabbing the text on which to search. The main value of the Bubble Fish app is in the convenience it offers, so implementation difficulties that restrict that convenience become very important, even if it’s just saving a keystroke here or there. I unfortunately haven’t done any GUI development for the Mac, so my comments will be limited by my ignorance of exactly what’s possible and what’s not.
First, I’d like to thank Stephen for pointing out the dictionary search feature from Tiger (which I didn’t know about.) I looked into that, but unfortunately this feature only seems to work with Apple apps. (If this is not correct, someone please correct me.) So evidently it uses front-end integration with those apps to get the text. Still, if Bubble Fish could use the same methods it could work with maximal convenience with at least Apple apps, which on a Mac goes a long way. Whether this is possible or not depends on how that feature is implemented and if it’s documented or not.
So assuming for the moment that the functionality used by the Tiger dictionary search is not available to us, what are the options?
1. Worst case scenario - copy
In this scenario you would a) select word/phrase with the mouse, b) copy with Apple-C, c) Bubble Fish control key. In the case of step c, if Bubble Fish were active, it could constantly monitor the clipboard and do a search on whatever showed up there. Thus, you could trade step c for the initial activation control key. However, if might be annoying if you forgot to turn it off (plus the extra key to deactivate Bubble Fish.)
This approach has the advantage that it will definitely work, and the disadvantage that it’s pretty yucky. Note however that it’s still far ahead of the manual alternative: c) switch to or launch browser, d) navigate to appropriate web page, e) paste word/phrase into page, f) click some button.
2. Better - automated copy (possible?)
I’m not sure if this is possible or not, but it would work something like this: a) move cursor over word and hover, Bubble Fish figures out which app contains the text, sends the app a fake double-click to select the word, then sends a fake Apple-C to copy the word, then grabs the word from the clipboard. In cases in which this worked, this would almost be the best case scenario - that is, after activating Bubble Fish, you could just move the mouse around and not have to do anything else. On the downside, you never know what you’re going to select from a double-click. If it’s in English and you only want to search on one word, it might be ok. However, some foreign languages don’t use breaks between words, you might want to search on a whole phrase, or the app might just do something weird with the double-click.
3. OCR - great but hard
Another option that comes to mind is to grab the final graphics around the area of the cursor (possible?) and do optical character recognition (OCR) on the graphics to get the text. This has the advantage that you just need to move the mouse to the right location, and that’s it. For phrase selection, you could just highlight the phrase and have the OCR look for inverted text. On the downside, it’s hard - you’d have to find an OCR package with the appropriate rights, and you’d probably need one for each language. I noticed however that Google recently open sourced an OCR package.
4. Any ideas out there?



























