Ayende @ Rahien

My name is Oren Eini
Founder of Hibernating Rhinos LTD and RavenDB.
You can reach me by phone or email:


+972 52-548-6969

, @ Q c

Posts: 6,130 | Comments: 45,556

filter by tags archive

On XHEO Conduct

time to read 3 min | 589 words

XHEO responded to my open letter. This is my running commentary during reading their post.

Let us start from this:

While I can understand the frustrations of a developer under the gun from a manager, or anxious to meet a deadline we really can't work with so little information - who can?

Here is some of the email exchanges that went by.


Note that every email with an attachment is including details such as screen shots, assemblies, crash dumps, etc.

I want to point out that I did use their tool to generate a support request with all the details about my system that they could possibly want. I submit all exceptions to them as they came, although I run into several instances where the crash was so severe that the error reporting itself fail to kick in.

I know that customers world wide have been conditioned to expect refunds for any reason at any time.

No, customers has grown used to companies respecting signed contracts.

Looking at the timeline that XHEO provides, it seems that they totally ignored the attachments that I sent, which contained full reproductions of the actual problems. That is strange to say, because during my conversation with support, we continually referred to those screen shots, so I fail to see how they can ignore them or claim that I sent an email with just "it doesn't work either".

In fact, here is that particular email:


He is also missing the part that I did updated to the latest version, only to find other bugs:


At this point, I have spent over a week trying to resolve this issue, has been forced to wait for days to get someone from support, got not even a hint of resolution, but what seems like a flurry of "let us try to turn off this setting and see if this works".

I was already investing way too much time into the product, and it was holding back my own work on NH Prof, not to mention the adverse affect on my ability to actually ship something.

I want to specifically respond to this:

The post includes issues never reported to support and in far more detail then ever provided to us. Demonstrating Ayende is quite capable for expressing the information but simply chose not to.

I don't just keep screen shots of broken software around, I extract the images that I have shown in the original post from the emails that I sent them.

XHEO also provide more of the email correspondence that went between us. I recommend that you would read them. Part 1 | Part 2

Someone in the comments pointed out that doing the entire exchange over email was likely a factor. I agree. And I said so:


I never got a reply to this email.

And finally, there is this:

  • We have not ignored the terms of the contract and continue to honor our obligations and offer support.

I honestly don't even know how to approach this statement. The contract that we both signed clearly states that their product should work. It doesn't, and they have failed to provide me with a working product. Hence, we fall back to the refund alternative, which they refuse, thereby breaching our contract.


Jeremy Gray

Oren, it is hard for me to write this, simply because I would be tempted to drone on about no wanting to offend, about appreciating your contributions to the development community, etc., but nothing comes out quite right.

Both parties messed up. That much is obvious. Both felt frustrated. Both eventually lashed out. Both would have to agree to disagree regarding who really provoked who to do what. It happens sometimes. We're all flawed human beings, after all.

That said, history is sadly going to record this situation as starting with you lashing out, followed by you lashing out some more, etc., followed by them begrudgingly responding (with obvious human frustration in their response), followed by you lashing out, followed by you lashing out.

At this point, it matters for naught who was right or wrong or what who should have done. This issue needs to be put to bed, and sooner rather than later.

And if you really do want to keep dragging things through the mud, perhaps a response to this:

Emails don't count for much when an important issue is really on the line. Can you provide your readers with a chronology of the telephone calls, screen-sharing web conferences, airplane rides, etc. that have been involved in this process? This request isn't to single you out, Oren, not in the least, as both parties obviously should have moved the issue out of email at any of many points along the way.


Don't listen to this guy Ayende, your in the right. These people are clearly trying to stone wall you.

Judah Himango

I agree with Jeremy. I think it's time to stop dragging Xheo through the mud and put this to rest.


I mean all they have to do is give him a refund. I would burn someone like this, if they gave me a product that didn't work and tried to keep the money.


Yes but from what I can tell they want to help him resolve the issue, I think theres a case of intent and humanity being lost due to the communication means.. to me it really seemed they thought you were frustrated and if they could help you get around the problem then everything would be fine.. where as you were infact completely at the end of your tether.

This kinda thing happens a lot.. the only mistake I think thats happened is not taking up the phone call option to actually get some human -> human interaction.

This is based on reading the titles of each email, and from what I can see you gave up as the guy was trying to get to a position where you we're reading from the same page so to speak.. I would imagine if he ran out of ideas and their product was truely unable to function he would have enabled refund..

Again I just think they we're trying to help you resolve the problem, only perhaps they floundered a little expecting the unreplicable error was something you were doing wrong, and that you may discover that soon enough.

João P. Bragança

Yeah, and I am not buying their 'as an ISV we have cash flow issues' argument. Look, I am not going to crap on your business model, but if you don't have enough cash around to issue a refund or two you probably need to rework it. Otherwise it looks like a modified Ponzi scheme.

Arne Claassen

Jeremy, your response is simply amazing to me. "Both parties messed up".. But one gets to keep the cash for the incident? This has from the beginning been a simple matter "to put to bed". Xheo could simply refund Ayende. No matter who is right or wrong here, I sure know who I don't want to give any money to.



Respectfully, I have no idea what you are thinking. At this point, it doesn't matter who is in the wrong. XHEO should recognize that they are unable to satisfy this customer and refund his money. Companies need to understand at some point that there are some customers that are just not worth having. Their own PR is taking a hit over this.

With that being said, what gives a company the right to take Oren's money and not deliver a working product. If it is not working for Oren, what is he supposed to do? Butch up and just accept that he threw thousands of dollars down the drain?


Jeremy Gray has it; at some point you're going to have to stop posting, and the sooner the better. You may or may not get your money back, but at this point it appears like you're just trying to "win the argument." Though you should win the argument, and should definitely get your money back (he really really should have granted you a refund, even by special exception, if only for publicity's sake).

Stop, can´t we just live in peac

OK, enough already. I read this blog for developer insights not heated arguments between misinterpreted emails!

Please, no more XHEO jibes on this blog, otherwise I and more will unsubscribe.

J Healy

Paul has now twice deleted this response comment from his XHEO blog:

Then a refund hinges on a determination that a problem wasn't resolved to someone's satisfaction - that would normally be the to the customer's satisfaction, not the vendor's. Anything else fails even a nominal test of customer services. I'd suggest you consider reading this link and reframing the whole discussion:




Acutally this site is for whatever the hell Oren wants to talk about. That is why his name is in the URL. If this site were say Codebetter.com or something, I think you would have a point. But this is his personal site and he can rant and rave about purple monkey vagina whistles if he wants to..


Dan Finch

"At this point a refund is meaningless." -Paul Alexander

Haha what.

J Healy

That comment is now back up on the XHEO blog...


There does not appear to be a way to "put this to rest" other than XHEO giving Oren a refund (rightfully so in my relatively uninformed opinion).

As for the "lashing out" bit, there comes a point in some interactions where your only real option is to give up or resort to something like this.

That is an individuals choice which path they're going to choose and I don't think that we as readers have the insight to be able to say that Oren chose the wrong path.

In my opinion, it is important to not let these things go without a fight, not only for the money which I think is not inconsiderable but for the lesson that should be learned by some companies that it is NOT ok to ship shit and call it chocolate. Whether the company will learn from actions like these is unknown but I think it's important to try.

+1 in support of Oren.


+1 for refund.

Burm 'em until you get it. XHEO's response was nothing but an endless series of "hot-fixes" and "work-arounds" for each new bug you found.

Last time I checked you weren't being paid as XHEO's QA staff.


Ayende shouldn't avoid writing anything because it's not directly about him coding something..

If someone isn't interested in subscribing to that, then maybe they shouldn't.

I really hope you don't filter out your opinions, even if they do cause a stir, I like my feeds with some variation. :)

Information about encounters with a companys customer support is also invaluable, so I quite appreciate the posts myself.

Can't help myself

Initially didnt care too much about this matter (I dont know Oren too much to judge). But something I would like to say.

Before reading response from XHEO, I thought they had sucky customer service. But after reading their post, now I think they're complete jerks.

First, customers dont care about your willingness to spend time and effort to fix your defect. If the product fails to give them what they're buying, appologize and refund the money. Not trying to win a silly argument and insist customers to spend their time with you and do QA works for you, or start blaming them for giving up on fixing your mess. That is a very inappropriate attitude toward customers. Stop arguing who is right or wrong. All that matters is the fact that they dont get what they pay for, and you don't deserve their money. PERIOD!

Appologize for their time, and return the money. And honor a singned contract no matter what.

Regarding your commitment to fix the problem, it's your problem. Not customer's.

Second, I'm very disappointed at how XHEO carefully pick every bit of their word to put the fact out of context and discredit oren. Telling people "Ayende responds with 'This doesn't work either', No additional information provided" without mentioning any hint about his providing detailed screenshot on each email is really low and dirty.

Oren's first post were incomplete and subjective in many ways, but it is based on actual email conversation.

XHEO choose to provide great detail of how it occur in perceived wording (like "Andrew receives rant about crashes instead of detailed clarification", or "Ayende decides to give up") without pointing out the actual context of the conversation.

Following the PDF, I wouldnt call Oren's request for refund as ranting about contract.

And I can't see why its wrong to write this post. If you think he should have stopped, think for yourself. Regardless of who is right/wrong, XHEO responded by making you look like a total jerk in public. If it were you, what else would you possibly do? This is his personal blog afterall.


Wow! I never expect to resolve a BUG with such a LOOOOOOOOONG conversation if that was me I would drop it half way and burn down XHEO or perhaps XHEO should have pay money for Ayende for spending his time hitting their hidden BUG.

Steve Wagner

I think Oren is right!

In Germanys most popular IT Magazine (C't) there is a column in every edition which called something like "Customer warning" where the magazine dose exactly what Oren dose. It brings bad customer support to publicity. And at the most time the company's begins to move after that.

Nuno Lopes

Well, I don't want to be cynical, but I'm sure Ayende already delivered software with bugs under contract. Nevertheless he probably managed to solve them within reasonable time (usually also stated in the contract).

His point is that clearly the problem is in the software. He tried to solve his initial problem by buying code source of an off the shelf UI component.

Fixed the issue, but then he had to buy another software (obfuscator) from XHEO as per deployment requirement that is screwing things up.

In this last stance clearly the XHEO is to provide a fix for the Obfuscator.

According to him reasonable time for the fix has long passed and he as gone to great lenght to solve the issue while XHEO is just being reactive (not proactive in the solution).

According to XHEO it is business as usual as a week is for them not unreasonable, so no reason to complain. Just wait for the fix, wait for the next update, If you can't wait then pay them to solve it (urgent issues).

Software business is simply like that. We may not like it, but hey we defined the rules.

The definition of Working Software is fuzzy.~

I'm not defending XHEO especially when they seam to ignore his emails and also seam to be telling LIES over this process. That for me is just enough to stop doing business.


PS: Unless he didn't change the source code of XHEO to suite his needs I fail to understand why he needs the Obfuscator.

Nuno Lopes

One last note:

Ayende as sent 22 emails (as I can see in the picture) in a week. XHEO replyed with 15.

Clearly XHEO is trying to solve the issue. But they are finding problems after problems after problems. after problems as I can understand from the pic.

The question is for all of us, including Ayende .... is a Week way over the reasonable time to expect a fix?


Niels Hartvig

It's a pity that XHEO didn't do a refund no matter if they were obligated or not, but I also think it's time to move on instead of having an open battle on blogs. It would take a very talented mediator to find a satisfying solution for both parties and I'm also a bit surprised to see flames towards XHEO from people who haven't been doing business with them, but simply are (too?) loyal followers of this (great) blog.

I've had fine experiences with XHEO and the 3-4 times I've used their support it was above average of what I've experienced other places. Not out-of-the-world-brilliant, but definitely satisfying. A week is definitely a satisfying time for a fix, but when it's followed by other bugs and you got a deadline you have something that doesn't work. At that time you should get a refund, contract or not.

The most important lesson learned here is to start thinking about licensing much earlier. When we added DeployLX to our first solution, it was done more or less just before the deadline. We had been used the predecessor a couple of years before and we thought it would be plug and play. It was, but of course bugs appeared quickly. Most were related to our implementation and one serious one was related to a combo of how we did things, trust issues, asp.net, app domains and reflection. We were going nuts because this held back our release, but a fix was provided within a week or two with good response from XHEO support while they worked on it. So yes, it did held back our release but I wouldn't blame XHEO in our case. If we had implemented licensing at an earlier stage we would have discovered the bug more quickly and the fix would probably had been provided before our release deadline.

I'm trying to say that XHEO are dealing with the same issues as the rest of us (when it comes to making software). It has bugs. I won't blame XHEO for not having seen our issue before, just like I'm sure that many of us have seen new unknown bugs appear the moment our software is being used. That's life.

XHEO screwed up by not refunding. And they're paying a very big prize not having done so. Also too big IMHO. They're not evil. Their software and support doesn't stinks as much as their refund policy.

Hopefully something good will come out of this story for both parties. I feel sorry for both.

Niels Hartvig

One last thing, though: In serious debates like these, anonymous comments are just so not okay. If you can't sign something with your own name then don't.


Five days passed when the only responses had to do with entering information into a form. That had nothing to do with the problem and is bad customer service. Once the customer gets through to a human, they shouldn't go back to dealing with a machine.

Out of six business days, XHEO only spent two trying to resolve the issue. That is another customer service issue.

If I were XHEO, I probably would have asked for a hard drive image for a hard-to-reproduce issue. Not an issue for my job, since it's software as a service.


Why should Ayende have to wait some unknown time for them to fix all these bugs? For them to not issue a refund is crazy.


Purple monkey what?


While I think Ayende blogging about this is fine (this is his blog), he obviously also tried to use his readers as ammo in his crusade.

That said, the software didn't work, and it was clear it was going to take several hours of his time over several weeks to make it work. At this point, a refund should be offered. The company has already gotten Ayende's money, and they are now using his time to improve their own product. This is a win-win situation for them, and a lose-lose for Ayende. The fair outcome is that Ayende doesn't get the solution he wanted and the company doesn't get Ayende's money.


Here's to hoping you fuck them up for this


@Can't help myself

Very well said! Exactly what I wanted to say.


@Niels Hartvig

Yo bro, we dont like what you wrote, but it's not a big deal as we'll be knocking on your door in an hour or so.

J Healy

Again, glad some resolution was found. But to be honest - and while I stand by your right to a refund if you weren't ultimately satisfied with the product - I think there's something of value to be had by both you and Paul in the article I posted a link for above.

Nuno Lopes


"This is a win-win situation for them, and a lose-lose for Ayende. The fair outcome is that Ayende doesn't get the solution he wanted and the company doesn't get Ayende's money."

Lolol you are so naíve man. How long you've been working on this industry.

Anway I'm glad the situation is solved and XHEO recognized that his support service is not being proactive enough in mission critical components such as this (UI is always mission critical), and decided to meet their responsibilities by refunding. At least that is how I see it.

IMHO this situation shouldn't not have scaled to this. Personally IMHO XHEO bringed that uppon themselfs.

I wonder what would happen with some other guy (me for instance). If I was the one who decided to adopt their software and this happened close to releasing my job would be on the line!!!!

Something to think about.

Nuno Lopes

Comment preview

Comments have been closed on this topic.


  1. How to waste CPU and kill your disk by scaling 100 million inefficiently - one day from now
  2. RavenDB Conference 2016–Slides - about one day from now

There are posts all the way to Jun 01, 2016


  1. The design of RavenDB 4.0 (14):
    26 May 2016 - The client side
  2. RavenDB 3.5 whirl wind tour (14):
    25 May 2016 - Got anything to declare, ya smuggler?
  3. Tasks for the new comer (2):
    15 Apr 2016 - Quartz.NET with RavenDB
  4. Code through the looking glass (5):
    18 Mar 2016 - And a linear search to rule them
  5. Find the bug (8):
    29 Feb 2016 - When you can't rely on your own identity
View all series


Main feed Feed Stats
Comments feed   Comments Feed Stats