I started a personal project a long time ago (early summer or so) that I had hoped to already be finished with. I initially setoff to use MOSS (Microsoft Office SharePoint Services), in particular I wanted to use Forms Server because it seemed to be a perfect fit for what I was doing.
I showed it to my partner and he seemed ok with it until I mentioned the price tag. He freaked. To a large degree I don’t blame him. Dropping $30,000 just for software is insane when you are used to using open source software and paying $9/hr for coding.
The result is that I basically stopped. Why? On one hand it meant that I had to start over from square one. On the other hand I was dealing with a fairly difficult client. Throw in family and some play time and basically the project got stuffed in the back corner.
Being a bit OCD though I couldn’t leave it alone so a few weeks ago I started again. This time I was going to just do it using straight ASP.NET and SQL Server. I did a bit of design, planned out the features and started coding. And then I really got depressed.
For the entire year I’ve been developing with CRM, SharePoint and BizTalk. Why on earth would I hand create a table to hold contacts? Never mind creating a web-page to view, edit, search, and etc. The more I tried to work on this the more I rebelled against it. This is stupid!
So over the weekend while enjoying the twisty roads of Northwest Arkansas I decided that I don’t need MOSS, WSS (Windows SharePoint Services) would do what I need. WSS is a free feature of Windows and can be hosted for only a little more than a normal ASP.NET account. I’ll still have to do some coding, but some really major pieces of functionality are provided for me right out of the box.
Being even smarter I’m also grabbing a few pieces from CodePlex that provide pieces of my application’s functionality readymade. In one case this is saving me a week worth of coding.
The point of this is that before writing a single line of code you really should look around first. For instance, by using WSS I’m getting a ‘free’ UI framework, security framework, a component management framework (you can switch WSS features on and off via the admin tool) and I’m sure a few other nice benefits. Grabbing an appropriately licensed bit of open source code also saves time, even though I have to give up some time learning the API and possibly debugging and testing their code. Thing is I’m way ahead of where I’d be otherwise.
Tonight I cleaned out the old version of my project from SharePoint and started over. In about 5 minutes I had all of the UI stuff in place (just created a site collection) which was way more than my ASP.NET project had. It took about 10 minutes to create most of the basic entities for the application using SharePoint lists. What remains is the core application which will still require some coding and an application database, but it’s a lot less than I’d have to do otherwise.