Dave Bettin writes about his experiences doing a user group presentation on Indigo. His main disappointment was that few attendees seemed to know about Indigo or the existing ASMX web services in .NET. This got me thinking about how to get the message out about distributed apps, service-orientation and Indigo. Is it the case that most developers need to be educated about the benefits of scalable, distributed, service-oriented apps or is it that they don't need these approaches to solve their business problems?
Dave's feedback is similar to Clemens' experience earlier in the year, where he spoke of the difficulties selling the relevance of Indigo today before he settled on explaining the 'why' over the how. Both Dave and Clemens' experienced the same difficulty making the connection between Indigo and developers' jobs today. Clemens' says that one of the barriers is that people think Indigo is only going to be relevant for 'Big Apps', when in fact it will be important to anyone who builds apps that expose functionality to other apps.
One argument is that in order to get more interest in Indigo we need to educating developers about the benefits of services and distributed apps and get them to stop writing monolithic apps and start separating the logic across tiers and services. We need to teach them more about the benefits of the services and distributed application approach, such as scalability. Sam Gentile touched on this sentiment when he wrote that most .NET developers don't grok distributed computing.
The other position regarding evangelising Indigo is mentioned by Alex Lowe in a comment on Clemens' post, is that:
Of course, we know that in the real world there are lots of applications that don't expose functionality to other applications. There are plenty of line of business applications for small and medium businesses that don't require ASMX, Remoting, and in the future Indigo.
Alex also has a summary post on his position where he says that the number of applications that need (and by extension, developers) that actually need to know about how to architect scalable applications is low. He argues that bloggers are a distorted sample because they represent the group that need to build scalable distributed applications and they are generally well up on things.
I'm interested what other people think. Is the problem that most developers don't understand the benefits of service-oriented distributed applications or is it that most developers are writing apps that wouldn't benefit from service-oriented distributed applications? What business application scenarios are most likely to benefit from adopting service-orientation and Indigo?