Friday, June 12, 2009

RIA Services Ain’t Cheap

I’ve been fielding questions recently about the differences between RIA Services and our DevForce product. We both help you move data across the web in a Silverlight business application so it’s natural to compare.

Inevitably I get some variation on the following:

Why should my company pay for DevForce when RIA Services is free?”, they ask. “My company doesn’t like to pay for software.

I’m a passionate guy … so a small tantrum begins in my head: “You’ve got to be kidding. Do you work for free? Does your boss work for free?” I want to go off like Harlan Ellison.

Then I chill a bit and I make mistake #2: I start to enumerate the many ways in which DevForce goes way beyond what RIA Services does today or will do even when it arrives for real some time next year. You’ll find such an inventory on our website where we sound three themes:

  • Production-ready now
  • Maturity
    • Seven year head-start
    • Real customer and field experience
  • Features you need

Then I realize that all of these details are secondary. The real question is about economic value. “Speeds and feeds” are nice but your company wants you to net it out … make it simple. So here it is.

DevForce is the far better deal!

In fact, it’s a no-brainer … assuming they pay you more than $0.00 per hour. Let’s do the math.

What is your time worth? $80k per year? Your load factor (benefits,  facilities, management, etc.) is probably about 1.4 … even if you work for yourself. That makes your annual cost $112,000 or about $65/hour if you are actually productive 35 hours per week (don’t count meetings. meals, emails, twitter-time, and general BS).

Right now you can get an unrestricted DevForce Silverlight developer license for less than $1,000 and there are no server or runtime fees.

By my calculations you breakeven after a mere 28 hours of added value.

Now print that inventory we prepared and throw a few darts at it.

After each hit, ask yourself how long it would take you to implement that feature or compensate for that deficiency. For example, how long will it take to

  • Re-write your RIA Services calls after the latest overhaul of the API
  • Find out why it’s taking so long to fetch data … what’s it doing anyway?
  • Re-deploy to multiple servers because you needed to change a query
  • Save the user’s pending work locally so it isn’t lost if the connection drops or the app crashes
  • Confirm immediately that the just-entered “before date” is earlier than the “end date”
  • Execute a sequence of asynchronous tasks, accounting for exceptions thrown anywhere in the chain
  • Stop an employee user from seeing the social security number (although an admin user can)
  • Test with in-memory persistence operations that don’t go to the database.
  • Configure and switch among dev, test, stage, and production environments.

You get the idea. A few darts land on “I don’t care”. Many more pierce issues that really matter to you … and 28 hours disappear in a flash.

Talking to Management

You’re sitting down with your manager trying to explain the options: “We could build the application with raw WCF Services or RIA Services or DevForce. … This approach has this feature but that one doesn’t yet so we’d have to build it … or we can wait until … when they’ve said that …” Blah, blah, blah.

You see the eyes roll back in his head. He doesn’t know what you’re talking about and isn’t sure you do either. All he remembers is that he either has to write a check for $1,000 or he doesn’t. You get to tell him why he should in the simplest possible terms:

Breakeven in 28 HOURS … after which it’s all upside.

Even your manager understands that!


Ward Bell said...

And another thing ...

You will notice that I did not trash RIA Services. I wouldn't do that.

I am saying that we're "better" ... for a lot of folks. Better enough to be well worth your money.

Why would I be doing this if I thought otherwise? I'd be crazy to be working this hard if I didn't believe we offered a lot more.

Do you think Infragistics, Telerik, Developer Express, and all the rest don't think they're better than raw .NET controls? Of course they do!

So we're competitive with RIA Services. Like two basketball teams going at it. They've got game; we've got game.

But there's respect. Brad, Nikhil ... I talk to these guys often and we share a common, burning desire to see Silverlight be the platform of choice for business apps on the web. We want the league to succeed.

We want all of you to get off your butts and start writing Silverlight business applications.

This post is here to fire you up ... and get serious about building Silverlight applications.

LeadZoomer said...

It's very important to invest on that application which can give you not only reliable solutions but should be easy to maintain. There is no doubt that RIA Development is one of favorite application of developer.

Anonymous said...

It was very interesting for me to read that article. Thank author for it. I like such topics and everything connected to them. I would like to read a bit more on that blog soon.

Miguel Madero said...


I'm comparing both technologies and really. Those 28 hours are nothing. I really like how you put in terms of economic value, but I don't think that's the only factor. I hope it was so easy to sell to management as just numbers. I've fought this battle so many times when it comes to 3rd party controls the cost of the license isn't the only concern and usually not the main one. I've faced managers that would favor MS products not because they're free, but because they're from Microsoft. Then they add a lot of arguments like warranty, reliability, quality, customer support, dealing with different providers, "who says the 'other' company isn't going to disappear in 1 year". We could debate all of those and I've and I'm sure you have as well, but my point is, there's more than cost to it.

Some examples of this are Unity vs Ninject (both Open Source), Data Dynamics vs SSRS (the MS offering is way more expensive), SL Toolkit vs Telerik, Any 3rd party control vs Let's do it ourselves (cerainly the most expensive option). I'm not saying one is better than the other, but the problem is that quite often the hand is lost before we even draw all the cards on the table. This is specially true on big corporates.

It's a shame that a lot of really good 3rd party vendors don't have the place that they deserve because some companies are just to close minded to even consider them, but I can see things changing.

Anonymous said...

Rather cool site you've got here. Thanx for it. I like such themes and anything that is connected to them. I would like to read more soon.

Anonymous said...

The value in your product is there. The problem with going third party is the vendor lock in with no source code and a whole other layer of magic to trust. Of course I don't have source to WCF RIA either. When comparing third party controls, I would go with Telerik because they offer source code. It is not that I want to recompile and ship a custom build of their toolkit (although it is a nice feeling knowing that you can in an emergency). It is more for the assistance in debugging.

Ward Bell said...

3rd party vendor lock in is a legitimate concern.

Most of us are resigned to Microsoft lock-in. But, like you, I'm reluctant to build on a foundation from 3rd parties unless I really need to do so.

That includes open source, btw. OS is easier to swallow in that I can see the code ... maybe even change it. On the flip side, OS development moves in fits and spurts and generally scores low on documentation and support ... even for the widely used stuff.

Still, I'll do it if the value is there. I've done it with 3rd party UI control vendors and never been disappointed.

Oh, I've been disappointed by some of the controls. That kind of disappointment is inevitable with any product, regardless of source. But the ROI of the decision in favor of 3rd party controls became so obvious that I never felt regret.

We hope people feel that way about DevForce. And we are doing what we can to mitigate concerns.

First, if you need source code, you can get it. You have to pay for it but it's affordable to someone with enterprise or commercial intent.

Second, if you need source code for any particular thing, write us ... chances are we can give you that.

Third, there's always reflector :-)

Fourth, we are consciously steering out APIs to align with RIA Services APIs so that there isn't a huge mental leap across the divide where the two products do the same thing.

Of course our product diverges where we believe it should and there are important differences as you move beyond the demo / first-app kind of thing.

Nonetheless, we hope that the similarities and source code availability combine to reduce your anxiety on this score ... so you can proceed with DevForce with confidence