3 ms·
Just build a plugin/extension system. Then you have a base product you market to new customers and a developing marketplace of plugins which you can likely sel
by FLUX-YOU 9y ago
Just build a plugin/extension system.
Then you have a base product you market to new customers and a developing marketplace of plugins which you can likely sell for a lot if your product is focused well enough.
- netfire 9y agoThen you have to support changing said system and it may make it difficult to change your product as needed. Plus you've got to setup the marketplace, payment processing, add documentation and market to and support third party app developers. Unless you've already reached scale (or have other products that have -- like Google, Facebook, etc), this is probably a dangerous option.
- GlennS 9y agoI really don't thing this is a good answer by itself. For a start it's taking a punt. Before deciding to build a plugin system, you need to decide in which dimensions it will allow extensibility. The answer to that should not be 'all of them', because then you've just badly reinvented a general purpose programming language without the tooling and with more awkwardness (c.f. Spring). Plugin systems also increase code complexity. Extensible software is usually slower and less reliable than software which doesn't, even before you actually add any extensions. Lastly, software has to have a big enough market of developers to create and maintain the plugins. So this works well for e.g. Emacs, but for each success story they are more specialized or less popular tools with a failed plugin ecosystem. Consider Mediawiki as a cautionary tale. It's a big, popular piece of software with a lot of extensions. Most of them are unfinished, unmaintained, untested, insecure.