Tagged: Google

Getting Started With Google APIs – Round Up of Google Interactive API Explorers

The official Google Code blog a announced a Google APIs Explorer earlier today that allows you to experiment with a variety of Google APIs – Google API Explorer.

Currently supported APIs include:

– Buzz API
– Custom Search API
– Diacritize API
– Moderator API
– Shopping API
– Translate API
– URLShortener API

though you have to assume that more will be added as and when…

The API Explorer provides a quick way of checking API calls, as well as generating RESTful calls to the corresponding API (simply grab the GET request URL that is generated).

If your favourite API isn’t supported by the explorer, fear not, because there are several other interactive explorers for Google APIs and services around…

First up, the Google Analytics API Explorer (aka the Google Analytics Data Feed Query Explorer).

Then there’s the Google AJAX APIs Code Playground that lets you explore all manner of Google APIs in an interactive fashion (including the Google visualisation API, maps and Google Earth APIs, search APIs etc etc):

If it’s charts you want to experiment with, try out the Chart Tools Live Chart Playground (aka the old Chart API):

Any more that I’ve missed?

Google I/O: Gulp…

It’s that Google I/O time of year again, when Google releases more developer headf*ck APIs and code goodness in one go than it does at other times of the year (fanboy? me? Nah….. heh heh;-)

So what do we have this year? I’m guessing Liam will, if he hasn’t already, cover the Google TV announcement (and how much ad revenue with that bring them, if it takes off?), so I’ll take a look a the bits no-one’s been saying much about but that will (IMVHO), make a difference

First up, the Google Prediction API (and who saw that one coming…?! Sigh ;-) I’ve been playing with AI on and off for that 15 years (if you want a quick techie way in, with code examples on tap, Programming Collective Intelligence: Building Smart Web 2.0 Applications is hard to beat) but the novelty of this for me is two-fold: first up, intelligence (in the form of supervised training) on tap, as a service/web app. The Google Prediction API will see a steady increase in the number of people considering how to make their applications more intelligent, or provide a playground, if nothing else, for people who want to be able to train over large data sets. However, because Google owns the training algorithm, you can’t necessarily tune it yourself… It’s worth bearing in mind that Google is a master of casting applications so that they can benefit from supervised training (see for example People Powered Supervised Training Algorithms: Google Does it Again?) so with their weight behind it, the Prediction API could be an early indicator of a path that will lead to the commoditisation of computational intelligence, via industrial scale paid for services (“In the future, we plan to launch a paid version of this API”). In the same way that Amazon started selling web services off the back of infrastructure developed for its core business, Google is just following a similar course of action. Of course, the prediction API may lead to nothing… although along the way it might encourage companies to start putting large amounts of their data into its Google Storage service (which in turn is opening up a front against Amazon S3, maybe?;-)

Secondly, the Google Latitude API. Some commentators are claiming that with the likes of Foursquare and Gowalla already fighting over location, Google is well behind the curve on this one. I’m not so sure… Several location related Google APIs are starting to require users to declare whether the data is coming from a sensor or not (e.g. Google Elevation API: Denoting Sensor Usage) so if you think past location as people related and start to think about telemetry and instrumentation in a wider sense, the Latitude API could be a place where the geo sensor data goes (cf. pachube. If Pachube is ahead of the curve, I wonder if Google will snap them up, maybe as a short term complement to Google PowerMeter?)

Also on the mapping front are Google Styled maps, which let you customise the appearance of Google Maps. CloudMade has been offering this sort of service for some time over OpenStreetMap content, so I hope that rather than sound a death knell for CloudMade, the Styled maps actually sees a wider uptake of CloudMade. (I wonder too if anyone will fire up an extension to Mapstraction, the library that abstracts over a wide variety of map APIs, to cover styling?) If the opportunity arose, would the CloudMade folks make the jump to Google, I wonder?

Third up are the creepy bits… AdSense for AJAX/Search Ads and Gmail contextual gadgets, now available to all developers. AdSense for AJAX lets you pull contextual AdSense ads into your own page, even if the page is filled with dynamic content, by providing you with “the ability to supply hints to help ensure that ads with high relevancy are shown to your users.” AdSense for Search Ads seems to let you pair a Google custom search results panel and an AdSense panel so that you can pull back relevant AdSense ads into a page based on corresponding search results. Way up on my to do list is looking at whether we can use adservers to serve contextual content, so here’s another possible route for trying that out… On the GMail front, if you want to push contextually relevant content to people based on the contents of their email folder, (and why wouldn’t you?!;-)

A Gmail contextual gadget is a gadget that is triggered by clues in Gmail, such as the contents of Subject lines and email messages. A Gmail contextual gadget can be triggered by content in any of the following parts of an email: From, To, CC, Subject, Body, Sent/received timestamps

The gadgets can be deployed either within an Enterprise environment (does this include Google Apps for Edu, I wonder?) or via the marketplace. On seeing these gadgets, my first thought was some sort of phishing like expedition. Could I send emails to people from a particular email address, and then pull in additional related content via the Gadget, or somehow build up a profile of someone via the content of their mailbox in a two pronged attack that identifies them through tracer emails and reconciles this with the results of the content analysis?

I have to admit the list of filter elements shocked me a little:

GMail gadget contextual filters http://code.google.com/apis/gmail/gadgets/contextual/#filters

I can see this being hugely powerful if you think of your email as public goods, at least within the context of a public that exists within an enterprise, but more generally…? Err…? Let’s say I might have concerns… Or have I completely misunderstood how this all works? (See also: Personal Declarations on Your Behalf – Why Visiting One Website Might Tell Another You Were There. Suppose: I send you email, and you’re running a gadget…)

Anyway – thought for the day: what would a GMail learning environment look like?, where email messages sent to the user contained the course content, one (daily) chunk at a time, and the contextual widget pulled in additional materials based on the lesson/email the student was reading at the time? (NB I think it would be reasonable to assume that Google docs contextual gadgets might be a possibility some time soon?)

Finally, the big news… :-) Google Feed API supports PUSH and Google Apps script gains external triggers. First up – PUSH. You may have noticed that on certain Google search results pages, you get a small area with realtime web results that get pushed to the page almost immediately after they are created. What this means is that you can be pushed updates from a feed as soon as Google spots new content on that feed. What the Feed API now supports is this realtime PUSH updating. Complementing this, we have external triggers on Google Apps script. I haven’t found any documentation on this yet but the promise it that you can trigger Google apps scripts (for example, scripts associated with a spreadsheet?) from a third party site. The apps script documentation site is also announcing Installable Event Handlers which currently “support clock events which allow us to trigger a script based on the time”. For the serverless web developer, being able to run what are essentially cron jobs has always been a problem. But now it seems as if I should be able to run a script according to a particular schedule from with the Google Apps script environment. (I could probably do this in the Google App Engine environment, but I don’t see that as ever being a mass-user environment – it’s too coding programmer techie for mortals…) What does this mean? Well, it means I can tell my spreadsheet to go and grab some fresh data from some location at scheduled times of the day. Remember what I was saying about Pachube….?!

Okay, so that’s my take on this year’s Google I/O… a quirky perspective, maybe, but one that could have more consequences in terms of the way things are done, could be done and might be done (particularly in a realtime/live web environment) than a music store or leanback TV search app… As for the Android announcements… I still don’t have a good feeling for the movile ‘verse…

PS pound to a penny any OU newsletters on this only pick up on the TV bit;-)

PPS Oh yeah, forgot this one… WebM (i.e. video’s gonna change…;-) Gulp….

Hidden Talents of the Google Streetview Car…

Whilst playing with some Google maps last night, I noticed a new control:

Click it, and the browser throws up a request:

For those of you who haven’t seen this sort of thing before, the latest browsers come complete with location aware browsing. In the case of my browser, “Firefox gathers information about nearby wireless access points and your computer’s IP address. Then Firefox sends this information to the default geolocation service provider, Google Location Services, to get an estimate of your location.”

If you’re using a mobile phone, additional cues ares available, such as a GPS fix if your phone is GPS enabled, and cell tower triangulation, where the phone’s location can be detected not only from the current cell the phone is registered with, but also from the signal strength of surrounding cells.

If you accept the location finding, the new Google map control turns out to be a blue dot control…

You can revoke the location aware privilege by going to the site you granted access to, selecting “Page Info” from the Firefox tools menu, and then tweaking the Location Awareness setting:

Adding location awareness to a web page is trivial (e.g. Where are you? Find out with geolocation in Javascript) and is something I suspect that Facebook will soon have a privacy setting for…;-)

Anyway, in order for wifi network detection to be usable, a service is required that can map a network identifier onto a location. Skyhook Wireless is one provider of this service (I don’t think Google has acquired it – yet…), but Google also appears to be building its own…

There are several ways for Google to do this, of course…. If you have an Android phone, then it’s in principle possible for the phone to reconcile GPS data with cell tower and wifi network identifers and signal strengths. And the Google Streetview car? Well it appears that it doesn’t just collect imagery… On Google Street View Car Logging Wifi Networks: “Google’s roving Street View spycam may blur your face, but it’s got your number. The Street View service is under fire in Germany for scanning private WLAN networks, and recording users’ unique Mac (Media Access Control) addresses, as the car trundles along.” In the past, of course, there have also been privacy concerns about Google Street View capturing faces and car number plates. (See also: Large-scale Privacy Protection in Google Street View [PDF]).

Ever one to take an idea and run too far with it, I had a little think around what other sorts of “assist” information Google might be able to capture from Street View. So for example, in December last year (2009) it was announced that Google takes another stab at QR codes. Will it work this time?: “Google announced a broad plan to introduce QR code stickers in the windows of over 100,000 local businesses nationwide.” Hmm…so that means if Street View captures the QR code, it can then reconcile that location with your business…

(Street View captured QR-codes also provides a launchpad for augmented reality ads in Google Maps and Google Earth, e.g. by using the QR-code as the augmented reality registration image. See for example Real-Time Ads Coming to Google Street View?.)

Something else that was announced this week – Google Cloud Print, in which printers become accessible, and fax machines can be laid to rest…

Our goal is to build a printing experience that enables any app (web, desktop, or mobile) on any device to print to any printer anywhere in the world.

The Goog will quickly work out where in the world those printers are, of course… (I can’t wait to see a “Printers near me” option appearing in context menus… Err…;-)

(Just in passing, this also caught my eye this week: Digital Photocopiers Loaded With Secrets. In short, digital photocopiers are scanners, with hard drives. So assuming that you know all those stories about sensitive information leaking from organisations via hard drives on scrapped PCs, well, err..? What happened to your last workplace photocopier?)

Okay, enough loose threads there for you to weave into your own nightmare scenario… @andysc suggested this was all getting a bit like Halting State, so I’m going to track that book (which is new to me) down right now…

See also: So What Do You Think You’re Doing, Sonny?

Due Out Soon – The Google “Qualified Developer Program”

A blog post on the Google GeoDevelopers blog last week announced:

Currently we are in the process of piloting certifications for several new APIs. We are building out certifications for KML, Google Earth Enterprise, and 3D in preparation for our first master certification, the Google Qualified Geo Web Developer. We’re also working on certifications for the AJAX Search API, Enterprise Apps, and Android.

(It seems like I was a little ahead of the curve when I blogged this almost 4 years ago: Google/Yahoo/Amazon Certified Professionals…;-)

There are already certified programmes for Cisco and Microsoft, of course, so it was only a matter of time before we started seeing badges like this one:

I wonder when we’ll be seeing a Google curriculum for computer science degrees too, building on the resources collected as part of the Google Code University? It seems they’re already trying to compete with the OU’s new short course Linux: an introduction with their Tools 101 tutorials, which includes intros to the Linux command line and grep;-) (It would be no loss to HE, of Google did take on compsci education, of course, because Computer Science degrees are ever harder to find, and much harder to do (too much reliance on logic and algorithm design) than Computing degrees… (Hmmm, a case of HE dumnping the academic in favour of the, err, more practical?!;-)

Of course, it may be that the Goog will get into delivering teaching qualifications?

One school subject area I think they could drive curriculum development is in geography – you do know they have a Geo Education website, don’t you…?;-)

Why does this matter? The internet based communications revolution hasn’t yet had a huge impact on the way we examine, assess and validate learning in formal academic education or on the curricula that are delivered. Maybe it shouldn’t. But whilst corporates have always produced educational promo packs, their reach has been limited to those students studying under teachers who have made use of those materials. And now we have search engines, and students will be coming across learning materials with corporate branding in the course of their own research. Maybe the kids will discount these materials as ‘tainted’ in some corporate way? Maybe they’ll see them as training materials and discount them as irrelevant to their academic educational studies? Or maybe they’ll see them as part of that userguide to the world that they’ll be referring to for the rest of their lives?

See also: Education, Training and Lifelong Learning, and Towards Vendor Certification on the Open Web? Google Training Resources.

Virtual Revolution: Google Economics

Th third episode of the OU/BBC co-produced Virtual Revolution (which may well be available on iPlayer from time to time) has just aired, and included a quick overview of how Google works – from finding relevant search results, to pricing the adverts that make Google its money.

So here’s a quick recap, and a little more detail…

Firstly, the famous PageRank mechanism that drives Google’s search results ranking. Here’s how Terry Winograd, one of the interviewees on the Virtual Revolution programme, describes it:

Vodpod videos no longer available.

(Michael Nielsen has written an even more comprehensive tutorial on how this works at Lectures on the Google Technology Stack 1: Introduction to PageRank. If you want to read the original PageRank paper, you can find it here: The Anatomy of a Large-Scale Hypertextual Web Search Engine.)

Next up, Google’s chief economist, Hal Varian, explains how the advert auction that powers Google’s AdSense service works:

(If you buy Google AdSense adverts, you might also be interested in how to price your bids effectively…)

For a full length lecture by Hal Varian on “The Economics of Internet Search”, check out the following hour long video:

[To learn more about effective searching on the web, see the OU course Beyond Google: working with information online, or check out this free tutorial from the Open University Library: Safari: Skills in Accessing, Finding and Reviewing Information.]

Just Because You Don’t Give Your Personal Data to Google Doesn’t Mean They Can’t Acquire It

[A story a few days ago (March 2012) brought this post to mind… Here’s the recent story – Walmart buys a Facebook-based calendar app to get a look at customers’ dates: “The Social Calendar app and its file of 110 million birthdays and other events, acquired from Newput Corp., will give Walmart the ability to expand its efforts to dig deeper into the lives of customers—allowing customers to make purchases on Walmart.com directly from event reminders from the Web or their mobile device.” It’s time I started brushing up on my legal understanding, I think: in the UK, would data protection legislation prevent one company from buying another for its data, and then using that data for a different reason to the reason for which it was collected? And if so, how is different defined? Could the data be used to annotate/be annotated by other data to create a derived product? Hmm… And how will #midata fit in with all this? eg We Can Haz Our Personal Data Back from Corporates?]

A long time ago, I wrote:

A couple of weeks ago [err, that’ll be years now;-)], I was telling a colleague about a podcast I’d heard earlier that day: Future Proofing Your Privacy. At the start of the talk, the speaker, Mark Hedland, tells of how he posted to an online group a post that said…

Hey, why don’t you read it, and why don’t you listen to what Mark Hedland has to say first hand (the first 7 or 8 minutes particularly).

For those of you who haven’t followed the links, here’s a recap. Something that was posted over 10 years ago to a part of the web that wasn’t supposed to be being archived, was – and now Mark Hedland can show how foolish he was then in thinking that [what] he was saying then would disappear.

As we talked, my colleague [“Sam Smith”] mentioned how 5 or so years ago they had posted a request to a news group asking for a translation of a traditional, Canadian French folk song, a translation they have since lost, along with the name of the song. (Actually, it wasn’t a song, French or Canadian, but it was to do with translation; I have changed the specific details to protect my colleague’s privacy!)

Two minutes after leaving their office (or maybe it was three, certainly no longer than that) I mailed my colleague a link to a Google Groups search page containing their long lost post. The query used the equivalent of these search terms: translation song “sam smith”. The post being searched for was the third item in the list of search results.

And so, as Google continues to roll out its social circle search facilities and use the people you know (and the people they know) to inform what search results you see, [and as Google buys up other social search companies, such as Aardvark (e.g. Google Buys Human-driven Search Engine Aardvark: Will It Make It to the Main SERPS?)], it’s worth bearing in mind a few things:

1) Just because you haven’t given Google your Twitter details, Google may know you’re my friend becuase I have given Google my twitter details and my friends and followers lists are public (an ‘asymmetric disclosure’? So for example, for a symmetric disclosure, Google might only use the belief that we’re friends if I follow you AND you have given Google your Twitter credentials AND you follow me. But if it you uses you to inform my results simply because I follow you, that would be asymmetric?)
2) Just because you haven’t given Google any personal info, Google might buy a company you have disclosed personal information to and then assimilate it into their growing total information awareness… (You do know Google owns Youtube, don’t you, and so has a pretty good idea of everything you’ve watched on it?;-)
3) Your mum may be influencing your search results… And you might be influencing your kids’ results… ;-)

See also: Time to Get Scared, People?, Brand Association and Your Twitter Followers, and so on…

PS a not evil thing to do would be to give users of an acquired service a guaranteed period of grace between the announcement that company has been acquired and the time when Google first has access to personal data, with the guarantee that users can withdraw from the service within that period and have their records permanently deleted.

PPS what does Google know about you? Here are two things to try: if you have a Google account, see who’s in your social circle; and whether or not you have a Google account, see what Google’s social graph API can turn up about you… .

PPPS if you’re on Facebook, Twitter and LinkedIn, Mashed In provides a widget based tool for letting other people on those networks see how closely linked they are to you… The asymmetries might arise here from all over the place, depending on what Mashed In is actually doing (I’ll try to do some digging…). For example, you might log on to my site and see that you are connected to someone on Facebook who is connected to someone on Twitter who I’m connect to on Linked In. Those intermediaries, who maybe are trying to maintain privacy of a sort by having separate social circles on different networks, are suddenly exposed. Like weddings where guests from different parts of the happy couple’s life collide, your connections may b your undoing. (Hmmm, so I wonder, are all these social tools going to start being deployed on prospective MPs I wonder? Prospctiv Parliamentary Candidate X is only two steps away from both a member of an dodgy looking group on Facebook and an ex porn star, for example… MPs expenses could be as if nothing compared to the sorts of selective storytelling you might be abl to turn up as a result of friend of a friend connections. Think Twiangulate, but working over multiple servics (as Mashed In might do?), court records, local news searches, gossip sites, company directorships, etc etc… Nightmare…

PPPPS Not to self – do a post on this… Reidentification Using Social Networks (i.e. deanonymisation); for sample History attack code, see SocialHistory.js: See Which Sites Your Users Visit]

Two Variants of Google Blogsearch?

Yet more signs that Google is losing the plot… Whilst putting together a quick Yahoo Pipes demo, I called up the Blogs search option from the More menu item in Google websearch in order to pull an RSS feed of blog search results from it… But there was no feed option?

Strange, because blogsearch.google.com does offer a feed option for blogsearch results?

So what we have here is a case of similar branding but different sidebar options. That is:

http://www.google.com/search?tbo=1&tbs=blg:1&q=%22yahoo+pipes%22

does not give the same sidebar options – or the autodiscoverable feed option – that this does:

http://blogsearch.google.com/blogsearch?q=%22yahoo+pipes%22

But the top left corner branding of each site is the same?

Just six words…

Don’t you think Google looks tired?