If you subscribe to all the blogs you found interesting at some point, you end up with a huge list of subscriptions. A possible solution is to reduce the number of items from your reading list using filters like: don't show me the posts from Google Operating System that include "YouTube" in the title. While Google Reader doesn't support filters yet, there are some tools that might help.
Google Reader Filter is a Greasemonkey script that lets you define a list of keywords you're interested in and a list of uninteresting keywords. The script highlights the posts that include your favorite keywords in the title and grays out the posts that contain keywords from the blacklist. You can use regular expressions for defining complex restrictions, like dates or long titles.
The script doesn't remove posts, so it's more like an automatic highlighter. Feed Rinse has another approach: add a feed, define a list of simple rules for filtering and you get a filtered feed that can be added to your feed reader. For some reason, I couldn't subscribe to Feed Rinse's feeds in Google Reader, even though they were valid and any other feed reader accepted them. Hopefully, it's just a temporary problem.
You could also use a Yahoo Pipe that lets you define a list of keywords that are potentially interesting. So if you enter gmail, google calendar as a filter, the pipe will obtain a list of posts that contain Gmail or Google Calendar. After running the pipe, click on "More options", select "Get as RSS" and subscribe to the feed. As Yahoo doesn't allow you to change the feed's title, you should rename it in Google Reader.
Adding Page Numbers to Google Documents
Google finally realized that the headers and footers from Google Docs have almost no real use, as you can't add dynamic information like page numbers or the current date. Until Google adds these options in the interface, you can edit the document's HTML code to use them. To add a header that displays "Page (current page number) of (total number of pages)" , click on "Edit HTML" and add this code at the beginning of the document:
<div style="text-align: right;" class="google_header">Page <span class="google_pagenumber">1</span> of <span class="google_pagecount">1</span></div>
When you save the document as a PDF, the header will look like this:
For footers, you should add this at the bottom of the document, in HTML view:
<div style="text-align: right;" class="google_footer" id="google_footer">Page <span class="google_pagenumber">1</span> of <span class="google_pagecount">1</span></div>
It's a good idea to go back to the rich text editor quickly if you don't want to see the horrible code generated by Google Docs. The "dynamic" headers and footers are visible only if you export the document to PDF, for example to print it.
<div style="text-align: right;" class="google_header">Page <span class="google_pagenumber">1</span> of <span class="google_pagecount">1</span></div>
When you save the document as a PDF, the header will look like this:
For footers, you should add this at the bottom of the document, in HTML view:
<div style="text-align: right;" class="google_footer" id="google_footer">Page <span class="google_pagenumber">1</span> of <span class="google_pagecount">1</span></div>
It's a good idea to go back to the rich text editor quickly if you don't want to see the horrible code generated by Google Docs. The "dynamic" headers and footers are visible only if you export the document to PDF, for example to print it.
Simpler Gmail Queries
There's an easy way to use logical disjunction in a Gmail query. Instead of typing OR after each term, you can just use curly brackets and separate the terms with spaces. Here's the official way:
dan OR "brian clouse" OR teja
and here's a simpler way to write the same query:
{dan "brian clouse" teja}
Note that you need to use quotes for multiple words and you can combine the expression with other Gmail operators. To find all the messages sent by Dan, Brian Clouse or Teja, search for:
from:{dan "brian clouse" teja}
To find the messages that have one of the following labels: unread, starred and work (the first two labels are built in), use:
label:{unread starred work} (or: l:{unread starred work})
By default, Gmail uses the logical conjunction between your terms, so if you search for:
dan "brian clouse" teja
Gmail will display all the messages that contain Dan, "Brian Clouse" and Teja. To group these terms, use parenthesis:
from:(dan "brian clouse" teja)
Some useful queries:
label:(unread inbox) - the unread messages from your inbox
label:(starred chats) - your favorite Google Talk conversations
label:(unread muted) - the conversations you've muted that have unread messages
filename:{pdf doc xls ppt} - messages that have attached a PDF file or a Microsoft Office document
label:unread subject:{important urgent} - unread messages that include "important" or "urgent" in the subject.
{ credit for the magical-curly-brackets tip: Paul Buchheit }
Google Redesigns the Advanced Search Page
Google's advanced search page contrasts with the simplicity of the homepage and the search results pages. Most people don't even notice the small link placed next to the search box and those who click on it find the page too confusing. Google's Daniel Russell said that 50% of the people who open the advanced search page leave it without completing the search. This is not surprising if you look at the page: you can choose the language of the search results, the formats, the usage rights, but also add numeric ranges and negative keywords to a query. The most useful features can also be accessed using operators, while the others aren't grouped intuitively. Other issues with Google's advanced search page: the search button is not placed at the bottom and the generated URL is unnecessarily long as it contains all the parameters.
According to some reports, the page has been redesigned and it now hides some of the obscure features inside a plusbox, while offering tips and a preview of the query:
The update is still being tested and it's likely you don't see it yet at: google.com/advanced_search.
For the time being, I suggest to use the advanced search for the option hidden in the expandable box (date, keyword location), while using the search operators for the other options. Some example of queries that use operators:
* paris -hilton site:edu (all the pages that contain Paris, but not Hilton and are from .edu sites)
* "women's rights" site:en.wikipedia.org (all the pages from Wikipedia that contain the exact text "women's rights")
* shakespeare inurl:hamlet filetype:pdf (all PDF results that contain Shakespeare and have Hamlet in the URL)
For the average user, the new page is more approachable, but Google's challenge is to provide good results even if you don't refine the query using operators and advanced operators.
{ The second screenshot has been licensed as Creative Commons by Barry Schwartz. }
According to some reports, the page has been redesigned and it now hides some of the obscure features inside a plusbox, while offering tips and a preview of the query:
The update is still being tested and it's likely you don't see it yet at: google.com/advanced_search.
For the time being, I suggest to use the advanced search for the option hidden in the expandable box (date, keyword location), while using the search operators for the other options. Some example of queries that use operators:
* paris -hilton site:edu (all the pages that contain Paris, but not Hilton and are from .edu sites)
* "women's rights" site:en.wikipedia.org (all the pages from Wikipedia that contain the exact text "women's rights")
* shakespeare inurl:hamlet filetype:pdf (all PDF results that contain Shakespeare and have Hamlet in the URL)
For the average user, the new page is more approachable, but Google's challenge is to provide good results even if you don't refine the query using operators and advanced operators.
{ The second screenshot has been licensed as Creative Commons by Barry Schwartz. }
Google Releases an API for Contacts
Google wants to make everyone happy today. After releasing a calendar sync tool, Google makes it possible to sync other valuable data: your contacts. The new Contacts Data API "allows client applications to view and update Contacts content in the form of Google Data API feeds. Your client application can request a list of a user's contacts, edit or delete content in an existing contact, and query the content in an existing contact."
What's interesting is that the contacts are tied to a Google Account, not necessarily to a Gmail account, so Google could release a separate address book for those who don't use Gmail.
Hopefully, social applications will use this API instead of asking for your Gmail credentials and we'll see synchronization utilities for mobile devices, Outlook etc. "The Google Contacts Data API allows you to own your own contact data. We expect the API to be useful for a big range of applications," notes Google's Sebastian Kanthak.
The problem is that your Google contacts aren't always your contacts: they're mostly a bunch of people automatically added by Gmail because you replied to their messages. And this is going to be a problem difficult to solve unless Gmail changes the way contacts are created.
What's interesting is that the contacts are tied to a Google Account, not necessarily to a Gmail account, so Google could release a separate address book for those who don't use Gmail.
Hopefully, social applications will use this API instead of asking for your Gmail credentials and we'll see synchronization utilities for mobile devices, Outlook etc. "The Google Contacts Data API allows you to own your own contact data. We expect the API to be useful for a big range of applications," notes Google's Sebastian Kanthak.
The problem is that your Google contacts aren't always your contacts: they're mostly a bunch of people automatically added by Gmail because you replied to their messages. And this is going to be a problem difficult to solve unless Gmail changes the way contacts are created.
Google Calendar Sync for Microsoft Outlook
One of the most popular requests for Google Calendar was synchronization with mobile devices and Outlook. After launching a sync tool for Blackberries, Google Calendar now offers a small utility for synchronizing events with Outlook.
By default the synchronization is bi-directional, but you can change this when you install the utility or from the options dialog. The only significant drawback is that you can only synchronize your main Google Calendar, but a future update should remove this limitation.
Google installs a small program that loads at start-up and sits on your system tray, while waiting for the next synchronization (the default sync interval is 2 hours). After synchronizing your calendar with Outlook, you can access it offline and synchronize it with your mobile phone.
It's worth noting that Google's new tool works with Google Apps accounts and it's another step towards making Google Apps more business-friendly.
{ spotted by Google Blogoscoped }
By default the synchronization is bi-directional, but you can change this when you install the utility or from the options dialog. The only significant drawback is that you can only synchronize your main Google Calendar, but a future update should remove this limitation.
Google installs a small program that loads at start-up and sits on your system tray, while waiting for the next synchronization (the default sync interval is 2 hours). After synchronizing your calendar with Outlook, you can access it offline and synchronize it with your mobile phone.
It's worth noting that Google's new tool works with Google Apps accounts and it's another step towards making Google Apps more business-friendly.
{ spotted by Google Blogoscoped }
Navigational Site Search Boxes
For navigational searches, the top result is the only result that matters. If you search for [NASA], it's clear that you want to go to NASA's website. Google realized that people sometimes want to go to a specific section of a site, so it started to include sitelinks, an automatically-generated list of popular places from a site. The links are not always the best, but they might save you a click and some time spent on sites that are difficult to navigate.
Some sites include a lot of content and their search box is more important than a navigational menu. For these sites, Google has just added a site search box below the sitelinks that allows you to restrict your query to the first search result. The search box shows up for a small number of sites like: Flickr, YouTube, Metacafe, Amazon, Craigslist, SourceForge, Microsoft.com, which have been automatically selected.
In the last two years, Google experimented with a lot of ways to enhance the information about search results and it will be interesting to see what features proved to be useful.
{ via Search Engine Land }
Update: It's worth mentioning that Yahoo also shows a site search box, but only if you search for [YouTube]. If you dare to search for [Google], Yahoo is there to mislead you.
Update 2. Google explains: "Through experimentation, we found that presenting users with a search box as part of the result increases their likelihood of finding the exact page they are looking for. So over the past few days we have been testing, and today we have fully rolled out, a search box that appears within some of the search results themselves. This feature will now occur when we detect a high probability that a user wants more refined search results within a specific site. Like the rest of our snippets, the sites that display the site search box are chosen algorithmically based on metrics that measure how useful the search box is to users."
Some sites include a lot of content and their search box is more important than a navigational menu. For these sites, Google has just added a site search box below the sitelinks that allows you to restrict your query to the first search result. The search box shows up for a small number of sites like: Flickr, YouTube, Metacafe, Amazon, Craigslist, SourceForge, Microsoft.com, which have been automatically selected.
In the last two years, Google experimented with a lot of ways to enhance the information about search results and it will be interesting to see what features proved to be useful.
{ via Search Engine Land }
Update: It's worth mentioning that Yahoo also shows a site search box, but only if you search for [YouTube]. If you dare to search for [Google], Yahoo is there to mislead you.
Update 2. Google explains: "Through experimentation, we found that presenting users with a search box as part of the result increases their likelihood of finding the exact page they are looking for. So over the past few days we have been testing, and today we have fully rolled out, a search box that appears within some of the search results themselves. This feature will now occur when we detect a high probability that a user wants more refined search results within a specific site. Like the rest of our snippets, the sites that display the site search box are chosen algorithmically based on metrics that measure how useful the search box is to users."
Top Commentators for a Blogger Blog
While Blogger doesn't encourage comments and communities, it's still interesting to see who comments on your blog more frequently. This information can be obtained from Blogger's comment feeds, but you need a tool for processing feeds.
Yahoo Pipes is probably the best way to combine, sort, filter and modify feeds. Inspired by this Yahoo Pipe, I created a pipe that shows the top 50 commentators from a Blogger blog, based on the most recent 5,000 comments. You can enter the URL of your blog and the number of top commentators, but the list is not generated instantaneously since Yahoo Pipe must fetch and process at most 10 GData feeds (Blogger's API doesn't include more than 500 comments in a single feed). The pipe could also be used to add the list of top commentators to the blog, using the JSON code generated by Yahoo.
Depending on the number of comments from your blog, the list may not be very meaningful. For example, if your posts get an average of 500 comments, this list will only reflect the hierarchy for the last 10 posts. To see the total number of comments from your blog, open this feed: http://BLOGNAME.blogspot.com/feeds/comments/default (replace BLOGNAME with the proper subdomain), view the page's source and search for "openSearch:totalResults". Google Operating System has 15,217 comments and the most recent 5,000 comments corresponding to the last 5 months.
Update. Here's some JavaScript code that uses Yahoo's JSON output. This could be easily added in a HTML/JavaScript page element from Blogger.
(merge the last two lines and replace BLOGNAME with your blog's subdomain name).
Yahoo Pipes is probably the best way to combine, sort, filter and modify feeds. Inspired by this Yahoo Pipe, I created a pipe that shows the top 50 commentators from a Blogger blog, based on the most recent 5,000 comments. You can enter the URL of your blog and the number of top commentators, but the list is not generated instantaneously since Yahoo Pipe must fetch and process at most 10 GData feeds (Blogger's API doesn't include more than 500 comments in a single feed). The pipe could also be used to add the list of top commentators to the blog, using the JSON code generated by Yahoo.
Depending on the number of comments from your blog, the list may not be very meaningful. For example, if your posts get an average of 500 comments, this list will only reflect the hierarchy for the last 10 posts. To see the total number of comments from your blog, open this feed: http://BLOGNAME.blogspot.com/feeds/comments/default (replace BLOGNAME with the proper subdomain), view the page's source and search for "openSearch:totalResults". Google Operating System has 15,217 comments and the most recent 5,000 comments corresponding to the last 5 months.
Update. Here's some JavaScript code that uses Yahoo's JSON output. This could be easily added in a HTML/JavaScript page element from Blogger.
<script type="text/javascript">
function pipeCallback(obj) {
document.write("<ol>");
var i;
for (i = 0; i < obj.count ; i++)
{
var href = "'" + obj.value.items[i].link + "'";
var item = "<li>" + "<a href=" + href + ">" + obj.value.items[i].title + "</a> </li>";
document.write(item);
}
document.write("</ol>");
}
</script>
<script src= "http://pipes.yahoo.com/pipes/pipe.run?_render=json&_callback=pipeCallback&
_id=c92ac21897d8b56e61cfa85930dd89a1&url=http%3A%2F%2FBLOGNAME.blogspot.com&num=10" type="text/javascript"></script>
function pipeCallback(obj) {
document.write("<ol>");
var i;
for (i = 0; i < obj.count ; i++)
{
var href = "'" + obj.value.items[i].link + "'";
var item = "<li>" + "<a href=" + href + ">" + obj.value.items[i].title + "</a> </li>";
document.write(item);
}
document.write("</ol>");
}
</script>
<script src= "http://pipes.yahoo.com/pipes/pipe.run?_render=json&_callback=pipeCallback&
_id=c92ac21897d8b56e61cfa85930dd89a1&url=http%3A%2F%2FBLOGNAME.blogspot.com&num=10" type="text/javascript"></script>
(merge the last two lines and replace BLOGNAME with your blog's subdomain name).
Add Feeds to Google Reader in Internet Explorer 7
Unlike Firefox, Internet Explorer 7 doesn't let you subscribe to a feed using your favorite feed reader. You can only use the feed reader included in IE7, which is not that good. That's probably the reason why 70% of Google Reader's traffic comes from Firefox users.
Google Toolbar 5 took the liberty to add options for subscribing to feeds in iGoogle and Google Reader. So the next time you want to add a feed in Google Reader, you can just click on the orange button from Internet Explorer and select one of the two options added by Google Toolbar.
Alternatively, you could go to Google Reader's Settings page, scroll to the bottom of the Goodies tab, right-click on "Subscribe...", select "Add to Favorites" and choose the "Links" folder. Make sure that the links bar is visible.
Google Toolbar 5 took the liberty to add options for subscribing to feeds in iGoogle and Google Reader. So the next time you want to add a feed in Google Reader, you can just click on the orange button from Internet Explorer and select one of the two options added by Google Toolbar.
Alternatively, you could go to Google Reader's Settings page, scroll to the bottom of the Goodies tab, right-click on "Subscribe...", select "Add to Favorites" and choose the "Links" folder. Make sure that the links bar is visible.
A Feed for Unread Gmail Messages
Gmail has a very cool feature not available in other webmail applications: feeds for unread messages. For example, the feed http://mail.google.com/mail/feed/atom/ shows the most recent unread items from your inbox. Gmail also offers feeds for your labels: http://mail.google.com/mail/feed/atom/labelname/, but it would be nice to have a comprehensive listing of all the unread messages, not just the ones that have a certain label. As you probably know, "unread" is one of the many built-in labels in Gmail, so you can use it to obtain this feed: http://mail.google.com/mail/feed/atom/unread/. In the URLs above, you can replace "http" with "https" for more security.
Gmail's feeds require authentication, so they don't work in many feed readers, like Google Reader or iGoogle. There are some feed readers that support password-protected feeds:
Browsers
* assuming you're logged in to your Gmail account, you can add any of the feeds to Firefox's Live Bookmarks (this is more like a workaround than true support for authenticated feeds)
* you can subscribe to the feeds in Opera if you don't like the built-in mail client
Desktop feed readers
* some desktop feed readers listed by Google that support Atom 0.3, SSL/HTTPS, and HTTP authentication
Online feed readers
* Netvibes is a notable example of online feed reader that supports authenticated feeds
Gmail recommends to make sure that the feed's content is private. "Keep in mind when you subscribe to your Gmail feed that some aggregators allow you to share, syndicate, or otherwise re-publish the feeds you subscribe to. This means that even though your Gmail feed is private, its contents could be made public through one of these methods. So you'll want to double-check the privacy settings in your aggregator to make sure you aren't sharing any information you don't want to."
Gmail's feeds require authentication, so they don't work in many feed readers, like Google Reader or iGoogle. There are some feed readers that support password-protected feeds:
Browsers
* assuming you're logged in to your Gmail account, you can add any of the feeds to Firefox's Live Bookmarks (this is more like a workaround than true support for authenticated feeds)
* you can subscribe to the feeds in Opera if you don't like the built-in mail client
Desktop feed readers
* some desktop feed readers listed by Google that support Atom 0.3, SSL/HTTPS, and HTTP authentication
Online feed readers
* Netvibes is a notable example of online feed reader that supports authenticated feeds
Gmail recommends to make sure that the feed's content is private. "Keep in mind when you subscribe to your Gmail feed that some aggregators allow you to share, syndicate, or otherwise re-publish the feeds you subscribe to. This means that even though your Gmail feed is private, its contents could be made public through one of these methods. So you'll want to double-check the privacy settings in your aggregator to make sure you aren't sharing any information you don't want to."
YouTube Tests Higher Resolution Videos
Following the announcement from November, YouTube started to test higher quality videos. If you append &fmt=6 to the URL of a YouTube video, you should get better quality videos. Note that this only works for a small number of videos.
Here's an example of video that's available both in the regular version (320x240) and in a higher quality encoding (448x336). The audio is now encoded at a sample rate of 44100 Hz, up from 22050 Hz. As you can see in the screenshots below, the right image is clearer and more detailed.
While this increase of resolution might seem minor, for the example above YouTube's re-encoded FLV file is more than twice bigger than the old one (from 9 MB to 22 MB), so it will load much slower.
If you append &fmt=18, YouTube downloads the video as a MP4 (H264 with AAC audio), encoded at 480x360. Here's the same video encoded as MP4.
To make things easier, there's a Greasemonkey script that automatically adds the magic parameter for you.
Related:
A discussion about the technical details
Here's an example of video that's available both in the regular version (320x240) and in a higher quality encoding (448x336). The audio is now encoded at a sample rate of 44100 Hz, up from 22050 Hz. As you can see in the screenshots below, the right image is clearer and more detailed.
While this increase of resolution might seem minor, for the example above YouTube's re-encoded FLV file is more than twice bigger than the old one (from 9 MB to 22 MB), so it will load much slower.
If you append &fmt=18, YouTube downloads the video as a MP4 (H264 with AAC audio), encoded at 480x360. Here's the same video encoded as MP4.
To make things easier, there's a Greasemonkey script that automatically adds the magic parameter for you.
Related:
A discussion about the technical details
Google Talk, Not Dead After All
14 months ago, when Google added Vista support for its instant messaging client, nobody anticipated a long period with no updates. According to a Google engineer, the desktop client hasn't been abandoned and we should expect a completely new version of Google Talk. While I couldn't find when it will be released or the new features, it's reassuring to hear that Google is still working on GTalk.
Some of the most popular features requested by users are already available in the online interfaces: group chats, invisible mode, AIM integration, so we should expect to find them in a new release of Google Talk. Other features are already standard in other IM clients: video conferencing, conference calls, phone calls.
Last year, a presentation for Google Apps inadvertently included a screenshot of Google Talk enhanced with the ability to make phone calls. In the comments, someone informed us that "internally at Google, this feature is already active since long".
What would you like to see in this all-new version of Google Talk?
Some of the most popular features requested by users are already available in the online interfaces: group chats, invisible mode, AIM integration, so we should expect to find them in a new release of Google Talk. Other features are already standard in other IM clients: video conferencing, conference calls, phone calls.
Last year, a presentation for Google Apps inadvertently included a screenshot of Google Talk enhanced with the ability to make phone calls. In the comments, someone informed us that "internally at Google, this feature is already active since long".
What would you like to see in this all-new version of Google Talk?
Google's Engineering Philosophy
A slide from a presentation at last year's Google Engineering Open House listed 12 principles that guide programming at Google:
1. All developers work out of a ~single source depot; shared infrastructure!
2. A developer can fix bugs anywhere in the source tree.
3. Building a product takes 3 commands ("get, config, make")
4. Uniform coding style guidelines across company
5. Code reviews mandatory for all checkins
6. Pervasive unit testing, written by developers
7. Unit tests run continuously, email sent on failure
8. Powerful tools, shared company-wide
9. Rapid project cycles; developers change projects often; 20% time
10. Peer-driven review process; flat management structure
11. Transparency into projects, code, process, ideas, etc.
12. Dozens of offices around world => hire best people regardless of location
{ Image from Google Press Center. }
More Details About Google Health
This week we found more details about Google Health, a not-yet-released service for managing personal health information. Marissa Mayer showed us some screenshots and the underlying principles of Google Health:
Google sponsored the research of George Church, a scientist that "plans to unlock the secrets of common diseases by decoding the DNA of 100,000 people in the world's biggest gene sequencing project". Asked if Google Health could make it easy to access genetics services, Marissa Mayer said: "We have some genetic partners where we've already been making investments. Genetics is much further out, and will be done at the control and discretion of the user."
Eric Schmidt explained that the idea for launching a health service came after looking at Google Search data. "[We] looked at what do people actually do with search in terms of the volume, and the importance of health came out No. 1... We tend to think of Google Health as an extension of search."
The service is likely not to include advertising since it will encourage people to use Google Search more. Google's CEO gave Google News as an example of non-monetized service: "Every month we say to ourselves should we add ads to Google News or add more news features to Google News and every month we decide to add more Google news features. (...) A Google News user is more likely to be a Google searcher and therefore clicks on ads more."
Eric Schmidt also gave an interesting keynote speech at the Healthcare Information and Management Systems Society conference (a YouTube user comments: "As ever Eric Schmidt is knowledgeable, funny and engaging").
One of the most exciting and innovative parts of Google Health is our platform strategy. We're assembling a directory of third-party services that interoperate with Google Health. Right now, this means you'll be able to automatically import information such as your doctors' records, your prescription history, and your test results into Google Health in order to easily access and and control your data. Later, this platform strategy will mean that you will be able to interact with services and tools easily, and will be able to do things like schedule appointments, refill prescriptions, and start using new wellness tools.
Google sponsored the research of George Church, a scientist that "plans to unlock the secrets of common diseases by decoding the DNA of 100,000 people in the world's biggest gene sequencing project". Asked if Google Health could make it easy to access genetics services, Marissa Mayer said: "We have some genetic partners where we've already been making investments. Genetics is much further out, and will be done at the control and discretion of the user."
Eric Schmidt explained that the idea for launching a health service came after looking at Google Search data. "[We] looked at what do people actually do with search in terms of the volume, and the importance of health came out No. 1... We tend to think of Google Health as an extension of search."
The service is likely not to include advertising since it will encourage people to use Google Search more. Google's CEO gave Google News as an example of non-monetized service: "Every month we say to ourselves should we add ads to Google News or add more news features to Google News and every month we decide to add more Google news features. (...) A Google News user is more likely to be a Google searcher and therefore clicks on ads more."
Eric Schmidt also gave an interesting keynote speech at the Healthcare Information and Management Systems Society conference (a YouTube user comments: "As ever Eric Schmidt is knowledgeable, funny and engaging").
Subscribe to:
Posts (Atom)
Labels
Web Search
Gmail
Google Docs
Mobile
YouTube
Google Maps
Google Chrome
User interface
Tips
iGoogle
Social
Google Reader
Traffic Making Devices
cpp programming
Ads
Image Search
Google Calendar
tips dan trik
Google Video
Google Translate
web programming
Picasa Web Albums
Blogger
Google News
Google Earth
Yahoo
Android
Google Talk
Google Plus
Greasemonkey
Security
software download
info
Firefox extensions
Google Toolbar
Software
OneBox
Google Apps
Google Suggest
SEO Traffic tips
Book Search
API
Acquisitions
InOut
Visualization
Web Design Method for Getting Ultimate Traffic
Webmasters
Google Desktop
How to Blogging
Music
Nostalgia
orkut
Google Chrome OS
Google Contacts
Google Notebook
SQL programming
Google Local
Make Money
Windows Live
GDrive
Google Gears
April Fools Day
Google Analytics
Google Co-op
visual basic
Knowledge
java programming
Google Checkout
Google Instant
Google Bookmarks
Google Phone
Google Trends
Web History
mp3 download
Easter Egg
Google Profiles
Blog Search
Google Buzz
Google Services
Site Map for Ur Site
game download
games trick
Google Pack
Spam
cerita hidup
Picasa
Product's Marketing
Universal Search
FeedBurner
Google Groups
Month in review
Twitter Traffic
AJAX Search
Google Dictionary
Google Sites
Google Update
Page Creator
Game
Google Finance
Google Goggles
Google Music
file download
Annoyances
Froogle
Google Base
Google Latitude
Google Voice
Google Wave
Google Health
Google Scholar
PlusBox
SearchMash
teknologi unik
video download
windows
Facebook Traffic
Social Media Marketing
Yahoo Pipes
Google Play
Google Promos
Google TV
SketchUp
WEB Domain
WWW World Wide Service
chord
Improve Adsence Earning
jurnalistik
sistem operasi
AdWords Traffic
App Designing
Tips and Tricks
WEB Hosting
linux
How to Get Hosting
Linux Kernel
WEB Errors
Writing Content
award
business communication
ubuntu
unik