Comment roundup: SharePoint as a development platform

Looks like a couple of interesting posts on using SharePoint / WSS / MOSS as a development platform. I was originally going to send this as an email to a former colleague (hi mate!) but thought I would post it instead because I find the debate quite interesting. Remember, the discussion is about SharePoint as a development platform, not as a CMS or whatever else.

I first found Ayende’s post on the topic, which is a response to Sahil Malik’s response to Jeffrey Pallermo’s post on the SharePoint development platform :)

Jeffrey’s post raises the (IMHO) valid issue of the friction of using the SharePoint platform for development, particularly for deployment and builds. Unfortunately his point gets a bit diluted by focusing on the non-issue of being unable to install SharePoint on Vista/XP.

I think one of the stars of the comment trail on Jeffrey’s post is Andrew Connell (MOSS MVP, and pretty decent bloke if his blog, comments and presentation at the APAC SharePoint 2007 conference in Sydney are anything to go by), who has added some very constructive comments pointing out the strengths of the platform lie in the out-of-the-box navigation, security, search, Web Part framework, WF hosting etc, as well as acknowledging several weaknesses. One of the things I found really interesting (although not too surprising) is this part of Andrew’s comment:

“Over hyped? Really… so that’s why it’s the highest growth product ever in the history of the company and closing in on $1B in sales for the latest version in just a few months from now? That’s ALL marketing hype with the other portal solutions and other content management applications out there? Um… I think business decision makers are a bit more savy than that.”

For years now I have had the strong suspicion that people that look to things like as potential Office-killers are missing the main point of Microsoft’s Office strategy. I’m sure they are not too fussed about losing a few home users – they are targeting the bigger end of town with volume licencing. The integration, no, dependency (they are part of the same platform after all) between Office 2007 on the client and MOSS 2007 on the server is where the action is. The complete platform is going to guarantee them a nice revenue stream from medium, big and giant businesses for as long as they can keep pumping up version numbers.

As a further aside, Andrew also writes a  “Not every application should be built on SharePoint… no one is advocating that (no reasonable person that is).” Marcus makes a similar observation:

“I’m not sure you realize how many people right now are investing in SharePoint thinking that it is a “no-code” solution to replacing custom ASP.Net apps, or in some way making managability of those easier. … It doesn’t do that.  Its a content management system (and a good one at that).”

(Sorry, gentle dig… bygones! ;) :P)

The main complaints in the comments revolve around the poor tool support (agreed by pretty much everyone), the poor / barely existent documentation (ditto), and testability, deployment and configuration (over which there is much disagreement). The latter issue brings us back to one of Jeffrey’s original points: the friction of using the platform.

I have personally found SharePoint development (as a MOSS newbie anyway) to be very high friction. The minute you want to go “out-of-the-box” at all you run into all sorts of issues. Even talking to the experts at the recent APAC SharePoint 2007 conference in Sydney exposed so many work-arounds and compromises just to comply with the platform. The session on packaging and deploying custom applications (run by a bloke who really knew his stuff) was filled with advice like “this bit doesn’t work properly, so you need to manually edit this XML, you can copy it from another file in the 12 folder, then adjust the package names and then…”.

Andrew suggests that this is simply a cost of using any platform:

“So I want to build add-ins for Visual Studio. Is it easy? Nope… because I need this and that and have all this work to do just to get my environment ready to build a plugin.

To me the issue isn’t with SharePoint, it is jumping into working within and integrating with platform unlike pure ASP2 development where you building from the ground up.”

I am unconvinced. Yes, I agree there will be a cost associated with using and complying with any platform, but a platform really exists to make your life easier. SharePoint’s big failing in this department IMHO is that the compliance costs are very high, and the platform is too broad. By trying to do everything, it does some things well and some things badly, and in the latter cases it can be very difficult to go outside of the platform. In these cases you start wondering if the whole thing would have been better off in regular ASP.NET.

There are a long list of great comments on Jeffrey’s post, and they make a very good read, if you are interested in such things.