Fake profiles on Upwork

When sourcing work at Upwork, we tend to look for staff who are located in Europe, so that we have the chance to work in our timezone and have face-to-face meetings. A big problem, however, is fake profiles—people who are obviously not from Europe, posting profiles pretending they are.

My recent encounter with “Thomas Wang”, presumably from “Ghent, Belgium” is a case in point:

Follow-up thoughts about Goldmoney

On December 1, the Canadian company formerly known as BitGold, sent an email to their customers, announcing a change that fundamentally affects how their customers use and experience the service.

The essence of the message was that BitGold customers with holdings of more than 1,000 grams of gold could no longer use the service as place to continue accumulating gold savings. For those customers wishing to continue saving, they would need to create an account with GoldMoney, the UK company that BitGold acquired earlier in the year.

(Note that earlier this year, BitGold rebranded as “Goldmoney” to encompass both companies. In this article, however, I’m going to continue referring to them as BitGold to distinguish between them and the UK “GoldMoney” company. In actuality, BitGold now refer to themselves as “Goldmoney Personal & Business”, and refer to GoldMoney as “Goldmoney Wealth”.)

Customers forced to open GoldMoney accounts would experience a number of consequences and disadvantages with respect to what they were used to at BitGold, including:

  • Annual storage costs of 0.12% to 0.18%, when previously storage was free.
  • Gold purchase commissions of 2.5% on amounts under $10,000, when previously the commission was 0.5%. (GoldMoney doesn’t charge sell commissions, but your gold would have to appreciate by a factor of four before you’d break even with respect to BitGold.)
  • Loss of ability to purchase gold with a credit card.
  • Loss of the ability to make online vault-to-vault transfers.
  • A degraded online user experience.
  • You’ll likely have to go through KYC/AML procedures again.
  • Potentially, A 0.5% vault-to-vault fee to transfer gold in the BitGold network to the Toronto vault, which is the only vault available for transfer to GoldMoney. (I’m relieved to report that they refunded my vault-to-vault fee. Yeah!)

Overall, this announcement was not terrible news. Compared to similar services, BitGold/GoldMoney is still competitive. And through the maintenance of accounts at both BitGold and GoldMoney, one can still maintain 1kg of gold for free at BitGold, and even avoid the high purchase commission by purchasing at BitGold, and transferring to GoldMoney.

But still, this announcement was definitely not good news for affected BitGold customers. And the company should have made that clear in its announcement. They should have said something like:

We’re announcing an important change that’s going to limit your continued use of BitGold, and require you to open an account with our sister company if you wish to continue accumulating gold. There will be some disadvantages, and the migration might be a little inconvenient. Here’s what you need to know…

But they didn’t. Instead, they said this:

We’ve worked to expand the capabilities of the Network and want to share the benefits of applying for a Goldmoney Wealth Holding, as storage fees will apply to Network account balances of or above 1,000 grams at the rate of 0.18% per annum as of January 1, 2017. Please note that you may still hold up to 1,000 grams in a Goldmoney Personal or Business account for free. As you presently hold a balance of 1,000 grams or more in your Network account, we invite you to apply for a Goldmoney Wealth Holding for any storage needs you may require over this amount.

This communication was ambiguous, confusing and played down how fundamental this change really is. It didn’t explain why the change had to happen, nor the impact it would have on affected customers.

Last week, I posted an article arguing that this was a botched communication on the part of BitGold, for not being clear and transparent. I’ve worked in the product industry for 25 years and have some experience in this area, and so I was surprised when BitGold CEO Roy Sebag responded1 with what felt like a dismissal of my position:

In fact, I did approach them first. But at that point, none of the emails I’d sent to their support department since mid-November had been responded to, and the ones specifically about this announcement still haven’t!

After posting my blog article, and the ensuing Twitter conversation, I was contacted both publicly and privately by other BitGold/GoldMoney customers, expressing agreement with my sentiment, and disappointment in Roy’s response.

In fact, one customer went so far as to reduce his holdings as a result:

Since May of 2016, the Canadian company has lost 50% of its market capitalization, and in response to that, Roy posted an article on Medium two days ago, which to my eyes appears as dismissive of that situation as he was to my concerns, basically pointing to Graham’s famous remark that markets in the short term are voting machines. (Note that nobody ever refers to that remark when explaining the high value of their stock.)

I sense a pattern of dismissing problems, and that causes me concern for the future of this company. Of course, I could be wrong, and I don’t know how things look on the inside, but from an outsider’s perspective I think their public-facing position should quickly change to one of humble honesty and transparency, even if that means something like this:

We’re young. We’re growing. We’re trying to innovate in an old, creaky and heavily-regulated system. It might get a little messy as we figure things out, but we’re capable, and we’re onto something good—so bear with us, because in the long run you’ll be glad you did.

  1. Here’s the full conversation:  

A botched change of policy at Goldmoney

This is the story of how Goldmoney botched the communication of a fundamental change in policy, that ultimately may lead to me taking my business elsewhere.

Buying gold in the early days

As you know from reading my book, I’m a fan of the Harry Browne “Permanent Portfolio”, which promotes holding a quarter of your wealth in gold, and at least a part of which is held in physical gold.

Back in the day, there were two major online options for purchasing and storing physical gold—BullionVault and the original GoldMoney. Both were located in the United Kingdom, and each controlled over a billion dollars in gold for their respective customers.

While both services offered web-based access to their customers, they both felt old-fashioned and rigid. Neither company’s websites would win any kind of design award, although BullionVault’s was, in my opinion, thoughtfully useful. Both companies restricted incoming and outgoing funds to a single linked bank account. Account changes required phoning in. While GoldMoney allowed you to buy and sell directly with them, BullionVault implemented an “exchange” model, whereby you felt like a participant in a “marketplace”.

Both companies had similar revenue models—BullionVault charged commission on both buying and selling, while GoldMoney charged only on buys (though that commission was considerably higher). And both companies charged an annual fee to store your gold.

Enter BitGold, and free storage

Later, a third player emerged, located in Canada, which caught my attention—BitGold.

BitGold’s stated mission was to build technology that allowed one’s gold savings to be used as a currency. Compared to BullionVault and GoldMoney, BitGold felt innovative and modern. You could buy gold with your credit card, or even Bitcoin. You could link multiple bank accounts. You could transfer gold instantly between members. You could even spend gold in the form of a gold-backed MasterCard.

Having hired the talented and motivated designer, Mike Busby, the BitGold website looked and behaved like the kind of high-quality website my own company strives to build for its customers.

And from a cost point of view, BitGold was uniquely attractive in offering no storage fees:

Now, as you know from my book, long-term investors are particularly sensitive to annual fees, due to their destructive compounding effects over time, and so the absence of storage fees was a highly attractive selling point for BitGold.

In terms of revenue models, given that BitGold themselves would certainly have storage fees, it was speculated that their business model hinged on earning surplus revenue through their technology-driven value-add services.

BitGold jump starts their business through acquisitions

I didn’t initially open an account with BitGold, since they were still a new and unproven participant in the market, but that changed when the news emerged that BitGold had acquired GoldMoney, providing them with an considerable jump-start, and making them one of the world’s largest retail holders customer gold.

It was unclear at the time how existing GoldMoney accounts would be integrated into BitGold, but GoldMoney CEO James Turk’s statement certainly implied that the objective of the acquisition was integration:

We created GoldMoney with the vision of making gold accessible for savings and payments, a vision that BitGold is rapidly expanding in a new era of cloud computing and mobile technology. […] Users can expect a gold debit card, expanded payment options, as well as the many applications and features being developed by this innovative team.

One step towards this integration seemed to occur several months later when the company announced that BitGold was changing its name to “Goldmoney” (dropping the capital, “M”), and introducing three types of accounts.

My own account became a “Personal” Goldmoney account. A “Business” account was introduced for businesses. Finally, a “Wealth” account was introduced, that included storage fees, but benefitting from things like a special phone number to call for support, a dedicated “relationship manager”, the ability to hold money in several different currencies, and a couple of other features that I had no particular interest in.

It seemed the terms of my own, now “Personal”, account fortunately remained unaffected. Which was true for a while, anyway—bringing us to today, and to the point of this story.

A major change of policy at Goldmoney

Something has happened recently at Goldmoney, which has forced them to implement a major change in policy affecting Personal accounts:

  • While Personal accounts are still free of storage-costs, they are now limited to holding 1,000 grams of gold. Once you reach that limit, you are not allowed to purchase more, and are directed to open a separate Wealth account, which does apply storage fees of between 0.18% to 0.12% per year, and increases purchase commissions from 0.5% to 2.5%.
  • Existing Personal accounts with more than 1,000 grams of gold will not be forced to reduce their balance, but will have 0.18% storage charge applied to that portion of balance above 1,000 grams, and no further purchases can be made in the accounts.

This is a very big deal, for the following reasons:

  • Wealth accounts are held with a completely different company, i.e. the corporate entity behind the original GoldMoney service, located in the UK Channel Islands, and not the company behind the Personal accounts, located in Canada.

  • When you login to a Wealth account, you’re transported back in time to the original GoldMoney website, with only a visual update (currently in beta) to provide some consistency with the Goldmoney (nee BitGold) product.
  • Gold purchases are subject to a 2.5% commission, with no commission for sells. For comparison, BullionVault (and Goldmoney Personal accounts) charge 0.5% on buys and sells, and so your Goldmoney Wealth account purchases would need to appreciate by a factor of four before you’d come out better there. Storage fees between the two are nearly identical.
  • Unless your Personal holdings are stored in the Toronto vault, it’s going to cost you a 0.5% vault-to-vault transfer charge to move funds from Personal to Wealth.

This seems to change the basic Goldmoney service proposition to something sort of analogous to “checking” and “savings” accounts with a bank—i.e. you’re to hold your savings in a Wealth account, and any funds you want to use for low-fee transacting should be held in a balance-limited Personal account.

But while all this represents a fundamental, and arguably unfortunate, change, it’s not what I’m here to complain about. What I’m here to complain about is the way in which Goldmoney has communicated this change, which relates to the issue of trust.

Spinning a story

It would not be surprising to learn that BitGold/Goldmoney couldn’t manage to earn enough through their technology offerings to cover their own gold storage costs. Clearly, a company has to be profitable to be sustainable in the long-term and so even though it was good while it lasted, I can understand the need to apply storage costs.

What I dearly wish, though, is that Goldmoney had simply communicated the changes in a straightforward plain-English way, respectful of their customers ability to understand the reality of the situation.

Instead, this is the email I received today, which appears to spin the story as if the whole change is somehow “a great thing!”, and in the process, introduces confusion, and leaves many questions unanswered:

After leading with a positive-trending graphical chart and congratulatory message, the communication of the fundamental change in policy is delivered in this perfect example of corporate-speak:

We’ve worked to expand the capabilities of the Network and want to share the benefits of applying for a Goldmoney Wealth Holding, as storage fees will apply to Network account balances above 1,000 grams at a rate of 0.18% per year as of January 1.

Whatever this mess of a sentence is saying, here’s what it does not communicate:

  • You can NOT continue with your Personal account—If you’re currently a Personal account holder with over 1,000 grams, you must open a Wealth account in order to continue saving. There is no option to continue with your Personal account.
  • The whole Goldmoney experience changes—If you decide to continue saving with a Wealth account, the whole experience will change. The company changes. The website changes. The funding methods will change (no more purchasing with credit cards). The costs will change.
  • The transition may cost you—Depending where your Personal funds are vaulted, it may end up costing you 0.5% to move any excess balance from your Personal account to a new Wealth account, in order to get the storage fees down from 0.18% to 0.12%.
  • Why this all had to happen—Most importantly, the email doesn’t explain why we’re being subjected to this change. Reading it, you’d simply get the impression that, despite things going really, really well at Goldmoney, they’ve just decided to start charging Personal account holders with storage fees, above the arbitrary balance of 1,000 grams.

To understand any of the above (except for the justification), you have to login to your Personal account, and try to make sense of all the error messages and alerts. Overall, this was a botched communication.

Why this matters

Here’s a quote from 37 Signal’s book, “Getting Real”, from the chapter entitled “Publicize your screwups”:

If something goes wrong, tell people. […] Be as open, honest, and transparent as possible. Don’t keep secrets or hide behind spin. An informed customer is your best customer. Plus, you’ll realize that most of your screwups aren’t even that bad in the minds of your customers. Customers are usually happy to give you a little bit of breathing room as long as they know you’re being honest with them.

Although the change at Goldmoney isn’t necessarily the result of a screwup, it’s a major event that completely changes the product experience for savers, involves an inconvenient transition, and potentially involves costs.

Goldmoney’s communication should have clearly addressed these things. When you break your promises to someone, you better explain why. But it didn’t. Instead, it spun the story as a positive event, downplayed how fundamental the change is, and left many questions unanswered. And the result of that approach is twofold:

  • First, it leaves me to figure out all the consequences of the changes myself. It was only when I logged into the website that I realized I could no longer use the Personal account. It was only when I started to create a Wealth account that I realized it’s a completely different company, with a different website that lacks many of the features of the Personal account. And it was only when I started the migration process that I realized costs will be involved.
  • Second, it introduces distrust, and damages my confidence in this company. Is this how I can expect to be treated again in the future if/when they’re required to make major changes that affects me?

The whole situation has left me with such a bad taste in my mouth that I’m quite likely to take my business elsewhere. I hope this story finds its way to those in charge at Goldmoney, and that the folks working in PR there learn the lesson that it’s OK to tell things as they are.


Update 1 of 2: A week after posting this article, I posted some follow-up thoughts including a Twitter conversation I had with Goldmoney’s founders.


Update 2 of 2: To clarify what I would have liked to have received, I’ve drafted an alternative version of the Goldmoney email.


The difference between developers and product designers

Our company is bidding on the re-development of an existing product that has outgrown the technical framework on which it was originally built. The customer has received a handful of offers, and the range of costs and technologies found in those proposals is causing him considerable uncertainty in his choice.

In response to that uncertainty, we’re nudging him to look beyond whether to use Ruby on Rails (our choice), Meteor or Laravel since, at the end of the day, the success or failure of his business will not hinge on technology. Instead, we’re encouraging him to consider the difference between a developer and a product designer, and focus on the critical question of who is capable of creating a product that will ultimately prove successful to his business.

To illustrate, let’s consider what happens when you signup for an account in their existing platform. Upon first login, you see something like this:

The original specifications for this product probably contained something along the lines of, “The system will have an accounts screen that lists all colleagues associated with the organization.” The developer then went about the task of satisfying the requirements, thinking:

When the account screen is accessed, I’ll query the database for all colleagues. And to account for the case there are no colleagues, I’ll show the message, ‘No colleagues found’.

Most developers focus on requirements and technology—i.e. the database query, the message to show if the query returns nothing, etc.—and fail to reflect deeply on the actual use of the product they’re building. In this case, the developer didn’t consider the one instance—and a critical one in terms of product success—of an empty database query that every single user will experience—Their very first engagement with this screen as a new user.

As a new user in this system, I’m left disoriented and confused:

  • Where am I, and what am I supposed to do?
  • The “No colleagues found” text seems like an error message. One minute in, and I’ve already done something wrong?
  • “Show blocked colleagues?” What is a blocked colleague? If I click that, the only thing that happens is that the text changes to “Hide blocked colleague”.

Had I created this account as a potential new customer wanting to “kick-the-tires,” there’s a good chance that I’d leave and not return, since experiencing friction in my very first interaction with the product is probably a good indication of what’s to come should I stay.

A good product designer is continually putting himself or herself in the shoes of the user, taking into account their context, their mindset, their knowledge and expectations, and looking to resolve any aspects of interaction with the product which potentially introduces friction.

In this example, a good product designer would identify the need for a “blank slate” version of the account screen, that’s welcoming and orientating for first-time users. Perhaps something like:

And therein lies the enormous difference in value between the average developer, and the very few who are good product designers. The former creates collections of features that “satisfy requirements”, while the latter creates coherent, effective and ultimately successful products.

Why keeping it simple would be a better choice for TransferWise

Overview

In the world of web application development, we sometimes face technical decisions whose trade-offs extend beyond the technical. Those non-technical trade-offs can be subtle, and perhaps difficult to identify, yet critical to the business.

In this article, I want to highlight as an example my experience with the TransferWise payment system, in which technical decisions ultimately work contrary the core of the product.

Background

In the early days of web applications, browsers like Firefox and Safari could only render web pages whose contents were structured in HTML and possibly styled with CSS. Any “logic” that formed part of the application had to be executed on the server.

Whenever you clicked a link on a screen, you’d experience a page refresh as the browser sent the request data back to the server, waited for the server to perform any necessary checks and calculations related to the request, and then your browser would display the HTML/CSS that was returned by the server.

So in those days, your browser only displayed things; any “thinking” happened on the server.

Time progressed, and browsers gained the ability to execute JavaScript software, thereby opening the door to implementing “logic” that gets executed within the browser client itself.

One of the most common first uses was in signup forms, as the browser could check that your entered-twice passwords matched, without requiring a page refresh and request to the server application.

Things got even more sophisticated when the browser could make a server request that’s transparent to the user. You’ve probably seen that when entering your username in a signup form, seeing a small spinner appear to the right, followed by a green checkbox informing you that, “Yeah, that username is still available!”

As “front-end” technologies continued to evolve over the years, we’ve gotten to the point where entire web applications are implemented in JavaScript, and run within the browser.

So, today, a fundamental decision to be taken by a developer when he or she implements a web application is:

Should I implement this logic on the server, or in the client?

The argument I want to make in this article, is that often this decision should be taken by the organization, and not simply left to designers and developers.

Context is everything

The benefit of using client-side logic is generally a smooth and seamless user experience, since the user doesn’t have to wait for page refreshes. The trade-off, however, is the risk of bugs in the user interface, since the JavaScript and rendering engines between different browser (and even different versions of the same browser!) can vary considerably.

There are some application contexts in which the risk of interface bugs is compensated by the value of a seamless and interactive user interface:

  • For example, if you’re developing a fast-paced interactive game, it could well make sense, in the interest of a smooth user experience, to implement the entire product as a client-side application.
  • Or let’s say you’re implementing product that’s likely to be used by your customers several times daily. In that case, saving a few screen refreshes might materially improve the experience when compounded daily over the period of an entire year.

At the same time, there are some application contexts in which a seamless user interface does not compensate the risk of exposing the user to interface bugs. And, here, I want to highlight an example of a company that has absolutely taken the wrong decision in this regard.

Disruption of an industry

In the past, it was terribly expensive for me to pay European contractors from my American company. First, the transfer itself would cost about $30. But then, I’d lose over 3% with respect to the market rate when the bank would convert my USD source funds to the destination currency of Euro.

TransferWise completely disrupted the market of moving and transferring money internationally, charging a fraction of what banks charge. They do this by taking advantage of volume to avoid even having to make transfers, i.e. if Customer A in the US transfers $100 to someone in Europe, and Customer B in Europe transfers the equivalent of $100 to the US, TransferWise can make the two transfers happen simply through off-setting accounting entries, using Customer A’s money to pay Customer B’s recipient, and vice versa.

What is the TransferWise product?

So what is the TransferWise “product”? If you ask me, it’s the saving of tremendous time and costs when making an international transfer.

And here’s where TransferWise have really messed up. They additionally view their “product” as the experience of making a transfer, and from a front-end technology perspective, they have decided that a slick user interface compensates the risks of exposing their user to bugs associated with the heavy use of front-end technologies.

To be specific: The process of making a transfer with TransferWise involves five steps:

  1. You specify the source and destination currencies, and the amount to be transferred.
  2. You choose who is sending the money (in case you happen to have both a personal and business profile on record).
  3. You choose a recipient from a list of existing contacts, or create a new one.
  4. You choose how you’ll get the money to TransferWise, e.g. through an ACH or wire transfer from your bank.
  5. You review the transaction, and confirm if everything looks good.

Looks simple enough, but there’s quite some logic that has to happen:

  • You have to compute the amount of the conversion from the source to destination currency, based on the current rate.
  • You have to alert the user in case that rate expires during the process of setting up the transaction (i.e. if they take too long.)
  • You potentially have to walk the user through the “new contact” workflow.
  • You have to flag the user if the chosen receipt doesn’t have address details on file.
  • You have to walk the user through the “link new bank” workflow in the case they want to do an ACH transfer with a bank that wasn’t previously associated to their account.
  • You have to exclude the ACH option if the daily limit has already been exceeded.

So the process of initiating a transfer can get surprisingly complicated.

TransferWise’s flawed decision

Well, TransferWise decided to implement the entire workflow in one single web page, in which each step in the process is contained within its own component, that opens and closes accordion style.

The consequence of this approach, as opposed to pushing all the logic and checks to the server in page refreshes, is that during the entirety of my use of TransferWise, over the past few years, I have ran into user interface bugs probably more than 50% of the time.

And sometimes we’re talking about showstoppers—i.e. bugs that, in the name of a slick user experience, actually prevent me from making a transfer!

For example, the day that the confirmation button simply wouldn’t activate. Or the day when state wasn’t tracked across components and the confirmation button didn’t provide on-click feedback, such that multiple clicks of the confirm button suddenly skipped you multiple steps ahead in the process, leading to all sorts of chaos.

Or, what happened to me today…

I use TransferWise once a month to pay my European contractors. Since the only thing that changes each month is the amount I pay to each, I could really use “payment templates”. But since those don’t exist in TransferWise, the next best thing is to click “repeat payment” on some previous transfer, and then change the amount.

But it would seem that this isn’t the intended purpose of “repeat payment”, since clicking the option takes you directly to the confirmation component of the transaction screen. You can click back into Step 1, in order to change the amount, but I suspect my particular use of this feature is what caused me to see this, when finally returning to the confirmation component:

Try what again? Going from Step 3 to Step 4? Everything looks fine. What’s the problem?!

Neither refreshing the page, nor clicking “Confirm” removes the error message or allows me to proceed As with most of these UI errors at TransferWise, it would appear that I’ve reached a dead end.

But, in this case, guess what? When I return to my accounts page, I see that the transaction was successfully processed. So the error I was shown—i.e. the one that blocked the whole process—is itself erroneous!

Again, it’s all about context

So let’s backup and think about this.

  • Once per month I need to make some transfers.
  • I use TransferWise for this because they are fast, and save me a lot of money.
  • I do not use TransferWise because their transfer creation workflow is better than my bank’s. I don’t give a shit about that. If this were something I did 12 times per day, then maybe; but this is something I do 12 times per year.

Of course, it’s not impossible to have a reliable application that’s front-end heavy. It’s just that it’s much, much easier to have a reliable application that’s not. And in the case of TransferWise, a slick front-end doesn’t contribute to the core value proposition of the product, and my own experience demonstrates that there’s definitely inadequate value compensation in unnecessarily taking the risk.

Conclusion:

The very very last thing I want to experience in this context, are bugs that prevent me from making my transfer.

For the past year or so, each time I’ve experienced a UI bug, and have reported it to TransferWise, I’ve also take nthe opportunity to encourage them to reduce their dependence on front-end technologies, and give priority to making the process of creating a transfer as reliable as possible. But each time, missing the forest for the trees, their team have instead focused on trying to track down the particular bug I’m reporting (Have you tried that in Chrome?)

And so my hope is that through publishing this article, the larger issue might cross the radar of someone in TransferWise management, who’s in a position of considering the broader product goals.

SendGrid made things right

Update — Readers will note that I’ve changed the title and URL of this article, and that’s because shortly after posting it, representatives of SendGrid reached out, apologizing for the situation, explaining that my situation isn’t what they intend, and offering to make it right.

All-in-all, barring what happened this morning, we’ve always had good experiences with SendGrid, and their product is really well designed, and so I’ve decided to continue giving them our business.


My company Makalu was engaged by a US educational non-profit to develop an online platform called “Letters 2 President,” through which America’s youth can publish letters to the candidates of the 2016 presidential election. While the platform is under development, a website was established to inform about the project, and start taking preliminary signups from schools, libraries and other organizations wishing to participate.

http://www.letters2president.org

Most web applications these days outsource certain functions to third-parties. For example, it’s typical to use Amazon S3 for storage, CloudFlare for content distribution and site protection, and in the case of sending transactional emails, we’ve tended to use SendGrid.

Until now, that is. After today, we’ll no longer use their services, nor will we continue to recommend them to our customers. Here’s why…

For our project, we need to send notification emails to our customer whenever new applications arrive from organizations wishing to participate. We need to send notification emails to organizational administrators when group leaders create accounts. And we need to send notification emails to group leaders whenever a student creates or modifies a letter to be published on our site.

That’s why we need a transactional email service like SendGrid.

As usual in our projects, we create dedicated accounts with these third-party providers, as opposed to using our own Makalu accounts, so that when a project is finished, we can hand over everything—including provider accounts—so that the customer is free to operate their project without any dependencies on Makalu.

And in that regard, this morning I tried to setup a SendGrid account for use in our Letters 2 President project.

Ten minutes after creating the account, I received a notice from SendGrid that based on their review of a broad range of data points, our provisioning request had been rejected.

A rejection based on an automated data check process didn’t come as a surprise, for a number of reasons:

  1. Although the account was created in the customer’s name, the email address I used when setting it up was a Makalu address, in order that, until project handover, we can receive all the various confirmation and related emails from the service.
  2. As our office is located in Europe, the IP address that SendGrid saw on the request was outside the United States, and not corresponding to the business address specified in the account creation process.

I imagined that a simple email could clear the matter up, and so I replied to the rejection notice, explaining the purpose and nature of our project, explaining who’s involved, explaining the reasons for the checks I imagined triggered the rejection, and offering to answer any questions they might have in order to get the account provisioned.

Another 10 minutes later, I received a cold and unfriendly follow-up saying thank-you, but based on reasons that won’t be disclosed, our account will not be activated. Just like that. No chance of a discussion. End of story.

And, adding insult to injury, their note ends with the sarcastic-sounding, “We wish you the best in your future endeavors.”

I completely understand why a transactional email company has to be careful in the provisioning of accounts. We all know how big a problem spamming is. But I can’t understand at all why a company would be completely unwilling to even engage with a new customer who presents a clear case for the legitimacy of their use of the service.

So that ends any current and future business relations we’ll have with SendGrid. Fortunately there are many other providers of transactional email, who’ll perhaps enjoy the exposure when we later publish about the building of this exciting new platform.

What it’s like to take on venture capital investment

One of my favorite podcasts, recently discovered, is StartUp, by Alex Blumberg, former producer at This American Life. The podcast chronicles the story of starting Gimlet Media, Alex’s new business aimed at creating a network of story-narrative podcasts. “StartUp”, documenting their own story, is Gimlet’s first production, and what’s interesting about this podcast is that Alex records almost all of his conversations along the way, giving us uniquely inside access into the creation of their company.

Continue reading What it’s like to take on venture capital investment

Software testing and charging customers for bug fixes

In a recent update we made to a customer’s software system, a bug was discovered, which led to a discussion about (a) why the bug wasn’t caught during testing and (b) why we charge them to fix the bug.

Given our business model, this is a discussion that occurs from time to time, and so I decided to capture our viewpoint in the form of an article I can refer to as needed.

Continue reading Software testing and charging customers for bug fixes

Another one bites the dust — Picturelife was acquired by StreamNation

Today I received an email from Nate Westheimer, founder of the Picturelife service I use to store, manage and enjoy my photos and videos, announcing that the service had been acquired by StreamNation.

Continue reading Another one bites the dust — Picturelife was acquired by StreamNation

Can we jump on a 15 minute call?

About a year ago, somebody must have published a very popular book or article proposing a new sales technique that leads to greater conversion. At least that’s what I presume, because since then, and suddenly, every sales-related email I have received has ended with some variant of:

What’s a good time for you this week to jump on a 15 minute call?

It’s pushy. It puts you on the spot. It jumps right past the question of whether you’re ready or even want to have a call.

It’s an attempt to move the conversation out of the comfortable world of email, in which you’re in the driver’s seat and can put time and thought into your response, and into the arena of the door-to-door salesman, where no matter what you say, they’ll have a readied response, and you simply won’t get away without making some kind of commitment, even if that’s just confirming a time for the next call.

My response to this technique is the following—as soon as I see that question, the conversation is over. Simple as that. (And I’ll point them to this article, so they’ll know what happened.)

RaceSplitter rejected after three years for using a slider control

RaceSplitter is an app that provides “do it yourself” timing of sport events. It’s been on the market for three years and has gone through 13 different Apple-reviewed versions. Yesterday, we were surprised to receive an app-rejection notification related to a minor-maintenance release.

Continue reading RaceSplitter rejected after three years for using a slider control

Comparing the market valuations of Apple, Google, Facebook & Twitter

After reading about Facebook’s $19 billion purchase of WhatsApp, I started thinking about the revenue and public valuations of the giant advertising companies—Google, Facebook and Twitter—as compared to that of Apple:

Continue reading Comparing the market valuations of Apple, Google, Facebook & Twitter

Great customer support at the Apple Store

Back in August, I purchased a 4TB G-Drive at the Apple Store in Marbella to serve as the destination that CrashPlan uses when backing up our family’s various Macs.

Last week, CrashPlan started getting stuck; stuck synchronizing file information, and stuck backing up our data. The superb staff at Code42 inspected my CrashPlan logs, and discovered numerous read and write errors on the disk. Although Disk Utilities and Tech Tool Pro both reported that the disk was fine, the venerable Disk Warrior got “stuck” in its (evidently much deeper) drive check.

Convinced that the drive had problems, I then set off to the Apple Store—four-month-old purchase receipt in hand—to get a replacement.

After explaining the problem to the Apple Store employee, he replied that Apple only takes back disks during the first three months; after that, the customer has to deal directly with the manufacturer. He then volunteered to help me identify the manufacturer’s contact details.

As the guy was Googling, “G-Technology service and repair”, I was imagining what my next few days and weeks were going to look like:

  • Waiting to get an email back from G-Technology with shipping instructions and an RMA number—probably preceded by several “Can you try restarting the drive?” emails.
  • Finding some brown paper to wrap up the box for shipping.
  • Traveling to the Marbella post office and waiting in line for an hour to ship the thing.
  • Traveling back to the post office a month later to figure out why the shipment never arrived.

…all the while, not having a backup at home, because the drive is getting repaired.

I was just about tell the Apple representative to forget it, that I’d just buy a new drive, when he spoke up and said, “Hey, G-Technology doesn’t have customer support in Spain, so we’re just gonna replace the drive for you here.”

Yes!

Then a few minutes later, returning from the back room, he reported that unfortunately Apple didn’t have any more of those particular drives in stock. But, they did have a 4TB Seagate drive they could offer me. And… that drive costs 100 € less, so in addition, they’ll refund me 100 €!

Now that is great customer support!

Thoughts on product reviews and a tale of a disagreeable customer

When tens of thousands of customers, I suppose the laws of statistics dictate that you’re going to have a few disagreeable one.

With those, it’s probably best to listen to what they have to say, and just move on. But given the effort we’ve put into making Rego a good product, I can’t help getting a little upset sometimes when I run across them.

Continue reading Thoughts on product reviews and a tale of a disagreeable customer

On deciding what to do in the running of a modern company

Perhaps the biggest struggle in the running a successful small company—particularly one participating in knowledge-based work—is deciding “what” to do. When I worked as an employee of another company, back in the day, I only had to worry about “how” I did my job; somebody else figured out the “what”.

The question of what to do spans great distances—from the 30,000ft strategic decisions (Should we be doing client work? Should we be making products? What are our objectives?) to the micro-level daily decisions of what to do right now (Should I be writing this blog post, testing Rego or perhaps responding to that RaceSplitter support request?)

And deciding what to do is a dynamic and continual concern. Our organizations aren’t like a trains on guided tracks; they’re more like ships on the open sea, as each and every day brings shifts in wind and current; forces which—sometimes slightly, sometimes drastically—work to change our direction and pace. At the micro-level we have tools to help us more effectively “Get Things Done”, but those can also distract our attention from the macro-level issues of, “Are we doing the right things?” We have to be careful not to lose sight of the forest for the trees.

Peter Drucker gave us some insight into the magnitude of our task in 1981, in Toward the Next Economics:

To make knowledge work fully productive requires many things [Frederick Winslow] Taylor did not concern himself with. It requires objectives and goals. It requires priorities and measurements. It requires systematic abandonment of the tasks that no longer produce and of the services that are no longer needed. It also requires organization, largely along the lines of the ‘matrix organization’ which Taylor reached for in his ‘functional foremanship.’

But making knowledge work productive also requires ‘task study’ and ‘task management.’ It requires the analysis of the work itself. It requires understanding of the steps needed, their sequence and their integration into an organized process. It requires systematic provision of the information needed and of the tool needed.

All of these are concepts of ‘scientific management.’ It does not require ‘creativity.’ It requires the hard, systematic, analytical and synthesizing work which Taylor developed to deal with shoveling sand, lifting pig iron, running paper machines, or laying brick.

These challenges are both exhausting and exhilarating, but I don’t think I’d want it any other way; life’s just to short to be boring!

On the importance of developing trust

Another good article from The Big Picture blog

I’ll buy from Amazon even if it’s not the lowest price. I trust them. I know third parties using the site will always come through, they’re afraid of getting blasted in the ratings. Amazon owns me.

The article goes on to discuss how Marcus Sheridan came to own the pool business in the northeastern region of the US — by dropping traditional marketing and just doing some authentic, honest writing (i.e. developing trust).

A study of the effects of nasty comments on reader perception

Barry Ritholtz (one of my favorite bloggers) reporting about a study of the effects nasty comments have on reader perception:

Uncivil comments not only polarized readers, but they often changed a participant’s interpretation of the news story itself. In the civil group, those who initially did or did not support the technology — whom we identified with preliminary survey questions — continued to feel the same way after reading the comments.

Those exposed to rude comments, however, ended up with a much more polarized understanding of the risks connected with the technology.

Simply including an ad hominem attack in a reader comment was enough to make study participants think the downside of the reported technology was greater than they’d previously thought.

He’s talking about blog comments, but one can imagine similar results would be found studying nasty comments and reviews in the App Store. Or even non-nasty, but irrelevant comments. I often see products given poor reviews for reasons like the following:

  • The reviewer thinks the product is too expensive. (You shouldn’t rate a product based on whether you can afford it; that’s completely subjective. That’s like giving a Porsche one-star, because you’d prefer it cost $10,000)

  • The product doesn’t have a feature the reviewer thinks would make it better. (You should rate a product on what it advertises itself to do; not on what you wish it did.)

  • The reviewer had a bad experience through some mis-use of the product. (You can’t blame the product, if you tried to use it for something for which it wasn’t intended.)

Germanwings—a good user experience in newsletter opt-out

Companies who send periodic emails to their customers should do two things:

  1. Provide an opt-out link that does not require the user to login to some account. The worst experience I’ve had in this regard is Delta Airlines. I fly Delta, but got so tired of their SkyMiles emails that I decided to opt-out. This required hunting for my SkyMiles account login, and then hunting even more for the area in which you manage your email subscription. And then, worst of all, when I got there, I found that I was already unsubscribed. Dead end. What do you do in a situation like that? So I’ve blacklisted them in my spam filter. Sorry Delta. Don’t make your customers go through this. Provide an opt-out link that doesn’t require logging in.

  2. Provide the customer with the ability to opt-down, rather than opt-out. I’m usually interested in receiving information from the companies I do business with — I just don’t want to hear from them every day. With most companies, you can either opt-in or opt-out. Unfortunately, a lot of the businesses I love (like REI) can’t contact me anymore, because I got tired of the volume. The Germanwings airline does it right. Here’s the choice I was offered when clicking their opt-out link. Rather than opting-out completely, I chose to allow them to contact me “once per quarter”. Nice!

<

p>

Moving abroad—proposal for a new Twitter feature

One of the most enriching things I’ve done in my life has been living abroad, experiencing cultures and societies completely different from those in which I was raised. That made me appreciative of things I formerly took for granted, and it exposed me to ways of thinking, living and doing things that otherwise may have never occurred to me.

As regular Twitter users, we’re exposed each day to the stream of tweets from those we’ve chosen to follow. That stream represents a slice of the social universe that’s unique to us. If we imagine each of those voices as a distinct ingredient, the resulting social dish that we consume on a daily basis is one-of-a-kind in the flavors of culture, interests, education and point of view.

It’s probably worth considering that that experience is less diverse and in certain ways potentially more influential that the real-world experience of the societies in which we live. So today I was imagining being able to “move” into the unique social experience of other Twitter users — i.e. being able to see the stream of tweets from another user’s followers — and wondering if it could be as enriching in the unexpected ways that moving abroad was for me.

Would I more likely understand how a person could form an opinion that now seems completely unreasonable to me? Would I come to understand how some of my own viewpoints are limited or distorted by my own unique social exposure, repeated day after day?