Finding that sweet spot between RIA and Desktop.
I've posted a bit on trust, around prescribing the rationale around why RIA (Rich Interactive Application) is an effective solution - yet - I've not decomposed the approach on when to use RIA vs Desktop.
It's a pretty easy decision really, you first have to figure out where you want to go with your proposed solution. In that you can head down the path of RIA because it has the most elegant story to be told as you can simply say "I wanted it to be cross platform and have more reach".
That's the easy response to describe a return on investment around why RIA is the more effective platform to adopt then say Desktop (WPF / WinForms 2.0). It's also quite flawed in many discussions, because if you were to say the above to me I'd challenge you on it. Not because I want to pick a fight or make a point of belittling you, but more because I'm conscious of the fact that it's an explanation being thrown around way to easily. It also can devalue the proposition made by RIA.
You see, you have to take a page out of Game software development shops, who will wake-up tomorrow and decide to build a game. The concept is their own, but the delivery or distribution is something they ponder, in how do I get my "demon character, killing innocents on the street" in the hands of 12 year olds as fast as I can with maximum reach. Easy response is, well build it for Wii, Xbox 360, PS3 and PSP .. end of discussion right?
Problem, budgets aren't in place and each platform has a unique approach to delivery and whilst the ideology of having maximum reach is there, you however have to face a reality check - which platform has the majority of my customers on it and how easy is that platform to build against.
Same query applies with RIA vs Desktop discussions, yes you can argue majority reach for your customers via RIA is there but at the same time if majority of your customers live in a corporate firewall (typical scenario) then chances are they are using say Windows. You can build your application with minimal constraints if you go WinForms/WPF approach vs say Silverlight/ASP AJAX.
There are many pro's and con's of having both platforms to decide against, so it comes down to establishing the sweet spot between the RIA vs Desktop. I've used a few of my own home grown methodologies in establishing the how around this, and I'll post this over the next few weeks as It's a lengthy discussion. The fact it's lengthy indicates there are a lot of angles that you need to cover to figuring out an effective end result in deciding the actual difference between "potential vs reality".
Example A: "I want to use a multimedia application, so I'm going with Silverlight simply because whilst cross-platform isn't a requirement, they in the end only have Windows XP - I can't use WPF.. as the .NET 3.x framework will have an impact on the customers testlabs, whilst Silverlight won't" - This is a great approach to RIA as the angles have been considered.
Rule of thumb though, is where are your customers today, where are they likely be tomorrow and how fast will it take them to get there. These are typically the first round of research that you should undertake, but be mindful that in reality no one expected Facebook in the early days to be as successful as it is today - the hope was there, but it's actual use today is somewhat of an evolution - in other words expect the customers you target to surprise you.
Capability + Expected Outcome + Hope / (RIA/Destkop) = Chosen Platform.
If you want to journey with me on this discovery of "Finding the sweet spot" then update your RSS feeds and keep an eye out at Visitmix.com as I'll be doing more of my RIA posts via there.