I am thinking about offering two versions for my web application product:
- Software As a Service, where people access my applications via a URL
- Download version. They can download my web app and host it themselves on their web server.
An example for this business model is FogBugz.
Question: How to design my web application so that it
- Fulfills the above needs
- is easy to push upgrades to both versions
- is Customizable on SaaS front? That is, for customers who use our on-demand service can have their slightly different customized versions running on our servers. It's much like Fogbugz On Demand users can have their own different database schema at backend and so the bug tracking process can be a little bit different from others.
Edit: Oh yes, download version is needed, because the users can choose to host their data on their servers instead of mine.
Not sure whether there are objective answers to these questions. But I would appreciate any help and suggestion.