Recently there was a question on the forums from Bill Krat asking about p&p’s commitment around the future of SCSF/CAB. I can completely understand where Bill is coming from and I am sure many customers are wondering the same thing. For this reason I am going to reproduce part of that thread. Below is his reply to my initial answer to his question. That is followed by a follow up reply from me doing my best to address Bill’s concerns. For the full thread, you can go here.
"We actually have committed to CAB/SCSF"
This is encouraging but confidence in it’s future was seriously shaken when the Acropolis CTP was released and the official word was that there would be no new releases to CAB/SCSF with talk of migration paths to Acropolis being made. It seemed odd that it was so quickly put to pasture for a CTP even while the team seemed to constantly remind us it was only a CTP (so as to not get to embedded in it)….
Had Acropolis survived, CAB/SCSF would have had no future – it was far to powerful, easy to use and integrated into Visual Studio; my concern is this will not change when the next "Acropolis" emerges. As a contractor I can justify CAB/SCSF’s learning curve for a new .NET staff (because of best patterns and practices) but would require assurances, as I trust other developers would, before I could recommend starting a new project using CAB/SCSF; in light of recent events I’m left with no choice but to recommend against its use.
"We are also not ruling out the possibility of further enhancements to SCSF"
What I believe we as a development community require, as we turn to Microsoft for the direction to take, is a commitment to "a direction" so that we can safely invest our time and clients resources in it . The statement "not ruling out the possibility" lacks commitment and suggest to me that SCSF does not have a future…
I’ve been a Microsoft Crony since the early 80s and have learned that it doesn’t pay to stray from the "Microsoft Supported" yellow brick road; life seems to get easier and easier as you stay on it (Visual Studio rules!) so I’m just doing a wait-and-see for the next "commitment" that I can commit to.
My follow up
In patterns & practices our goal is to help customers solve challenges with the platform. As the platform evolves and new solutions emerge for solving those same challenges, we help customers move from our guidance to that new platform. This is our commitment. We also will continue to assess the problem space and look for other challenges. Had Acropolis survived, we would not have killed CAB, however we would have focused our efforts on getting customers from CAB to Acropolis. We would have also looked at guidance on building solutions using Acropolis and what challenges were there as well. As the direction has changed and the platform answer is several years out, it makes perfect sense for us to refocus our efforts back on CAB and on the new challenges with WPF.
I understand your concern about assurances. The one assurance we can give you beyond the shadow of a doubt is that you have the code. Regardless of what direction we go with the guidance in the future, the code is yours to maintain and extend. We’ve designed it specifically for these two reasons. We don’t consider our deliverables like SCSF/CAB, etc products. We consider them guidance in the form of code. 80% solutions. For some customers they are 110%, and for others they are 80%. For this reason customers have the code so they can tailor it to meet their needs. Historically in p&p, we do not pull our guidance from the shelf. We may not do any future releases for a host of reasons, but the code in it’s latest version is still available for download on CodePlex. Additionally our sustained engineering team continues to provide support. For example our SE team still helps customers with UIP and the App Updater block which we shipped many years ago.
As far as the statement, it is an honest statement. SCSF is mature. We know this by many successful implementations that our customers are building. WPF however has not such answer. WPF is a new platform that customers are desperately needing guidance for, particularly around building Composite Apps. For this reason our focus now is on building a new set of Composite WPF guidance to address those needs. Yes there are certainly things we could do to improve SCSF/CAB, but with limited resources, we can’t do everything. BTW, the fact that we announced that we are revving SCSF for Visual Studio 2008 is a proof that we are committed. And the other statement still stands, we are considering possible future revs. For example we are looking at ADO.NET Synch Services and the offline story as one example.
As to the future platform answer, again I’ll reiterate, it’s several years out. We are working actively with the UIFX team to insure that we are going in the same direction. And as always we will be committed to help customers get from here to there when the timing is right.