Disappointing support from WooThemes

Makalu was recently hired to redesign an e-commerce site running on WordPress, and implementing its shop using the WooCommerce system.

To begin the process, we mirrored the production site to a staging server, and over the course of a week or so redesigned the site using a new theming framework. The customer approved the new design, giving us the green light to launch. Unfortunately, launching wasn’t as simple as flipping a switch.

The problem was that while we were working on the redesign, the production site’s WooCommerce data progressed with respect to the data on the staging site—i.e. some new orders came in, and several of monthly subscriptions renewed. So before launching the redesigned site, we needed a way to selectively update the staging site with just the WooCommerce data from the production site.

But the problem with that is that Woo orders, being just another “content type” in WordPress, are found in the WordPress “Posts” table, and live alongside the short-code based definition of the site’s web pages—meaning that if we copied over the entirety of the Posts table from Production to Staging, we’d lose all of our redesign work! (The architecture of WordPress is so brittle in that regard, but that’s the subject of another post.)

I decided to contact WooThemes support, and after 10 days have gotten nowhere, as you’ll see below.

Here’s the question I posted on March 4th:

Four days later, Constantin Schneider replied, explaining that an FTP client is needed to synchronize files and a database plugin needed to synchronize the database:

So Constantin answered a question I didn’t ask—i.e. how do you completely mirror one WordPress site to another. So I reminded him that I’m asking specifically how to move just WooCommerce data:

Two days later, I got a follow-up reply from Constantin saying he did understand my question, and that I should migrate only the tables containing Woo data. To help with that, he linked to a document which basically lists all tables prefixed with “woocommerce” as belonging to WooCommerce.

Of course, this completely ignores the point I raised about Woo orders being located in the Posts table, and therefore mixed in with the site’s layout information. The needed update isn’t as simple as moving the WooCommerce tables.

So I replied, pointing that out:

Four days later, Mindy Postoff replies, that yes, the Woo orders data does live in the Posts table:

Heavy sigh. Evidently, she didn’t take the time to read the thread’s history; otherwise, she would have known that by answering “yes” to that questions, that my original question remains completely unanswered!

So here we are, 10 days after my original post, and we have no progress at all. This is what happens, I guess, when your support staff try to blow through a backlog of requests at the speed of light. People don’t take the time to understand what the customer is actually asking, nor do they take the time to understand the background context of a thread they’re jumping into the middle of.

So disappointing. Thanks Woo.

Update: Woo makes things right

I notified Woo about this blog article, and credit where credit is due, they responded by acknowledging the deficiency in the process, apologizing for it, and taking some actions that went above and beyond what would be necessary to make things right. Hopefully this experience will allow Woo to re-consider how support is handled (which these days isn’t just a challenge for Woo, but all providers trying to figure out how to scale support), but thanks and hats off to Mindy Postoff for her response, and I’m again a happy Woo customer.

Update 2: How we ultimately did the migration

Ah, for those of you stumbling across this article, and interested in how we finally migrated the data: Unfortunately, even with the extensions offered by Mindy as part of their effort to help, it turns out there simply does not exist a straightforward way to migrate only the WooCommerce data from one site to another. This is almost shockingly surprising, since one can only imagine that an occasional re-design would exist as part of the lifecycle of any WooCommerce-based site.

In the end, though, we had to actually take the production site offline, while we manually re-built it according to the work we did on staging. In our case, this was possible because of two things:

  1. The new site is built using Divi, which provides a mechanism to export saved layouts, and then import them in another site. Not quite as convenient as something like “export this whole theme setup”, but certainly better than having to manually re-build each page in Production. So the way this worked was, I exported a saved layout for each page in the site, and then imported that layout into the corresponding page on the Production site.

  2. Our customer’s site only has about 10 pages in total, and so it only took us about an hour (during which the site was offline) to completely rebuild it.

Suspicious Practices at Europcar

Last Sunday we left Marbella for a week of vacation in Andorra. Our travel plans included a flight to Barcelona, from where we’d pick up a rental car and drive the remaining three hours to Andorra. I’ve had such a bad experience with car rentals, that I almost expected something would happen, and it did.

Continue reading Suspicious Practices at Europcar

Customer service at IGG Software

Update 2014-11-07: Commenter “Karen” posted the solution in the comments at the end of the article.

As regular readers of this blog have learned, I seem to be stricken with a curse that prevents me from ever getting good customer support. And the latest example is a situation with IGG Software, makers of the iBank 5 software I use for personal finance management.

On December 4, I emailed IGG Software, reporting issues with iBank 5 connecting to a bank it advertised support for:

I tried to login to CapitalOne 360, via direct connect. After entering my customer ID and access code, I was presented with a dialog to answer two security questions. I’m sure I answered them correctly, because I referenced screenshots of the bank website when I originally setup the security questions. After a few moments, I was returned an “invalid login credentials (402)” error.

Subsequent attempts to login did NOT present any security questions; rather, simply returned the “invalid login credentials (402)” error.

About a week later, I got a reply from “Jared”:

I’d like to take a look at the Direct Access log that is created when you attempt to log in/download from your account. Here’s how to generate the log I need…

I’ve worked with Jared in the past on other iBank-related issues, and he always demonstrated himself to be competent and knowledgeable. In this instance, he outlined a procedure to enable logging and retrieve the associated log file.

Unfortunately, however, after following his instructions, no log file was created at the location he specified. And while looking for that file, I discovered something really weird—iBank had created an aliased copy of my home folder in the iBank application support folder.

I created a few supporting screenshots and sent the following reply to Jared:

I followed the procedure, but the com.iggsoftware.iBank5 log folder remains empty.

Also, I noticed a strange root hierarchy to that folder:


Is it normal that the parent folder in that tree contains what appears to be a full replica of my user directory?


Notice that I use Dropbox to host my screenshots. It’s very convenient; just snap a screenshot with command-option-4, and Dropbox automatically uploads it and puts the URL on your clipboard. (I’m mentioning this, because it becomes relevant to this story later on.)

A week later, I’d not heard back from Jared, so I emailed him a reminder. A week after that, I emailed him once again, pointing out that two weeks had now passed.

At that point, I received a reply from “Melissa”:

Jared is no longer with IGG Software.  Can you please give me a brief summary of the issue you are having so I can try to assist you?

Well, that’s unfortunate—support ace Jared is no longer with IGG Software. And the first contact with Melissa is a bit strange; she’s asking me for a summary of the issue? Can’t she see the communication thread with Jared—that is fully quoted in this very email?

I replied to Melissa:

The only thing you’re missing from the thread below, including supporting screenshots, is my original email to Jared. Here is a copy of that… … So there are two open issues:

  1. The issues I’m having connecting to CapitalOne 360.
  2. A clarification as to why I’m finding an entire aliased replication of my home directly in the support directory of iBank.

Melissa replied that they’re investing the connection issues, and then added:

On the other issue, I am not clear on what you mean about the aliased replication…. Can I have a screenshot or two to help me understand that?

To which I replied:

The screenshots are in the thread history of this conversation (in this same email.)

To which she replied:

I am not able to see that view, so can you please email me the information again?

What view is she talking about? How in the world is it possible that she can read a portion of my email, but not the whole thing? I replied:

The whole support thread is appended below, in this very email. As it has in all previous emails. How is it possible you can’t see it? And if you can’t read the history thread quoted in this very email, how do you propose I get it to you?

And that is when things got really weird. Here’s what Melissa sent me next:

It looks to me like you are using Dropbox, is that correct?

We do not recommend Dropbox as a file location for your iBank document (data file) because it has been shown to cause corruption and/or data loss.

Your iBank document belongs in your Documents folder on your Mac, and the application in the Applications folder, also on your Mac hard drive.

Oh. My. Goodness.

She figured out how to read the whole email, and evidently saw my screenshot URLs, which include “dropbox.com”—since, as I mentioned before, they are hosted on Dropbox.

And from that, she assumed that I’m using Dropbox to store my iBank data file, and sends a response that might be relevant had I been reporting a data corruption issue.

Very frustrated, I demanded to be put in touch with somebody else, and she replied that she’d forwarded the support issue to her manager. A few days later now, and I’ve still heard nothing.

Who’s at fault?

Although I was frustrated with her, I can’t blame Melissa. As far as I can tell, she’s doing her best, and responding to issues in accordance to the manual she’s been given.

The root of the problem is the function of customer support leaving the people who make and use the software, and being delegated to people who don’t use the software and have little technical expertise.

And what’s really frustrating, as a customer, about the whole thing isn’t just that my problems don’t get solved; no, far more than that, the real problem is wasting my time.

Owning a company that sells software products, I know that customer support is challenging. And once you have a reasonable number of customers, providing support can take a good chunk of a team’s time away from product development. So I fully understand why companies, when their customer base grows enough, choose to delegate support. But what we typically find today isn’t the answer, and ultimately just transfers the problem of lost time from the company to the customer.

There’s got to be a better way.

Readdle, the makers of ScannerPro, seem to have outsourced their customer service.

ScannerPro is a wonderful iOS app for scanning and working with scanned documents on the iPhone and iPad. Evidently, and unfortunately, Readdle (the app maker) seem to outsource their customer service to some third-party service (likely manned by workers in a low-wage country).

Which leads to experiences like this:

I have ScannerPro configured to auto-upload saved files into /Dropbox/Apps/ScannerPro. Unfortunately, however, each time the app is used, it’s creating an unused and undesirable folder at /Dropbox/ScannerPro. How can I prevent this from happening? I prefer to keep my Dropbox root level clean.

Elena Zinkevych wrote back:

Dear Matt,

Thank you for contacting us. Please accept my sincere apologize for the inconvenience with our application. I would be grateful if you could describe your actions step by step. We will do our best to reproduce your issue and figure our the cause of the issue. Currently I regret to inform you that we cannot reproduce the issue that results in creating an unused and undesirable folder at /Dropbox/ScannerPro.

Thank you in advance for your additional information.

They’re very sorry about my trouble, but couldn’t reproduce my “unused and undesirable” folder.

I wrote back:


When you enable Dropbox in ScannerPro it automatically creates a folder at /Dropbox/ScannerPro. You don’t need to try to reproduce that; it’s the normal behavior of your own app. (Are you not even aware of that?) The problem is that when I delete that folder, ScannerPro keeps recreating it.

To which Elena replied:

Dear Matt,

Thank you for your response. I am thankful for your additional information. We are aware about the case that you describe. It is really the normal behavior of our Scanner Pro application. I regret to inform you that currently you cannot prevent the creating of Scanner Pro folder. But I added your suggestion to our wish list for future attention of our developers.

Furthermore, I am very thankful for your cooperation. From your first message, I thought that you mean another issue with the Scanner Pro folder due to this I asked you to describe the situation in more detail.

She’s awfully thankful, isn’t she? Oh well, at least a solution to my problem has been added to their wish list!

Please, Readdle, take note and don’t outsource your customer support.

FX Photo Studio has neither auto-enhance nor good customer support

In my search for a lightweight app to satisfy my basic photo enhancement needs, I stumbled across FX Photo Studio in the Mac App Store, I wrote the developer—”MacPhun”—to confirm whether the app does the two things I need:

  1. Cropping
  2. Auto-enhancing

A reply soon came in from “Kyle”:

Hi Matt, FX Photo Studio is an app with a very large collection of high quality photo effects created in cooperation with pro photographers and graphic designers. It has both Cropping and Auto-enhancing features in it. There is a trial version if you are still hesitating [url].

Regards, Kyle. Stay awesome! MacPhun Software Support Team

I always find it irritating to receive boilerplate text—I didn’t ask about their cooperation with “pro photographers and graphic designers”—but hey, we’re looking good; he confirms it does cropping and auto-enhancing.

So I downloaded the trial version he linked to and launched it. Uh oh—there’s no way to get past the activation screen. Evidently he sent me the wrong version.

I was going to email Kyle about that, but thinking that the app’s only $9.99 in the App Store and since he did confirm it does what I need, I went ahead and bought it…

…only to discover that I can’t find any auto-enhance functionality. Time for another email to Kyle:

Hi Kyle. I downloaded the trial version, but couldn’t get past the activation screen. Being in kind of a hurry, I just purchased FX Photo Studio from the App Store. I’ve found cropping, but I can’t find auto-enhance. Could you please perhaps let me know where that can be found? Thanks so much!

…to which Kyle replied…

Unfortunately, you may only do this manually in your version of FX Photo Studio.

FX Photo Studio and FX Photo Studio PRO versions have different number of options FX Photo Studio lets you manually adjust Exposure, Brightness, Saturation, Contrast and Hue FX Photo Studio PRO includes the following adjustable parameters Brightness and Color Tab open a sub-category to adjust Exposure, Brightness, Saturation, Contrast, Temperature, Hue and Color Balance (Red, Green, Blue) Levels Tool allows moving and stretching the brightness levels of an image histogram. It has the power to adjust brightness, contrast, and tonal range by specifying the location of complete black, complete white, and mid-tones in a histogram. Sharpen and Denoise tools. Sharpen increases contrast along edges to increase apparent sharpness of the image and Denoise tool is used to eliminate the noise from the pictures. Shadows and Highlights adjusters help to fix pictures, taken in low light.

Regards, Kyle. Stay awesome! MacPhun Software Support Team

Sigh. What does he mean by “my version”—maybe that auto-enhance is only available in the “PRO” version of his app? If so, why doesn’t he just say that. And why the boilerplate bomb!

So I wrote back…

Hi Kyle. Rather than copying and pasting some text (I didn’t ask for a full list of manually adjustable parameters), can you just clarify which version of your software contains an “auto” enhance feature, i.e. which automatically enhances the images without having to manually adjust anything? Thanks, Matt

…to which I got the almost expected reply:

Hi Matt, Sorry for the inconvenience! I might have got your question wrong. Right now “Auto-enhance” feature is not available. We plan to add it in the future releases.

Regards, Kyle. Stay awesome! MacPhun Software Support Team

So he claims to have misunderstood what I meant by “auto-enhance”, although it is something he’s got planned for a future release. Thanks—you “stay awesome” too, Kyle.

So now it’s off to the Mac App Store, to figure out how to request a refund.

Anatomy of a Movistar customer service catastrophe

In convenient chronological order:

  1. At the Makalu office in Marbella, we used to have Jazztel 6mb ADSL.

  2. A Movistar salesman offered us 30mb VDSL for only a bit higher cost, if we’d switch from Jazztel. Said he could make the migration completely transparent; one day we’d come into the office, and just have 30mb waiting for us. We accepted.

  3. Movistar installer came a few weeks later, discovered our office is too far from their switch to support VDSL, and said the best he could do was install Movistar 6mb ADSL. And that’s what he installed.

  4. For the next two months, we didn’t have ADSL service in the office, because the original VDSL order was still in the Movistar administrative system, but the technician installed something different (ADSL). Both the commercial and technical departments claimed that the other party was responsible for resolving the situation. When I desperately asked why the two departments couldn’t simply talk to each other to sort this out, they both said that unfortunately that’s company policy — they don’t communicate with each other. The customer has to be in the middle.

  5. On like my 50th call to Movistar, I finally hooked up with someone resembling a human being who cared enough about our situation to personally get involved. She managed to cancel the VDSL order and create an ADSL order, after which our service was switched on.

  6. When the Movistar bill arrived, as expected, we were charged for three months of the more expensive VDSL. Getting that reversed was another nightmare.

  7. On Monday of this week (about a month later), our ADSL stopped working. After pleading with the people in technical support—and going through the whole “reset the router, disconnect the phone, blah blah routine”—they agreed to send out a technician. Technician arrived Tuesday and discovered that Monday morning, for some unknown reason, somebody in Movistar switched our account from 6mb to 10mb—a bandwidth our office simply can’t support (and so the ADSL line couldn’t sync.) He made a call, got it switched back, and we were back online.

  8. Today, Wednesday, our ADSL is down again. Probably we’ve been switched back to 10mb. Thinking about calling tech support and starting the ball rolling again just makes me want to cry.

Unsubscribing from email with Air Berlin

For quite some time, I’ve been receiving email newsletters from Air Berlin at least two or three times per month. I’ve often tried clicking the direct-unsubscribe link, but this always led me to a login prompt at a confusing website:

So to unsubscribe from their emails I’d need to first go through the password recovery process (since I have no idea what my login details are) and then I’d be faced with figuring out where one manages email subscriptions. (And judging from the UX of that login screen, that wouldn’t be an easy task.)

Today I decided to do something about it. I checked and sure enough there’s a Twitter account sitting at @airberlin, and so I sent them a message. I think you’ll find the ensuing conversation to be both entertaining and perhaps sad at the same time.

Systematic overcharging at Boingo?

Boingo is a roaming wifi service in the US (and beyond); you sign up, they charge your credit card each month for $9.99, and you can access their broad network of wifi providers within a given geographic region.

On my last trip to the US, I signed up for Boingo at the New York airport, and used it once or twice during my stay in Atlanta. My intention was to use it for the single month containing my two-week trip.

When I returned to Europe a few weeks later, I tried to cancel my Boingo subscription, and that’s when the fun (not) started.

I emailed [email protected], and received an HTML email response acknowledging my request, and trying to offer me a 50% discount for three months to stay. That offer was followed by some text saying, “If you still want to cancel, click this link.”

Clicking that link lead to a page requesting my name, email address and Boingo username. Completing and submitting the form lead to a “Thank you” confirmation screen, containing a note saying I’d receive an email confirmation at the end of the current billing cycle.

I immediately suspected that I was going to continue to be charged. Why? Most decent services would immediately send you an email confirming your cancellation. By waiting until the next billing cycle, there’s a chance I may have forgotten my cancellation, and not notice the $9.99 charge amongst all my other credit card charges.

And that’s exactly what happened. I got busy and didn’t reconcile my credit card statement for two months.

So today, three months later, I notice the Boingo charge on my August statement. I call their customer support to complain, and they claim there’s no evidence that I ever cancelled my subscription.

Of course! Now it all makes sense — if they don’t immediately send you a confirmation email, the only evidence you could have is perhaps a screenshot of the web page confirmation.

While on the phone with the customer support agent, I went through the cancellation form again and confirmed what I suspected — that the “Thank you” screen doesn’t have any identifying information; so even a screenshot wouldn’t be evidence.

The agent offered to cancel my account, starting next month. I got quite angry, and insisted that I cancelled three months ago. She again repeated, “What evidence do you have of that?”

I walked her through the cancellation process while on the phone, and then asked her to tell me what evidence I could have collected?

At that point, she put me on hold to contact someone in Level-2 support. After some time, she returned saying they would refund the past three months.

This kind of behavior makes me so angry — it appears to be a process designed to systematically result in overcharging customers past their cancellation date. I will never use their service again. Hopefully others considering the use of their service will find this blog first.

Can customer support get any worse than this?

This morning I learned that the venerable Mac ultility, File Buddy, has been upgraded to version 10. (Most people, myself included, thought it’d been abandonded.)

As an owner of File Buddy 9, I clicked to purchase the $19 upgrade. According to the instructions, I would need to enter either my FB9 serial number or purchase transaction ID in the subsequent coupon-code field, in order to receive the 50% upgrade discount. I had my serial number on hand, and clicked to continue.

On the transaction screen containing a coupon code, I entered my serial number, submitted the form, and it then returned an error, “invalid coupon code”. At that point, the instructions screen was gone, and I just assumed I’d be asked for the serial number at some later point.

I wasn’t, and ended up paying the full price of $39. Not only that, even though my address and credit card is in the United States, I was charged an additional 18% VAT tax because I made the purchase while sitting at a cafe in Spain. So, instead of $19, I paid $47.

I emailed the product owner, Larry Harris, to report what happened. Admittedly, I was frustrated when I emailed him, but I don’t think I’ve ever received such a disrespectful reply. My email text is in bold, followed by Larry’s response.

This is really, really frustrating. I just purchased a FileBuddy 10 upgrade license, and ended up paying $47!!

I’ve asked Kagi to refund the difference.

1) At no point in the process was I asked for my serial number from File Buddy 9.

We have a saying here in America: When all else fails, read the directions:

We also have another saying: Never enough time to do it right, but always enough time to do it over.

On the bright side, at least you bought the right product. One person bought an upgrade to File Buddy 9 because he wasn’t paying attention to what he was doing. Kagi’s discount system is not particularly sophisticated. All it can do is check to see if something you enter into the coupon code field matches anything in a list of codes I’ve supplied. It can’t force you to enter a code, nor can it verify that you have a qualifying File Buddy 9 purchase in their database. In past releases I’ve priced the product at the discounted price, but then I had to search a database every time someone purchased an upgrade to ensure he actually qualified for an upgrade. I’d say at least 95% of the people upgrading to File Buddy 10 can do so now without any interaction from me.

2) The damn system added 18% VAT because I purchased the app while sitting on vacation in a cafe in Spain!

Life can be soooo hard. That’ll teach ya. Next time vacation in country that doesn’t have a VAT, like South Sudan. If you can afford to vacation in Spain they need that $7.19 worse than you do. 😉 Make that $3.59. Kagi will refund half of that too.

On second thought, I guess customer service could get worse; he could have not initiated the refund!

Anyway, apart from the fact that the upgrade instructions were ambiguous—implying that either the FB9 serial number or the transaction ID would work—there’s a more fundamental issue here. From a user experience point of view, an upgrade process should either end in success, or it should fail. If the specific upgrade workflow was started, then it should not be possible to inadvertently end in a full-price purchase, regardless of what mistake the user might make.

There’s another issue, as well. Obviously, I was pissed off when I emailed Larry, and should have taken a moment to remove emotion from my mail. But, as someone who also sells a consumer product, I’ve come to realize you have to expect that. We sometimes get frustrated emails from customers, and even though their problems are more often than not user-related, you always have to respond respectfully (they’re your customers after all!) And, if you take a moment to reflect, those angry emails almost always reveal some aspect of your product experience that could be improved.

Awful customer support at Backblaze

It’s been an unfortunate week of customer support around the board.

Last year, I purchased 11 licenses of the Backblaze online backup product for Makalu. Even then, the experience of working with the Backblaze people was a little odd; for example, I had to go through the process of getting a quote from the sales guy, which turned out to be precisely 11 times the cost of a consumer single-license. Whatever.

We moved forward, had our corporate account setup, installed the software, and begin receiving monthly usage reports from Backblaze.

A year later, we’ve decided that we can get by with four, rather than 11 licenses. (Dropbox has made Backblaze redundant for us, to a certain extent.)

Continue reading Awful customer support at Backblaze

Anthony Tseng's awful approach to customer support

The original content of this article was removed on September 27, 2012. That article described a poor customer service experience I had with Anthony Tseng, the maker of a set of wire-framing templates.

Since the publication of that article, I have had some exchanges with Anthony in which I learned of additional circumstances relating to that experience that affected his judgment at the time. Anthony apologized and assured me that my experience was not consistent with how his customers are generally treated.

I found him to be sincere, and I appreciated that rather than respond defensively, he was quick to acknowledge the problem and address it with honesty. We’re all human, have bad days, and sometimes make mistakes, and so I agreed to remove the original story from this article.

An awful experience at Symantec

I’m looking forward to a future in which I no longer need to do business with dinosaur enterprise software companies like PGP, and their recent acquirer, Symantec.

My encryption needs have always been simple — I’d like to selectively encrypt files that I keep on a company-accessible server, and I’d like to be able to occasionally encrypt the text of an email message. I could do this easily with earlier versions of PGP — around version 6, and back when PGP felt like small company.

But then they turned their sights on the enterprise, and everything has gone downhill since.

Continue reading An awful experience at Symantec