Google Apps Script: New ways to deliver workflow solutions for businesses

Google Sites offers an incredible way to author and distribute content, and we use it extensively both for ourselves and our clients. Therefore it was not surprising that our customers started requesting a content approval workflow in Google Sites. Now with Google Apps Script, we have been able to develop Appogee Content Approval for Google Sites.

The Solution
Appogee Content Approval for Google Sites (ACA) can be set up for any existing Google Site without having to make any changes to the site. ACA works as follows:

  1. The ACA spreadsheet generates a Content Submission Form and any content submitted is routed to a selected approver.
  2. The approver receives an email notification, which they can authorize or reject.
  3. Once authorized, the ACA spreadsheet writes the new content into the target Site using Apps Script’s Sites services. The new content is then visible to anyone with view permissions in the target site.
Approver receives an email containing the submitted content


The content submission URL can be shared to any group or published directly on the target Google Site, which represents the end goal on the workflow diagram below. Content may only be submitted by users that are logged into your domain and content can only be published with Approver sanction.

ACA Workflow Diagram
Google Apps Script made it easy

We used a number of Apps Script services to develop this application. Apps Script was an easy choice as it builds on pooled knowledge from the Google Web Toolkit (GWT) and uses Javascript syntax. Using Apps Script’s UI Services, we were able build up a working user interface quickly. Google has since introduced a new experimental feature to complement the UI Services, which provides a drag and drop GUI for building screens. We expect this feature to reduce development time required for building future apps, as well as offering a wide range of widgets and controls to improve the user experience. We used a standard Google spreadsheet as a kind of a data store in ACA. It’s worth mentioning that Apps Script’s documentation site has a plethora of tutorials covering everything from simple spreadsheet macros to full help desk applications.

One of Google Apps Scripts’ core features is the ability to seamlessly integrate different services together, in our case this was Google Sites and Spreadsheets, but many other services are accessible, such as Mail and Contacts. It was always the aim to make ACA a powerful tool without unnecessary complexity and thanks to Google Apps Script, we have successfully delivered content approval workflow to Google Sites.

Automate Review Spam Farm With Google Places New RSS Feed

How to properly use the newly introduced RSS feed import feature in the Google Places Hotpot interface that allows you to quickly review places of interest to you. I struggled with the interface and the instructions wondering exactly which reviewer would succeed with the task but along the way I discovered a creative black hat use. Use the feature to automate your spammy review farm activities.

Google Places has implemented some algorythmic filters to remove spammy reviews from Places account. The filters are still a work in progress and often catch good reviews along with the bad. While the algo seems to be able to filter the obviously bad reviews it often seems to not catch the review content from “positive review only services” that  are obviously spam.

Usually these services have a number of clients and an equal number of “reviewers” that post reviews on the client’s listing page. Any given review and reviewer look legit. But in aggregate the quantity of reviews, the distance and location of the reviewed businesses, the rapid change from negative to many all positive reviews and the reoccurrence of certain businesses amongst the reviewers point to spam. This particular pattern of review spam abuse is only obvious when you look at a number of the reviewer’s history and a number of listings that they have in common.  An example of this pattern is often visible in car dealers. See these dealers: here, here, here and here and these reviewers: Anastacia, Debi, Rachel and Candida and it becomes clear to a human viewer if not the algo that it is spam.

The new RSS feed capability that Google added to Places allows a user to easily (well the activity is easy once your figure out the totally wigged out interface) import their favorite businesses from MyMaps and FourSquare into Hotpot for a quick and easy queue of Place listings to review. The feature, as obtuse as it is, might attract a few active, geeky FourSquare users but it also seems to be the perfect tool to make review farms more “efficient”. As the price of fabricated reviews continues to drop in the open market place, it is important to your long term success  that you are the low cost provider.

Here is a step by step guide to the vagaries of this new feature for all of you black hat review spammers out there that want to achieve greater scale to your operations:

Step One: Create one or more MyMaps that includes your clients business listings. To be really “sneaky” spread them out amongst 4 or 5 MyMaps. It appears that the algo is not yet capable of tracking this sort of pattern of abuse. Be sure to make the MyMap public or at least share it with your minions. This is a one time effort that while somewhat time consuming will allow future dissemination of all the businesses your are reviewing.

Step Two: Have your many Mechanical Turks each create several Google accounts each. Not too many as that is a signal that Google is catching.

Step Three: Capture the URL for the RSS Feed for your MyMap lists. (Okay this is a bit tricky not because it is hard but because of Google’s instructions.  Those instructions refer to it as an RSS Feed but there is NO link in MyMaps called RSS. It is actually the link associated with the Google Earth KML download call View in Google Earth. You need to right click and copy the link.)

Step Four: Assign several MyMaps to each of your Turks, email it to them and suggest that they switch periodically between the MyMap business lists when rating. It adds a nice touch of reality.

Step Four: Goto to the Google Hotpot interface and instruct them to paste the URL into the search field. Some have suggested that you can add “?count=3000″ (or whatever number you’d like to display) to the end of the rss link to import more than the default load of 12 but I have yet to get that to work and it is easy enough to click on the load more button.