Between 2003 and 2009 I built a small zoo of toys on top of Google's
Search API. The Beatles had been a band, Google had a SOAP endpoint,
and putting "API" next to "Google" still felt slightly transgressive.
Then Google closed the door, and a decade of clever little hacks
quietly stopped working.
Each card below is one of those hacks. I've kept the explanation of
the clever bit separate from the description, because the
clever bit is the part that I still like to look at.
Google Battle
What: Type two terms, and the loser-versus-winner is decided by which one shows up more often in the snippets of the OR-query for both.
Clever bit: Don't compare two separate hit-counts (noisy, depends on Google's index quirks). Run a single OR-query and count which term wins inside that single result page — comparing apples in the same basket.
Google Share
domain: Beatles
| John Lennon | (34.1%) | |
| Paul McCartney | (27.4%) | |
| George Harrison | (22.6%) | |
| Ringo Starr | (15.9%) | |
What: Implementation of Steven Berlin Johnson's concept. Pick a domain ("Beatles") and items ("John, Paul, George, Ringo"), get a pie chart of each item's mind-share within that domain.
Clever bit: Treats Google's search result count as a proxy for cultural prominence, then ratios the items so they sum to 100%. The Paul slice is bigger than the Ringo slice. Of course it is.
Google Talk
screenshot wanted
What: Type 3-4 seed words, watch Google "continue" the sentence — search the seed, find the most common next word in the snippets, append, slide the window, repeat.
Clever bit: A Markov-chain text generator where the n-gram corpus is the entire indexed web, queried live. Works as an oracle too — start "the meaning of life is" and let Google finish it.
Google History / Answers
What: Ask "when did Galileo invent the telescope?" Scan the top 10 Google results for 4-digit numbers; the year that shows up most is probably the answer.
Clever bit: Normalise candidate years against background year frequency on the web. 1999 shows up everywhere; if 1609 shows up just as much in a small sample for a specific query, 1609 is the signal.
Google Elections
What: Predict the US presidential election state-by-state. For each state, compare Google hits for "democrat <state>" vs "republican <state>", normalised by the party-only baseline; colour the map accordingly.
Clever bit: The whole point is to show search-volume is not a poll. The map looks plausible enough that you start to wonder. Then you remember it's just snippet counting.
Google SOAP Search API
Landgeist
What: Type a keyword — "war", "tea", "party" — and watch a world map colour itself in by each country's relative Google share for that word. Some words light up the places you'd expect; others draw cultural Rorschach blots.
Clever bit: Google Share, but with country names as the domain, rendered live: as each country's AJAX query came back the Chart-API map URL got rebuilt and the <img> reloaded. A reactive chart from before reactive was a word.
Google AJAX Search API · Google Chart API
Best Time to Visit
screenshot wanted
What: Type a place; get back the two months Google thinks you should go. Searches for "best time to visit <place>", then counts month-name occurrences in the descriptions.
Clever bit: Extracting structured data (months) out of free-form snippets by looking for a fixed small vocabulary. Same trick Google itself eventually started doing for everything.
Google Date
screenshot wanted
What: Same trick as Google History but for full dates rather than just years. Ask when something happened, the algorithm hands back its best date guess.
Clever bit: Date formats are messier than years (1609 is unambiguous; "May 4" isn't), so the matcher has to score multiple representations of the same date together.
Google Top 1000
screenshot wanted
What: For every integer from 1 to 1000, find the #1 Google result. Position 42 is famously a Hitchhiker's Guide page; the rest is a strange little census of the web.
Clever bit: Zero clever, all curation. Just a script that runs 1000 queries and dumps the top hit. The result is funnier than it has any right to be.
Poetry in Translation
screenshot wanted
What: Take an English sentence, translate it through German → French → German → English via Google Translate. "A thorn in my flesh" becomes "a spine in my meat".
Clever bit: The Telephone game in machine form. Translation chain length is a dial: short for charming, long for surrealist.
Visual Poetry
screenshot wanted
What: Type a poem, get a slideshow: each word turned into the top result from Google Image Search. You read your poem in pictures.
Clever bit: Treating Image Search as an "illustrate this word for me" function. The errors are the best part — "the" returns weird stuff.
Google Random Image
screenshot wanted
What: Drop a snippet of JS on your page; it scrapes its own surrounding HTML, picks keywords, and pulls a matching image from Google Image Search to display.
Clever bit: Pure browser, no server. Couldn't read the iframe's DOM (cross-origin), so it loaded a 150×150 iframe and scrolled it to the right pixel offset — using the page layout itself as a co-ordinate system.
Google Pos
screenshot wanted
What: Command-line tool. Give it your domain and a keyword; it tells you what position your site holds for that keyword on Google.
Clever bit: The polite tool in the bunch — proto-SEO from before SEO was a job title. Run it nightly and you've got rank tracking.
Google SOAP Search API
Google Protocol
screenshot wanted
What: A tiny Windows installer that registers two extra URL schemes: google: opens a Google search for its argument, lucky: opens the first result directly.
Clever bit: Repurposing the Windows registry's protocol-handler hook to make the address bar into a search bar — years before browsers built that in.
ZGoogle
screenshot wanted
What: A Zope product (Python package) wrapping Mark Pilgrim's PyGoogle, so you could call the Google API directly from inside Zope Python Scripts. Half the projects on this page used it.
Clever bit: Plumbing. The clever bit was Mark's; mine was the __init__.py that made it visible to Zope's product registry.
Google SOAP Search API