google | Edoceo's Blog

I’m Done with Google – Cloud Print

One of the easiest, and most frustrating, “services” Google offers is Cloud Print. It’s basically junk. The Internet is full of dreaded printer offline issues and forum posts about it random loss of functionality.

I enjoyed the promise of Cloud Print but it never delivered. I wanted to print to my office or home printers from anywhere. But Cloud Print would drop connections randomly; printers would be offline and require some magic incantation of un-install, reboot, purge Chrome cache, manage devices – across Mac and Linux systems. This was actually one of the easier services to drop.

Like many folks in the “tech” space I’ve got a VPN method into my Home and my Office. This VPN is powered by a Raspberry Pi running OpenVPN. So, simply adding CUPS to this machine and plugging printers in via USB got that part sorted.

It was actually one of the easier Google Services to drop. My frustrations caused by random things breaking has been greatly reduced. Simple and easy.

I’m Done with Google (Part 2)

A long while ago I wrote about being Done with Google. They have simply taken over too much for my taste. Frankly however, I went “all in” on Google around 2006 or so. I moved many domains into the Google Apps and enjoyed all the services they offered. But, as they grew these services suffered; my most critical issue then was that inbound messages were getting dropped (because of how Groups had changed for Businesses over time) – it negatively impacts my customer service. So I started the migration out.

First let me say that you cannot escape Google 100%; just not possible. If you want to have a business presence on the Internet you must engage with Google and other large players (Twitter, Facebook, etc). So, we still have to maintain a Google Account – but we are moving towards one, based on a Gmail address.

As I mentioned before I have/had a number of domain accounts with Google using Mail and, as it turns out, many other services. Some I could just drop and had so little content I didn’t care but for the Edoceo brand I had loads of stuff – from Blogger (migrated to WP); Apps on the Play Store, YouTube, Google+ Pages and all that jazz.

Using a single “unified” Google Account (already existing) I started with a spreadsheet tracking all domains I had moved into Google (>5, <10) and then all the Services in there; then all the Accounts.

Last entry on this topic was over a year ago. It’s taken that long to audit and build this list. It was quite shocking to see how much interaction/integration with Google one human (or one company) has.

Stay tuned for the longer stories of migration of various accounts & services.

I’m Fucking Done with Google

I’m fucking done with Google – it’s over. The final straw happened tonight.

As an entrepreneur I’m involved with multiple businesses, many of which have Google Apps accounts, we pay G for this and expect support. For the third time a Group in one of these accounts has stopped delivering messages – messages we need to conduct business.

I used their Email Reporting system, it indicates that the Group message were delivered to parties in the Group – multiple parties – some on @outlook.com, some on @gmail.com and some on our own mail server. These messages never arrived (yea, we check the Spam folder as well as logs on our own mail server (Postfix)). Google’s email report is flat lying to me.

I called Google Support, entered my PIN on the phone and then waited 15 minutes for someone to answer. Once they answered they would not offer any support until I entered my PIN again. Why are you asking me for it after I’ve already entered into the system!?! Do you just throw my data away? I voiced my frustrations at their system. I described the issue with Groups. No help was given. I asked to speak to a manager and was then disconnected. It’s like Google has taken support ideas from Comcast.

It may not seem like a big deal but lets look at this cost of this issue. Firstly, we have to pay for the Google Apps, a trivial cost for the startup in question (WeedTraQR.com) of $15/mo. Basically nothing. Now we have the support cost – I had to research my own issue for a time, then contact Google Support – that’s one hour – so mark it $100. I was supposed to be using the time to work on projects for clients – so really it’s like a time-cost-loss of $400. I end the situation frustrated and unable to focus on the next few tasks which has an additional time-cost, say $200.

Now begins the long process of removing Google from so many of the projects I’m involved in. I’m sure Google won’t notice the few $1000/mo loss when I finish the migrations of so many domains. I’m hoping to make the real money on my “Fuck Google” shirts.

It will be a long road to remove these fools, I’ll write here for every step.

For Search, I’ll be moving to DDG and/or Bing.

For Email and some apps I plan to move to Zoho.

Analytics is well solved by Piwik, no problems there.

So, what the fuck do I need Google for anyway?

What is SEM (Search Engine Marketing)

We’ve had a recent up-tick it seems in clients wanting to know how to make their web-site more visible to search engines and, more importantly, people. This used to be called SEO but, seems the new phrase is SEM.

The bottom line is this: SEM is a marketing campaigns based on search.

What SEM Is:

The process of marketing your site and or services through search engines; namely Bing and Google. Make sure your site shows up properly for terms that people are searching for. Make sure your using the right keywords. Make sure you’re getting links that are on target.

There are dozens of options at your disposal. The basics are:

  1. Build a Quality Site with Quality Content
  2. Acquire Links to your site and pages
  3. Promote via Social Media

Firstly building a quality site, that is having original well-formed content. You’ll want appropriate keywords, but don’t over saturate. And make sure the site you operate follows current "best practices" (use a tool like: SEO Sorcerer).

Get some links. Ask your blogging friends or those who operate other sites to link to you. Perhaps your web-designer or developer can link to you. There are also tools to purchase links however, those are generally frowned upon by search engines.

More Facebook Likes, Tweets, Plus-Ones and Pins and all that social stuff helps. Perhaps run an advertisement on Facebook or try to introduce a new hashtag on Twitter (or use popular ones in your tweets).

That’s the basics of what SEM is. The reality of the situation, like so many other things, is that SEM is a big, complicated realm. It’s generally a good idea to get a consultant or other subject matter expert involved to help you. SEM is much to complicated to be executed properly while trying to run your business.


Google Checkout/Wallet Migration Nightmare

Some time ago Google began this forced migration process of regular Google Accounts into Google Apps accounts – for those that had overlap. For these users data from multiple services had to be migrated or merged. We wrote about it twice: accounts transition and blogger migration. The migration for Checkout has been terrible!

Checkout Migration Issues

Even after months of being told that migration would soon be possible it still has not become so. Our checkout data is now scattered across three accounts. It’s a terrible inconvenience to the business. The resolution is drop the other two, of course but for us that is kind of an issue.

Our merchant id and the codes used for integrating our infrastructure into Google Checkout/Seller/Wallet/Whatever-next was in production across multiple servers and multiple applications, some more tied into the management systems than others. Basically, we have to ack/grep a bundle of code/configs for the two IDs that were created in the interim to try and solve the migration/transition issue – and re-test all of it.

We had these three accounts, accountA, B and C; A was the original Google Account that became conflicted with a Google Apps Account (C); B is the interim account that was a temporary holding while migrating. Each had to be bank verified while migrating and then cleaned-up. Checking code on multiple applications across multiple servers takes time – more than you want to spend and of course interrupts existing work-flow.

  1. Sign-In to AccountA
  2. Check Google Dashboard – false positives for subscribed services
  3. Confirm Checkout Settings (9 pages – Preferences, Tax and Integration are important!)
  4. Archive Orders and Financial Data
  5. Search Apps/Servers, Replace IDs
  6. Test – Google lets the same account buy from themselves?
  7. Wait to Process to re-verify for Badge Status

Questions for Google

  1. Why did you force migration before all services could be migrated?
  2. Why has there been no progress on the Checkout/Seller/Wallet migration since?
  3. Do you know it’s not cool to mess around wildly with financial systems that many businesses depend on?
  4. Why can’t we simply re-assign the Owner role? It’s stuck to the ‘@gtempaccount.com’ still (even after creating the migration account like you directed)!

Alternative Solution Path

So, that was quite an inconvenience for us and a few of our clients as well – other payment processors haven’t done anything that stupid to date (that I’m aware of). Evaluating a few we’ve decided that stripe is the way forward. Their system is elegant, secure and very easy to integrate. Since they’re dedicated to just one thing it’s less likely they’ll force you into a lot of work when they mis-manage an infrastructure "integration" project.

See Also


Be Careful Of Geo-Targeted Domains

Just recently we were assisting a young company with a roll-out of a new domain "opus.io" Taking a look in the Google Webmaster we noticed the Geotargetable domains was not configurable.

Hrm, it is for other domains we operate. Well, it’s not changeable for .io – but many others are OK.

As usual, domain sellers hype this. And of course Google provides explicit instructions on how to configure Geotargeting.

You can watch what Matt says about it to get the complete story.

GeoTargeting Summary

I’m thinking it breaks down to these two points.

  • There are 38 blessed non-targeted domains
  • Other domains are country targeted, "swimming up-stream" to target others

What this means for opus.io is that, it will be seen by Google as more relevant to the British Indian Ocean Territory than US or UK visitors.

Make sure your domain falls in this blessed list for best global visibility, and specifically target that TLD when necessary. You can use this tool to check.

Here’s to hoping that Google adds .io to their list of blessed domains soon.

Also, aren’t TLDs going to be opened wide-up soon? So, that makes gTLD, rTLD and gccTLD stuff less relevant?


Chrome Extension Content Security Policy & Manifest Version 2

Starting around Chrome/Chromium 18 extensions are moving to manifest version two and this starts enforcing a content security policy. Many extension developers will need to update their manifest and re-write some code.

Here’s what we had to do for the Twilio Client Extension.

Update the Manifest

The Manifest needs to change how the content is loaded.

  "manifest_version": 2,
  "content_security_policy": "media-src 'self' https://*.static.twilio.com; object-src 'self' https://*.static.twilio.com; script-src 'self' https://*.static.twilio.com;",
  "background": {

The previous setting for background_page is gone.

Content Security Policy

This was the more confusing part of this update for me as I’d only had passing exposure to CSP before. Read the W3C docs, it shows where the names like *-src come from.

What our CSP shows is that we load media from self and from all HTTPS hosts inside of the static.twilio.com domain, including static.twilio.com itself. This was necessary otherwise the JS console will throw errors like:

Refused to load script from ‘https://static.twilio.com/libs/twiliojs/1.0-392a7f1/twilio.js’ because of Content-Security-Policy.

Removing In-Line JavaScript

This part is pretty easy, and you know you should have built your code this way in the first place but, like many, used the in-line methods for “convenience” :)

This means all the stuff that was built like this needs to be removed.

<script type="text/javascript">
var bgp = chrome.extension.getBackgroundPage();


Should be re-constructed to load from a source.

<script type="text/javascript" src="j/ext.js"></script>

Of course, now your scripts need to wait till DOM ready, so some things must be wrapped inside of ye-ould event listener.

// 100s of lines of JS here

// Last
document.addEventListener("DOMContentLoaded", function () {