Dr. Dobb's is part of the Informa Tech Division of Informa PLC

This site is operated by a business or businesses owned by Informa PLC and all copyright resides with them. Informa PLC's registered office is 5 Howick Place, London SW1P 1WG. Registered in England and Wales. Number 8860726.


Channels ▼
RSS

Database

True Desktop Search


Copernic Plug-Ins

Copernic can use both built-in and custom plug-in components, called file extractors, to obtain the contents of varying file types to be indexed and displayed within its user interface. File extractors are written as Microsoft COM objects, and there is support for .NET and C#. The only COM interface required is ICopernicDesktopSearchFileExtractor, which defines these methods:

  • LoadURI initializes the file extractor with the name of the file to read.
  • GetContentStream retrieves the text contents of the file.
  • IsContentUnicode returns a Boolean that indicates the encoding of the content.

Google Desktop Search SDK

The Google SDK contains several APIs (also in the form of COM interfaces), which let you extend the Google index engine, search engine, search results presentation and the Google Sidebar display.

  • Index API integrates with the Google Desktop engine to allow it to index new content file types.
  • Query API allows application integration with Google Desktop to execute queries and handle search results.
  • Display API lets applications and plug-ins provide visual information to users.
  • Action API enables plug-ins to override default actions that occur when users interact with the UI.
  • Event API lets a plug-in receive notification when new items are being indexed by the Google Desktop engine.

The Index and Query APIs are straightforward and extend Google Desktop in ways similar to the other tools discussed. However, the other APIs let you customize the behavior of Google Desktop. The Event API, for example, lets you build components that receive certain events while content is being indexed. By intercepting these events, you can filter out certain types of content from being indexed.

The Display API lets you tailor the way content is displayed to the user in the Google Sidebar and Alert windows (Figure 5). For instance, a search that returns weather information is displayed in the Sidebar using appropriate graphics—sun, clouds, rain and so on. This API lets you choose the best and most creative ways to display your custom content.

Figure 5
This Sidebar, from the Google SDK documentation, displays various content types and can be extended to display your custom content.

Beyond custom content result presentation, you can control precisely what happens when a user clicks on result, either in the Google results window or the Sidebar with the Action API. Custom action components implement the appropriate COM interfaces, such as IGoogleDesktopRegistrar and IGoogleDesktopCustomAction, to perform their actions.

Conclusion

The battle is on for desktop presence, with vendors such as Google and Microsoft competing for installations. Google, for instance, has partnered with both Sun and Dell. When you download the Java runtime or buy a new Dell computer, the Google Toolbar and Google Desktop are also installed. Dell has also agreed to let Google integrate with its website.

Additionally, the lines between a computer's desktop and the Web are further blurred. It's even becoming important for desktop applications to integrate with Web services.

You should take advantage of SDKs that let you integrate your own applications with other applications that your users find useful. If, as a result, users perceive an increase in value for both applications, it will further the success of your application.


Related Reading


More Insights






Currently we allow the following HTML tags in comments:

Single tags

These tags can be used alone and don't need an ending tag.

<br> Defines a single line break

<hr> Defines a horizontal line

Matching tags

These require an ending tag - e.g. <i>italic text</i>

<a> Defines an anchor

<b> Defines bold text

<big> Defines big text

<blockquote> Defines a long quotation

<caption> Defines a table caption

<cite> Defines a citation

<code> Defines computer code text

<em> Defines emphasized text

<fieldset> Defines a border around elements in a form

<h1> This is heading 1

<h2> This is heading 2

<h3> This is heading 3

<h4> This is heading 4

<h5> This is heading 5

<h6> This is heading 6

<i> Defines italic text

<p> Defines a paragraph

<pre> Defines preformatted text

<q> Defines a short quotation

<samp> Defines sample computer code text

<small> Defines small text

<span> Defines a section in a document

<s> Defines strikethrough text

<strike> Defines strikethrough text

<strong> Defines strong text

<sub> Defines subscripted text

<sup> Defines superscripted text

<u> Defines underlined text

Dr. Dobb's encourages readers to engage in spirited, healthy debate, including taking us to task. However, Dr. Dobb's moderates all comments posted to our site, and reserves the right to modify or remove any content that it determines to be derogatory, offensive, inflammatory, vulgar, irrelevant/off-topic, racist or obvious marketing or spam. Dr. Dobb's further reserves the right to disable the profile of any commenter participating in said activities.

 
Disqus Tips To upload an avatar photo, first complete your Disqus profile. | View the list of supported HTML tags you can use to style comments. | Please read our commenting policy.