I am posting this here because I'm unable to post under the General Web Development forum...


I have a small publishing company. We sell educational programs, and our main product is a patent bar review course.

Our current course is paper books, audio CDs, cardboard flash cards, and one software CD.

I would like to convert the course so that it's all on-line. I am concerned about both getting the project done, and getting support afterwards.

In my mind, the project consists of 2 parts.

The first part should take orders, and charge credit cards using authorize.net's option where the user is sent to their site, the information is entered and card authorized, and then some of the information is sent back. That way we don't have to deal with credit cards, PCI compliance, etc. The user will be able to create a login and password, and access a small subset of the material for free. The user will be able to purchase 2 versions of the course, one having an extra set of introductory videos (for a higher price), and the other without. The user should be granted access for 3 months (sort of like a subscription), with another 3-month term which the user can activate at some time in the future (either right after the first one expires, or later if the user chooses). The user will also be able to purchase additional 3-month terms for a lower price.

The second part will be the presentation of the online course. This will include a series of web pages (probably database-generated) that the user can access, audio and video recordings that the user can play, questions which the user can take (stateless), some kind of flash-card app. It will also need to pass the user name to our current online exam simulator (written in PHP) in a hidden HTML field. There may also be two revisions of the course at once (depending when the user will be taking the exam), so between the free, paid, and premium, with 2 revisions of each, we could have up to a total of 6 versions of the course at once.

It will also need some kind of editing functionality for the HTML content, having about half-a-dozen paragraph types, plus bold, underline, italic, and strikethrough. The content is currently in Adobe Framemaker, which produces fairly clean results when exporting to HTML.

I would like this to all be hosted on a RackSpace CloudSite web hosting account (which have databases available). I could do it on a server (virtual or real) if required, but I've maintained a Debian server in the past and I'd rather not take on that responsibility again.

I got a quote from a company I found on google for $75,000 for the project, and they wanted to implement it in .NET.

A few questions:

1. Should I use Linux/PHP or Windows/.NET? It's not much more complicated than your average porn site (selling access to content). My friend who does web design says he can do it for a few thousand in PHP, but if it's going to take $75,000 worth of development in Windows, it must be incredibly inefficient (I know nothing about .NET, only Linux)

2. How much should I try to design myself, vs. give to the programmer(s) writing this? I generally have a pretty low opinion of the design abilities of programmers, judging because most of the software I've ever used, even from big established companies, has many bugs, poor interface design, and doesn't seem like it was designed by someone who truly understood the business they were programming for. And this doesn't even take into account the many software projects that can't be finished.

3. Should I go with an individual developer or a software company? Do I really get 20 times the value from a company? I could hire an individual programmer for a lot of hours for the money a company wants to charge. And, how do I find a good programmer or company? It's notoriously hard to know how good a programmer is before you've worked with them, and failed software projects are incredibly common.