I have done this a few times. A couple times on my own and twice as an integrated
part of a management service. This is less of a suggestion about what fits your
goals than what has worked for me.
My goal is to get paid on a regular monthly schedule based on the service
which is provided by the software product. The subscription model works best
when I'm providing an essential service, which is typically vertically integrated
to address the needs of the client's business (e.g. medical billing services).
My first foray into this business model resulted in ~50 clients, each paying a flat
monthly fee. I offered a "one size fits all" service, after seeing similar businesses
flub it by offering segmented "al la carte" options. The former strategy reduces
the number of decisions your client makes and reduces the negotiations over
fees . You can offer some customization, but make the hourly rate high enough
so you can pick and choose which features are worth spending time on (i.e. which
features will enhance your overall product).
The products that I provided were essential to the businesses. They could replace
our product (at significant switching costs), but they could not run their business
without an alternative product offering similar features.
You want to avoid working on projects which fall into the client's "nice-to-have" category.
For example, on multiple occasions we've been approached by another software
company which had a cool project they wanted us to integrate into our product.
They generated a lot of buzz about their product and I was impressed with their
technology. However, they built something that nobody would pay for -- none of
our clients would have been willing to pay extra for the feature (and I wouldn't be
willing to segment our product anyway), so they couldn't find a market for their
product.
My observations applies to vertical products, which have more opportunities and less
competition than horizontal products. These are ideally suited to domains which
have regulations which must be adhered to: insurance, legal, real estate, medical,
etc.
Most users will expect a mobile version of your application, running on Android
and iPhone. A mobile app is essential for horizontal products, but increasingly
users expect mobile versions of vertical applications. Our current app only runs
on Android, but we have a platform capable of working on iPhone if user demand
ever justifies the effort.
I've never developed a horizontal product, so I have no competence in that area.
-Rubic