Best practices for building a web design app for both download and SaaS version

I am thinking of 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 application and their web server.

An example for this business model is FogBugz .

Question: How do I create my web application so that it

  • Fulfills the above needs.
  • easy to transfer updates to both versions.
  • Configurable on the front of the SaaS? That is, for customers who use our on-demand service, there may be different individual versions running on our servers. It's a lot like Fogbugz On Demand, users can have their own schema database on the backend and so the bug tracking process may be slightly different from others.

Edit: Oh yes, a download of the version is required because users can instead use their data on their servers.

Not sure if there are objective answers to these questions. But I would appreciate any help and suggestion.

0


source to share


2 answers


Are you sure you need download version?



  • Providing reliable installers for database-backed web applications is not a trivial task. I remember Joel commenting (long) while a huge percentage of their calls for support for FogBugz were installation related.

  • Pushing updates in a SaaS environment is more straight forward, providing an update component for an application installed elsewhere, and you can usually control (and customize) the update policy in a SaaS environment.

  • All of the time you spent developing and testing your setup and updater might instead be spent improving your feature set, which has a much greater impact on users.

  • Customizability depends a lot on how the product is implemented. If you assume the SaaS offering will be multi-core, you obviously cannot change the database schema as part of the product. You can use a database for each client, which will be more resource intensive. Or store the extensions in a table that stores the tuples (field, key, value). This is expensive at run time, but may be acceptable depending on the data access.

  • From a SaaS business perspective, products tend to be subscribed, so you get recurring income every month, instead of one payment to download. The lower initial cost of the SaaS product makes it easier for customers to start using their product.

0


source


I would look at the parts of your stack that the downloaded version would have in terms of size and cost.

eg. you will need a database of some kind, but the price / size of each can be the limiting factor for your sale. If your maintained DB has a hefty price tag, it will likely hinder sales.



Better yet, if your application can run across multiple databases (e.g. Oracle, MySQL, Postgres, SQL Lite, MS SQL Server), then your customers can either use a free / cheap database or use an existing internal database.

0


source







All Articles