Edoceo's Blog | Entrepreneurship, Engineering

Done with Google – Part 2

We had (and still have some) a bunch of Google Service for our company/domain. For migrating away from Google Apps (now know as GSuite) we’ve had to take loads of steps manually, I’ve not been able to find tools to sort all the things together properly. There are 60 Google services that are part of this GSuite and it’s fair to say that Google is a “first class” citizen on the Internet. We cannot get completely away.

Phase Two

For phase two of our extraction from the Google Suite we proceeded to turn down all the service in the Google Admin panel that we could. Since there are 50+ services, and we’re turning them off slowly – to prevent any large-scale shock, we were doing about one a week. There were some service we could completely drop without issue.

  • Blogger
  • DoubleClick/DART Stuff
  • FeedBurner
  • GoogleCode (we’ve moved to Github and Gitlab ages ago) and Google is killing this product anyway
  • Google News
  • Google Shopping
  • Panoramio

We progressed for a few months, taking down one (maybe two) services per week and waiting to make sure nothing broke. All went well but, we’re only disabling services around the edges.

Once those services were disabled, we were able to start reviewing how Google actually touches our business — it’s mostly Email and Calendar, which are nice – but we still need to scale down our existing Google dependence before moving on.

Stripe Rubbing Salt in the Wound

Many moons ago we had our account with Stripe abruptly closed because one of the services we offered was related to the marijuana business. While we thought of ourselves as a regulatory compliance inventory control solution, they did not. It’s a violation of their TOS.

This came at a pretty critical time of growth for our up-start company. It took us a few weeks to find another vendor who was happy to receive thousands of dollars from us in processing fees.

Since then other businesses have come on-line to compete with our offering, great for the consumer and great for the industry. It’s growing rapidly and many of the projections show this kind of growth for at least the next three years. We are one of the more mature offerings in this young space and have built collaborative relationships with some of these businesses.

Imagine our surprise to find out that some of them are using Stripe! And Stripe knows that these businesses are engaged in the marijuana trade! It’s in our names, it’s advertised loudly on our respective home-pages, Stripe claims they review businesses using their platforms for compliance.

Our last posting on the Stripe incident attracted a response from Patrick, we emailed him for clarity on the subject. We only received a response from their generic Support account where they stated they couldn’t comment about other accounts. Fair enough.

What’s really aggravating however is that, while we were booted at least two of these other businesses are allowed to continue to operate using Stripe.

It’s a suspect situation when a company with the wide reach of Stripe chooses selective enforcement of the rules they claim to operate by. Maybe they could “re-accommodate” our marijuana business. (we asked, they declined).

Terrible UX – Unsubscribe

How is it that in 2016 the un-subscribe experience can be so poorly implemented across so many sites – big and small. Here are a few examples of how to do it wrong.

WellsFargo unsubscribe page:

WellsFargo Unsubscribe

And the instructions from their messages:

To unsubscribe from marketing e-mails from:
An individual Wells Fargo Advisors financial advisor: Reply to one of his/her e-mails and type “Unsubscribe” in the subject line.
Wells Fargo and its affiliates: Unsubscribe at wellsfargoadvisors.com/unsubscribe.

Yes, you’ve read that correctly – send a direct message to someone at WellsFargo who you may (or may not) have ever had contact with. And following that link returns the page above. Additionally the poor construction of the message makes that nice feature of Gmail for un-subscribe hints not work either.

  • Don’t force me to email a contact I don’t have.
  • Pre-fill my email in the unsubscribe.
  • Implement email headers so Gmail magic works.

CoFounders Lab

This is a pretty popular company, loads of tech-startup folks I know are aware of and have had some interaction with CoFounders lab. Despite being well connected to the tech space we are left with this:


At least they remembered to include my email, a nice touch. The rest of this page however does not leave a good impression of CoFoudersLab or the 1000Angels group. My email is orphaned on it’s own line w/o context, all the messaging is small and this “minimalist” page approach also doesn’t display well on mobile. Perhaps some footer links to my preferences, both operator sites

  • Provide a bit more detail on what happened
  • Put a small amount of effort on CSS for this page
  • Even on a End page, there can still be some CTA


Literally thousands of companies use MailChimp – their service is actually quite good – but I’ve always hated their un-subscribe page. Observe this flow: Click unsubscribe from the message, leave feedback – and prompt for feedback again?

MailChimp Unsubscribe 1

MailChimp Unsubscribe 2

What really uncomfortable about the situation is it’s hard to tell if the original submission worked. Yes, we saw that pleasant green message but why is the form re-presented? Did that not work? Do they just ignore feedback?

Also notice that this page displays nicely on both desktop and mobile.

  • Fix that feedback form!

Unsubscribe Pages

Customers only see these pages when they are breaking up with you. It could be they are already annoyed by you. This experience may be their last impression of you. Here are some ideas:

  • Invest in a little design and make sure it’s mobile ready
  • Pre-Populate the email address on the forms
  • Don’t require email reply to unsubscribe, one-click to unsubscribe
  • Include proper bulk email headers so mail-client magic works
  • Clearly communicate success
  • Clearly indicate the end of the workflow
  • Page footer CTA and links to main site(s)

Bay Imaging Consultants – Fun with Fraud

Over the past few months I’ve been receiving threatening phone calls from Bay Imaging Consultants. They seem to have me confused with another David Busby.

They seem to think I got hospital services in Alameda, CA when in fact I was in Seattle, WA. I did however used to live in Alameda – until 1997.

The harassing phone calls are generated by a robot which informs me that if I continue to listen to the message I assert that I am David Busby (I am, just not the one they are looking for). And Press 1 to connect to an operator.

But this operator cannot help me, unless I provided critical details about myself. Details I don’t want to provide to an organization that is trying to steal my identify. The CSR then transfers me over to someone in Collections who cannot help either and then transfers me back to another person in the general support area. When I ask this person for their name, so I can include it in a police report – they hang up on me.

With identify theft so common these days one would think that some companies would do a little more diligence before attempting to send someone to collections. Now it appears my only option is to bring legal action against this company.

CitiBank & CostoCo: Marketing that feels like fraud

These two companies are engaged in some type of credit card marketing that mostly feels like fraud:

For the past few weeks we’ve received many calls from a number claiming to be CitiBank (855-805-5486). It’s an automated robot when it connects to voicemail, if you answer they connect you to a human who is quite demanding with information. And looking this number up on the internet has scores of people calling it a SCAM or FRAUD. They continue to call our number, which has been registered on the USA DoNotCall site since 2008!

If you call back it’s difficult to proceed without entering a credit card number or SSN. Why would you give that to a contact that is not trusted? Mashing all the buttons, saying ‘Operator’ a bunch of time and then just waiting finally did the trick.

I was eventually connected with a human (Marie). She refuses to provide her employee id. She is unable to tell me anything unless I have the numbers requested above!? I asked what address to send legal paperwork to. Then I was put on hold for 15 minutes.

When Marie came back they said they could remove my phone number from the dialer. But, if there is some fraud happening here – ignoring it is not the right answer? Why would an employee of Citi encourage behaviour that compounds the issues of identity theft and fraud? I demanded a supervisor.

I waited another 10 minutes to speak to a supervisor. Bridgette, in Collections #021684937 Why did I have to talk to someone in Collections!? To my knowledge I have no account here, my business has no account here. And this “Citi” representative claims there is an open account, with a balance!

I finally got the address to send legal issues to, so I could start sending the necessary registered mail for any legal proceedings. I was given these two addresses, but not sure which is better.

PO Box 9101, Des Moines, IA, 50368-9101
PO Box 6077, Sioux Falls, SD, 57117-6077

But the call cannot proceed with anything meaningful unless I share my SSN (or EIN) with them. I’m, naturally, reluctant to give this information to an untrusted contact. I cannot get anymore information, it’s a dead end.

I hang up, frustrated and nervous. Identity theft is a big issue – not just for the dollars that could be lost. It’s difficult and very time-consuming to try to fix these issues. The real cost is in one lone human fighting against a wall of corporate bullshit. Hours could be spent on the phone, sending certified mail, consulting with attorneys and all that.

Later that Afternoon

So, I found a CitiBank number that I could trust and called that one. Magically I got someone who is helpful. I asked them about this phone number (the one above, that’s real scammy-looking) and was informed here that it is in fact a CitiBank marketing phone number.

It’s related to a CostCo business account that I had closed over seven years ago. When I was on the line with this account manager they informed me that my old privacy settings were set to not call. They violated their own policy! This is the kind of complaint that should be filed with the FTC.

After maybe an hour of worry about fraud, and about an hour of time on the phone trying to fix things I was able to discover that there is really no problems. And also received yet another address for CitiBank.

Attn: Customer Service
Citi Bank
PO Box 6500
Sioux Falls, SD, 57117


Basically CitiBank at this point violated internal policy and the DoNotCall registry and used a scammy-feeling marketing tactic to try to re-capture legacy accounts. Accounts that had communications/privacy settings configured as DO NOT CONTACT

When contacted about this ploy CitiBank made the process difficult and was reluctant to share anything with their prospect/previous customer.

In my own mind the reputation of CitiBank, CostCo and AmEx has been seriously damaged.

Update 2016-10-13

The calls continue.

Update 2016-10-15

After I tweeted to CitiBank they called me back, they mentioned that my phone number (the one on our website) was associated with another account! Perhaps it’s a sales-padding thing, like Wells Fargo. It turns out someone else just used our phone number for contact. It appears that CitiBank takes registrations from “customers” without verifying them. I was told by Amber in their payments department – “anyone can use any phone number”.

Now the issue is that Citi gives credit out to people who they haven’t even verified the phone number for. Then they will harass whoever has that phone number and make it very difficult to get any resolution. But, if you Tweet them, then the matter finally gets handled. WTF.

Windows 10 Hates Dual Boot

The title basically says it all. Windows 10 (and 8 and 7) all really don’t play nice with Dual Boot – despite what Microsoft claims.

First, the failure of Windows 7 to handle dual-boot nicely caused some (many) Windows 7 updates to fail on my Lenovo Y480. I kept getting the error where the updates would try to apply, then fail, then roll back and (after a few reboots) Windows 7 would finally start. This in-turn caused the my Windows 7 system to never receive the Windows 10 update notification – which was actually a bit of a blessing.

But finally, in June 2016 I wanted Windows 10. And the Upgrade wouldn’t work; and it would fail if I tried from USB. The installer indicated I would have to start over and would wipe the disk! I even took this computer to the Microsoft Store – where I was promised a free laptop if they couldn’t complete the upgrade in one day (I whined about it on HN). Well, the of course the Microsoft Store couldn’t figure it out – and weaselled out of the free laptop deal.

After I discovered the Windows failure to handle dual boot issue I was able to get my Windows 7 updated. Then I was able to complete the Windows 10 upgrade as well. But, Windows 10 updates still fail – unless one makes special accommodations for Microsoft’s Developer Arrogance.

Dual Boot Fails

What Microsoft understands as “dual boot” means Windows is the Active Partition and nothing else can claim this. A problem for me; see I use syslinux as my bootloader, /dev/sda1 is the bootable partition and it’s formatted with ext2 (yes 2). Windows 7 (and 10) have updates that, for some reason, need to Windows on the bootable partition. Not all updates; only some. On Windows 7 the blocker was some patch to SHA2 and I’m not sure about what causes the issues on Windows 10 – probably all of them.

How to Get Updates to Work

First, at your boot prompt choose Windows. Then in Windows open the Disk Manager and set the Windows partition (/dev/sda3) to be the bootable one (aka: Active Partition). Then reboot, Windows should automatically start. Then wait for the updates and the requisite reboot. Now your Windows 10 is updated! To switch back to your desired bootloader you must boot from some external media, then configure your preferred bootable partition – Windows cannot change the Active Partition back to /dev/sda1 because the Disk Manager is a broken pile of garbage. This was a frustrating path.

Magic MBR from Syslinux

The above process sucks. If you are missing your bootable USB tool then you’ll not be able to switch partitions until you can boot from something smarter than Windows. There is a chain loader in Syslinux but I’ve not been able to get that to work – and trick Windows.

Windows as VM Only

But, if you use a toolkit like VirtualBox or KVM to boot Windows from it’s own partition then everything is great. However, now you cannot go back to booting Windows direct anymore – because Windows is hyper-sensitive to hardware changes.


Windows does not play well with others – NEWS! The work-around is basically allocating dedicated time & resources to running a simple update – or run Windows in a VM – or figure out some bootload trick.

I’m Done with Google – Takeout

After building the huge list of Apps and Services you have connected with your Google Accounts (https://www.google.com/settings/dashboard) you then have to download whatever is left using the https://takeout.google.com/ Takeout tool.

Once you have this download and have reviewed everything on the Dashboard it’s time to delete the designated account from your Google Apps Domain.

Repeat as necessary. For us we had three or four idle accounts in our Google Apps before cleaning this up. For the ones that are necessary you can move the Data to another account that you can control – within the domain. I’m not sure how to move data to an account outside the domain.