Joyent, TextDrive, and the Need for Clear, Frequent Communication

Two weeks ago, Joyent announced they were shutting down their legacy hosting services, a hosting platform they acquired from TextDrive several years ago. Normally this wouldn’t be very notable, but in this case, it was a service initially funded by its users, who were in return offered “lifetime” hosting for their investment.

When the Joyent/TextDrive merger happened, those customers had to pay a bit more to “upgrade” to “lifetime” hosting on Joyent’s Shared Accelerators1. So a lot of people parted with money twice to receive “lifetime” hosting.

Needless to say, if you tell someone you’re ending their “lifetime” service after only a few years, they’re going to complain. Unsurprisingly, after those EOL emails – written in corporate-speak – went out a whole big shitstorm kicked up.

We appreciate and value you as one of Joyent’s lifetime Shared Hosting customers. As this service is one of our earliest offerings, and has now run its course, your lifetime service will end on October 31, 2012. However, we believe that you will enjoy the new functionalities of the Joyent Cloud. To show you our appreciation, as one of Joyent’s lifetime Shared Hosting customers, we’d like to offer you a free 512MB SmartMachine on the Joyent Cloud for one year.

What didn’t help initially was the inconsistency. The EOL emails contained a voucher for redemption against the latest Joyent Cloud hosting. I was one of the earlier TextDrive “VC” rounds, and I received a one year voucher. Others who had been later customers received three years, with seemingly no consistent pattern.

People weren’t happy, and Joyent tried to contain the situation. When I finally got around to looking at the migration guide (which is almost 50% T&Cs) I found out everybody now had five2 years credit for hosting on Joyent Cloud. When I went back a few days later I could have had a full refund ($~550), or the five-year credit3 ($1325). While it was nice to find out I would get more, I don’t think Joyent should have relied on me checking the migration guide to learn about this. I should have received an update email, or read a post on their blog. Joyent should have been proactive in their communication. I know people get touchy about getting too much email from companies, but for something important it’s OK.

You would think that would be the end of it – your money back, or credit towards what is essentially a VPS. But it wasn’t. There was more to come.

More Twists

Today, a new email arrived. TextDrive, the original hosting company, was being “spun-off” into a new service for the lifetime customers, by founder Dean Allen:

I’d like to announce that on November 1st, 2012, TextDrive will relaunch anew as a separate hosting company, staffed and funded, run by me. Please consider the recently announced end-of-life for Joyent’s shared hosting customers now revised to be a continuation-of-life, to be carried out in the same friendly, creative, publishing-centered spirit of TextDrive’s early days.

Right… So what now…? The original announcement was two weeks ago. A good many customers will have exercised their options already – getting the refund, or taking the credit and migrating to cloud hosting. Where are we left after this turn-of-events? Is this now a third option? A replacement to both earlier offers? A combination? It’s just not clear. The link in the email to get updates/answers points to the same Migration Centre as the Joyent email, but with a few lines about the move back to TextDrive. It isn’t any clearer than the email. Again, the customer has to check back for the latest updates. How often should I check back? Will things be changing daily again? I can’t tell or guess, as there are no timestamps against previous updates, just in the header – so if I haven’t been checking recently I have no idea of the frequency.

It Could’ve Been Better

While I’m happy-ish with how Joyent has (eventually) reacted to the situation – of their own making, I add – their communication has really, really, sucked. There is not one blog post on the company blog about any of this. Two very different emails, two weeks apart, is not enough communication. Every time there was a major change to what was going on there should have been an update sent out.

Communication isn’t hard today, and it’s certainly not expensive. The best way to keep people “on-side” is to keep them informed, and be honest, open, and transparent. Joyent missed this completely in their handling of the situation, and I can only hope they learn from it.

[Update 31st Aug 2012] – I asked Joyent Support, and they say we can keep whatever option we picked, or move to TextDrive. I’ll wait until there are more details about TextDrive before making my mind up.

  1. I’ll skip over just how terrible this platform degraded over the years
  2. It’s actually “up to” five years credit. You’re charged by the hour, and can run more than one machine, so your mileage may vary. If you choose to run a Windows server you’ll blow the credit in 6 months.
  3. I took the credit, as it seemed a good enough deal for me, and changes in the exchange rate meant I would only receive a reduced amount of my original “investment” back.
About these ads

Introducing System.Web.Providers – ASP.NET Universal Providers for Session, Membership, Roles and User Profile on SQL Compact and SQL Azure – Scott Hanselman

Introducing System.Web.Providers – ASP.NET Universal Providers for Session, Membership, Roles and User Profile on SQL Compact and SQL Azure – Scott Hanselman.

Found this lurking in my drafts – meant to post it ages ago! These new providers for ASP.NET are awesome, and I highly recommend switching to them.

Use Custom PHP Extensions on Heroku

Image representing Heroku as depicted in Crunc...

Did you know you can use custom PHP extensions on Heroku? Neither did I, cos I can’t find it in the documentation. But you can:

I came across this while searching for a way or workaround to use the MongoDB PECL extension on Heroku (don’t get me started on that…).

If you can’t be bothered checking the link, the summary is this:

  1. Create a folder in your app called ‘ext’ or similar.
  2. Copy your extension into this folder.
  3. Create a php.ini file with the following contents:
    extension_dir = "/app/www/ext/"
  4. Deploy