A taste of Google Desktop

Wednesday, April 25, 2007 at 11:48 AM

Posted by Scott Knaster, Technical Writer

In case you missed the announcement, we recently launched Google Desktop for the Mac, a fast and versatile new tool that extends the Google search experience to your own files on your Mac, plus your Gmail and web history. Today we're releasing an updated version (1.0.1) that fixes a lot of the issues you've told us about. Along with the new version, which you'll get automatically if you're already running Google Desktop, I'd like to help you get to know Google Desktop a bit better by taking you on a quick tour through some of the things it can do.

Fast acting

Once installed, the fastest way to get to Google Desktop is by using the Quick Search Box (QSB), and the fastest way to make the QSB appear is by pressing the ⌘ key twice quickly. You can also get the QSB by clicking the Google Desktop icon in the Dock. Once the QSB pops up, it's simple to use: type what you want to search for, and results start appearing. Just like Google search, each result comes with a couple of lines of text (which we call snippets) that give you context about that result. Snippets help you quickly figure out which result is most relevant to your search. When you see the result you want, just click it, and it opens.

Google Desktop is handy for finding the content of files, of course, but it has some other useful tricks as well. I use it as my application launcher: I just start typing the name of the application I want to run, and within a few keystrokes, the application appears at or near the top of the results list. Google Desktop also finds System Preference panes: type the name of the preference pane, and it bubbles to the top.




Google Desktop isn't limited to your local files. If you have a Gmail account, you can tell it to search through your Gmail as well. When you do this, it caches your Gmail on your Mac, so you can actually find and read Gmail messages even when you're offline. Once you turn this feature on, Google Desktop keeps up by indexing and caching new Gmail messages as soon as you receive them.

When you're searching Gmail (or email from Mail or Entourage), you can narrow your search by adding subject: to the query. For example, searching for hockey finds all results with the word "hockey" in them, but typing hockey subject:tickets specifically searches for an email with "hockey" in the contents and "tickets" in the subject line. Similarly, you can use from: to look for email from specific senders.



Possibly the coolest Google Desktop feature (and my personal favorite) is the ability to search your personal web history. Have you ever tried to find a web page you know you visited a few hours, days, or weeks ago? Google search helps, but it isn't quite the right tool for this job. With your permission, Google Desktop caches your web browsing history on your Mac so you can search it later. This is an incredible time saver if you surf the web a lot and you need to go back to something you've seen before.

Just browsing

We've done a lot with the Quick Search Box so far, but that's not the only way to access Google Desktop: you can also use it without ever leaving your browser. When you do a Google search in your browser (Safari, Firefox, or Camino), Google Desktop searches your computer as well, and if it finds anything that matches your search terms, you'll see appropriate results right at the top of the Google search results page. This is a very handy way to let you know you have something on your computer (maybe a page from your web history) that matches what you're looking for.



Click on the "results on your computer" link to get a list of search results. This Desktop results page has some handy features. At the top, the results are listed in various categories: email, web history, files, and so on. Click one of those to restrict your results to just that one category. For web history results, Google Desktop creates a thumbnail image of the web page, handy for helping you pick out the result you want. And because Google Desktop keeps track of changes to your files, every result has a Show cached link that lets you see older versions of the file.



Fancier tricks

I talked about using subject: and from: when searching email, and there are more ways to narrow your search. If you're searching for a particular kind of file, you can use filetype: to limit your results; for example, filetype:oo3 shows you only OmniOutliner 3 files; to find a folder, use (you guessed it) filetype:folder. If you're searching for a file by name, type filename: in your search. This works in both the browser search and the Quick Search Box. To find out all about this feature, see our Help Center article.

Finally, we've given Google Desktop a bunch of preferences so you can tailor its behavior. Want a menu bar icon to access it? You can have that. Hate that it has a Dock icon? You can turn it off. Don't want Desktop results when you do a web search? That's a preference, too. For more settings, check out System Preferences > Google Desktop. And have fun exploring everything it can do.

Google data APIs connect Cocoa developers to Google

Monday, April 16, 2007 at 6:51 AM

Posted by Greg Robbins, Software Engineer

When you trust your personal data to Google, it's still your data. You're free to edit it, to share it with others, or to download it and take it somewhere else entirely. The principle is simple: we won't lock you away from your data. In practice, we work hard to be sure that you and the software you use have the access that makes the principle really meaningful.

Last year, Google introduced Google data APIs, based on the Atom Publishing Protocol. Google data APIs are just a standard way to allow programs to get at your data on our servers. They already work with Google Calendar, Google Base, Blogger, and many other services. Google provides libraries to make it easy for programmers working in Java, C#, and Javascript to use the APIs.

The native language for Mac OS X applications is Objective-C, and it's our preferred language for Mac application development. To make it simpler for us to write Mac software that interacts with Google services, I created a framework to use Google data APIs directly in Objective-C programs. We are using the framework for our application development, and today we are making the framework available to all developers. The Google Data APIs Objective-C Library joins MacFUSE and Breakpad as open-source development efforts of Google's Mac software team, hosted at code.google.com.

A few small examples will give programmers an idea of how natural it is to use the framework to interact with Google services. Say an online roleplaying game wants to add a reminder to your Google Calendar that you need to be ready to join your guild in battle tonight between 10 and 11 pm. Adding the appointment to your calendar takes a few lines like this:

#import "GData/GData.h"

GDataServiceGoogleCalendar *service =
[[GDataServiceGoogleCalendar alloc] init];
[service setUserCredentialsWithUsername:@"myaccount@gmail.com"
password:@"mypassword"];

NSURL *calendarFeedURL =
[NSURL URLWithString:kGDataGoogleCalendarDefaultPrivateFullFeed];

GDataEntryCalendarEvent *newEvent =
[GDataEntryCalendarEvent calendarEvent];
GDataTextConstruct *content =
[GDataTextConstruct textConstructWithString:@"Battle today at 10pm"];

[newEvent setContent:content];
[newEvent setIsQuickAdd:YES];

[service fetchCalendarEventByInsertingEntry:newEvent
forFeedURL:calendarFeedURL
delegate:self
didFinishSelector:@selector(calendarTicket:finishedWithEntry:)
didFailSelector:@selector(calendarTicket:failedWithError:)];

Or, if a screensaver wants to get the items you've advertised for sale on Google Base and animate them in a groovy fashion, this is how it would retrieve your stuff:

NSURL *baseFeedURL = [NSURL URLWithString:kGDataGoogleBaseUserItemsFeed];
[service fetchGoogleBaseFeedWithURL:baseFeedURL
delegate:self
didFinishSelector:@selector(baseTicket:finishedWithFeed:)
didFailSelector:@selector(baseTicket:failedWithError:)];


The framework calls back into the screensaver with the list (called a feed) of Google Base items:

- (void)baseTicket:(GDataServiceTicket*)ticket
finishedWithFeed:(GDataFeedGoogleBase *)feed {
NSArray *myItems = [feed entries];
}

The framework also supports key-value coding, so it's quick and easy for Mac code chefs to use Cocoa bindings to whip up user interface displays of your information. Several sample Cocoa applications are available at code.google.com to show how to use more features of the Google data APIs.

Google Calendar, Google Base, Google Spreadsheets, and generic Atom feeds like Blogger are supported now in the framework, with access to more services already in development. If you are a Mac developer, I hope you'll join the open-source project and help us make even more Mac applications Google-savvy.

Google Desktop for Mac

Wednesday, April 04, 2007 at 6:05 AM

Posted By Mike Pinkerton, Software Engineer

People have been asking me since I started at Google what I've been working on, and until today, I've been unable to say. Now is the time to change all that and introduce the newest product from the Google MacEng team: Google Desktop for Mac (beta).

Google Desktop for Mac takes many of the features from the Windows product, such as indexing Gmail and web history, Google.com integration, finding content in past file revisions and deleted files, and fast application launching. But we know that simply "porting" to the Mac is not a good idea. So we took the time to develop a product that deeply integrates into Mac OS X and maintains its high standards of usability. This is a Mac product through and through, from the bezel on our search box down to correctly (and securely) handling multiple users and FileVault.

Our primary goal was to make desktop search as fast as Google.com web search. When people think Google, they think speed, and our Google Desktop product is no different. The search box makes launching documents and applications lightning fast and provides quick access to your files, folders, email, and webpages. Better still, with a convenient shortcut key (command + command) it's always right at your fingertips.



The next goal was to make Google Desktop as easy to use as a Google.com web search. In your web browser, Google Desktop looks and behaves like our web search, seamlessly blending the two experiences. When you do a Google.com search we'll also display interesting results from your Mac that are related to your search. Getting to Google Desktop is easy, whether you use the search box's shortcut key or click the "Desktop" tab on Google.com. Google Desktop additionally searches your Gmail and web history (from Safari, Camino, and Firefox) without you having to lift a finger, and can even find that important outline you deleted by accident!

As part of Google Desktop, you also get the new Google Updater. Don't worry, you don't have to do anything special: installing Google Desktop gets you Google Updater for free. It is designed to allow you to easily install, update, and uninstall all the Google software for Mac OS X. In addition to managing the products you have installed, Updater allows you to explore and discover other Google software, including Google Earth, Notifier, and Picasa Web Uploader, and learn a little about each of them. Best of all, Google Updater is always up to date with our full product line, and can even notify you about new software releases from Google!

Over the coming months, we'll continue to improve the product and innovate in the area of search, as well as find other ways to integrate into Mac OS X. As tech lead, I'm incredibly proud of the work my team has done, and I hope you enjoy the fruits of our labor. If you'd like to send us some feedback, we'd love to hear it over in our forum.