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,128 | Comments: 45,550

filter by tags archive

Your design should be focused on your competitive advantage

time to read 3 min | 463 words

Yesterday I had an interesting talk with a friend about being a Micro ISV. I am not sure how good a source I am for advice in the matter, but I did have some. Including one that I think is good enough to talk about here.

Currently my company have two products:

Both of them came into a market that already had strong competitors.

In the case of Uber Prof, I am competing with SQL Profiler, which is “free” (you get that with SQL Server) and the Huagati suite of profilers which are significantly cheaper than Uber Prof. In the case of RavenDB, MongoDB and CouchDB already had the mindshare, and they are both free as in beer and as in speech.

One of the decisions that you have to be aware of when creating your product is what are the products that people are going to compare you to. It doesn’t really matter whether that is an accurate comparison or whether they are comparing apples to camels, but you will be compared to them.

And early on, you have to decide what your answer is going to be like when someone will ask you “why should I use your stuff instead of XYZ?”.

Here is a general rule of the thumb. You never want to answer them “because it is cheaper than XYZ”. Pricing has a lot of implications, some of directly affect the perceived quality of your product. It is perfectly fine to point out that it has a much cheaper TCO, though, because then you are increasing the value of your product, not reducing it.

But those are general advices that you can get anywhere. My point here is somewhat different. Once you decide what you are doing with your product that gives you a good answer for that question, you have defined your competitive advantage. That thing that will make people choose your stuff over everyone else.

Remember, competing on pricing is a losing proposition – and the pun is fully intended here!

But once you have the notion of what your competitive advantage is going to be, you have to design your product around that. In essence, that competitive advantage is going to be the thing that you are going to work on. Every decision that you have is going to have to be judged in light of the goal of increasing your competitive advantage.

Can you try to guess what I define as competitive advantages for Uber Prof and Raven DB?


Patrick Smacchia

I agree with what you said on prices, competing on price is a losing proposition.

I'd say the best advice I ever received as a micro ISV is about having the most user-friendly product as possible. Being user friendly demand a tremendous effort, and having a product super user-friendly put it apart from competition.

In short, enhanced ergonomy can be a competitive advantage for any product. Proof by example:



I think you're confusing 'whether' and 'whatever'. Just sayin'

Ayende Rahien


That is very likely.

Fixed, thanks

Matt Warren

I guess the RavenDB competitive advantage is the .NET integration, i.e. you can do everything directly in .NET

Frank Quednau

Let's take NDepend and look at RavenDB. Your competitive advantage should lie in the parts of the system that return the best metrics.

It's as simple (or complex) as Evolution. The human species' competitive advantage is (arguably) the brain. Much effort has gone into that thing. It is generally well designed. Now let's look at our denture. Would we derive any competitive advantage to be able to chew better than other species? Not really. Look at how shit it's designed.

Compare this to a Shark whose competitive advantage is to be able to chew on virtually anything. The shark's denture is an amazing piece of design, while its brain is, well, it will chew on pretty much anything it sees.

Ayende Rahien


You should be aware of pricing, but you should not compete on pricing.

In other words, if you are trying to sell yourself as the cheapest thing in the market, there is always going to be someone who sets the price at zero.

Competing on pricing with software is a losing proposition because you have no per unit costs, so someone can always just reduce the price below what you want to.


Frank, I thought you define the competitive advantage before coding the application, not after analyzing the code :) But this is a new, very interesting area - a profiler that helps you find the competitive advantage over other software. For example: you discover that your product is a shitty database server but works great as a sudoku solver (I wasn't thinking about Raven here).

Frank Quednau

Rafal, nice one!

Ayende is making us guess, and I was too lazy to figure it out, hence the proposal to figure out what he was after. I really do hope he knew what he was going for in the beginning :)


there's one thing that is often forgotten: Focusing too much on price can mean that the customer as well as supplier forget about the value that a piece of software brings to their business. My experience is that many software projects are grossly underpriced because people looked too much on effort taken rather than the value (or competitive advantage) that the software would bring. Due to this underpricing, many software systems cannot deliver where they should.


@Frank, I don't know about the underpricing. there are many things in the world that are based on cost of effort. Most manufactured items I believe are priced this way. Look at computers: the value they provide is going up yet their price is going down.

@ayende I have not used RavenDB but I have used Uber Prof and I must say that one of your advantages is the quick cycle of feature releases,. Your product is probably more user-centered than any other product on the market. For RavenDB if I had to guess I would say that it is probably the first viable .NET Document Database, especially with its multiple API usages.

Jason Meckley

competitive advantage: zero friction

Capn Ob

Is this post a ploy to crowd-source your competitive advantage statement?


In my mind the best things to compete on are intangibles, for example if you look at the fashion industry or the automotive industry they focus on luxury which isn't something can directly measure.

Apple are a great example of a company who prices their products using the perceived value, not on a retail value. Their manufacturing process is so tight that their end to end costs are probably comparable with someone like Dell. If you take into account their use of slightly more durable materials it would be possible for them to price their products more competitively and still make a profit. They might sell more computers that way, but why bother? Their pricing attracts the right kind customers (you might not agree with this!) and their profit margins are higher.

If you're selling product would you rather sell 10,000 units for $10 or 1000 units for $100? In the latter case your margins are higher, your overheads are lower (for example less support costs, disputes etc.... ) and the customers you DO attract will likely be the kind of customers who will have researched the product.

I see the competitive advantage of raven as it being the canonical document database for the .net ecosystem. It's easy to setup, easy to use and has an API that will be familiar to the .net programmer.

While I personally love couchdb setting it up on windows is a pain, their bindings feel icky to a .net programmer and the source code isn't parsable by a .net programmer. I can't extend it using the tools I use already and it doesn't follow the same paradigms I'm used to from using nhibernate or entity framework. If I was writing a rails applications I would use couch over raven, but if I'm writing a .net app which will ultimately be deployed on windows I'd rather shoot myself.

Sorry for the wall of text. I just drank a huge coffee.

Michael L Perry

Competitive advantage of RavenDB. I have to agree with Matt: .NET integration. It seems that Ayende spent an inordinate amount of time creating a linq provider.

Competitive advantage of UberProf: advice. Other profilers tell you what's happening. UberProf tells you why it's bad.


I can't think of any clear competitive advantages to Uber Prof or Raven. But I'm not a user of these tools so maybe its just my ignorance.

First of all, they don't have a real competition because they are occupying very tiny niches and will be bought by specialists to handle very specific tasks. How many ORM profilers are there now (I've never heard of Huagati)? I thought the UberProf selling point could be the fact that it supports all known ORMs, but in fact no one uses all ORMs in their software - probably only one or two in extreme cases. And for Raven DB- it's the only .net native document database with capabilities roughly matching other document dbs so the advantage could be in the fact that it's .net. But does it really matter how your db server is implemented if it just works? Before buying a db server I'd carefully check its capabilities vs my app requirements and verify the performance, so I think these features should stand out.

Ayende Rahien


When I am talking about Uber Prof, I am talking about all the profilers and each of them. Not about UberProf as the product, but about each individual profiler.

From my point of view, all of them is a single product.

João P. Bragança

IMO the competitive advantage is the super fast turnaround on bug fixing / new feature requests.

Steve Py


For a 1-off sale $100 x 1000 may be good, but for longevity, $10 x 10,000 is far better. A piece of software's effective lifespan is typically quite short so you're always looking to keep it up to date and competitive. Software sales travel by word of mouth so having 10,000 users out there hopefully spreading the word is better than 1,000. It also minimizes the impact when competing products steal a customer from your next version, and makes it a bit more difficult for them to steal them in the first place.

I agree that competing on price is not a good idea, but when you're up against stuff that is "perceived" as free, you've got to be able to provide some very compelling reasons why users should pay for your product. (Especially when you aren't a behemoth organization like MS, Oracle, etc.) Often the people that need to be convinced aren't the people using the tool, it's the managers etc. that authorize the expense. Smart managers will do the math to equate time saved as $ and worth the price tag, however many managers don't.

Luke Schafer

@Steve Py

Great point. Further to your comment about increasing word-of-mouth; the total market share is higher so there is more chance of exposure, and therefore more chance that people will take the desire to use a product to their next job, where more licenses will be bought.

Ayende Rahien


If you effective software lifespan is short, you may be right.

My view is that if you have short lifespan, that is not an interesting project to me.

Put simply, it is quite easy to spend 100,000$ of a piece of software. If you can only get 10$ x 10,000 on it throughout its lifetime, it is totally un-interesting.

But if you can continue getting that money over a long period of time, that changes thing.

Steve Py


Yeah, my point was just using his example figures. I would hope that was maybe a month's sales type scenario.


competitive advantage: A blog with many subscribers who trust you to build a useful product.


The biggest advantage is your blog and your name. For Uber Proof there is an additional effect that you have worked a lot with NHibernate but for Raven it is just basicly your name and our trust in you making a good solution. That these are actually good products help (only used nhibernate profiler)

Arnis L.

Wow... Now that's what I call advertising!

Like everyone here now seeks what competitive advantages of Your products are. And coolest thing - that's not cheating, this blog post provides really useful information. o_0


The last three comments made it. The main advantange is that the products come from Ayende.

Frans Bouma

You defined what's called 'Unique Selling Points' or USPs. It's critical that a product has USPs and they should matter to your target audience(s). Having USPs alone is not enough: if your target audience doesn't give a **** about them, you won't sell anything.

This shows the deep connection between USPs, target audiences and 'benefits sought' by the target audiences. The product with the best defined USPs which apply the most to their target audiences as they match the best with the benefits sought of those target audiences wins.

It's very hard but essential to get all 3 aspects defined and you get insight in those 3, starting by your USPs, as that's the easiest. The hardest is the benefits sought by your target audience, as every individual of course thinks he/she has a unique demand.

It's also simple to see why some products fail or in the end fail: they lose the match with their target audience's benefits sought: other products match better or the target audience changes, shrinks or goes away completely.

Comment preview

Comments have been closed on this topic.


  1. The worker pattern - 16 hours from now

There are posts all the way to May 30, 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