Products

Solutions

Resources

Partners

Community

Blog

About

QA

Ideas Test

New Community Website

Ordinarily, you'd be at the right spot, but we've recently launched a brand new community website... For the community, by the community.

Yay... Take Me to the Community!

Welcome to the DNN Community Forums, your preferred source of online community support for all things related to DNN.
In order to participate you must be a registered DNNizen

HomeHomeArchived Discus...Archived Discus...Developing Under Previous Versions of .NETDeveloping Under Previous Versions of .NETASP.Net 2.0ASP.Net 2.0How to start professional DNN module development? Best practices neededHow to start professional DNN module development? Best practices needed
Previous
 
Next
New Post
7/25/2009 7:36 PM
 

I am thinking about starting to develop my first professional DNN module; saying "professional" I mean to develop and sell a commercial module. Now my problem is not about developing the module itself as I am actually pretty experienced in designing and developing programs. But as I never developed any commercial software I would like to ask for your advises and best practices what to consider beside writing the actual code, e.g.:

  • versioning, bug-tracking, project-management, etc.: Do you use any software-tool for that?
  • testing: How can I test my module best?How can I enable interested visitors to test the module before buying it?
  • protecting: How can I protect my module against piracy?
  • customer support: How many support requests do I have to expect? How can I efficiently handle them? What support do I have to provide and what requests are out of scope?
  • selling: How and where can I sell the module best after it is finished?
  • More suggestions here!

Thanks in advance!

 
New Post
7/25/2009 8:35 PM
 

Great questions.

versioning, bug-tracking, project-management, etc.: Do you use any software-tool for that?

We use SVN for source control.  Bug tracking and project management really depends on your situation.  For a free .net bug tracking app I recommend BugNet.  Depending on your style you can also use it for project management.

testing: How can I test my module best?How can I enable interested visitors to test the module before buying it?

1) Decide the minimum version of DotNetNuke you are going to support. Then create an install for each version until the latest.  You will want to automate backing up and restoring these sites.  Create a test plan which includes clean install, upgrade install and uninstall for your module.  Our test plans are very detailed.  We try and cover every possible interaction, document the intended behavior and account for multiple browsers.

2) Trial versions go along with your plan for licensing and protection.  See below.

protecting: How can I protect my module against piracy?

You can't.  You can only make it more difficult.  Decide what you want to protect.  Protecting your actual code is tough but you can use obfuscation.  Code encryption is also an option, but doesn't work under medium trust.  Protecting and enforcing your licensing is a little bit easier.  Do you want to limit your product to a certain number of portals or module instances?  Do you want customers to activate the product?  Do you want to provide featured or time limited versions? How will you provide the customer with the serial number after purchase?  There are products available to make this easier for you and we have tried most of them.  We ended up building our own solution.

customer support: How many support requests do I have to expect? How can I efficiently handle them? What support do I have to provide and what requests are out of scope?

1) Customers give you money, they expect and deserve support.  The level of support is up to you.  Whatever you decide make sure it is very clear to your customers.  You may want to provide different levels of support and charge extra for more time consuming issues.  For example, offer installation support for free but charge extra for CSS support.  You may want to offer an installation service where you will install and configure the module for a fee.  In that situation, you want to make it clear what support options are available when just getting started.

2) Choose a support tool that allows you to efficiently manage support.

3) If you are just getting started, I would plan on 1 support request per sale.  I'm not saying that's realistic, but you should be prepared.  If you are getting a high number of support request then you should look at your documentation and the usability of your product.

selling: How and where can I sell the module best after it is finished?

Snowcovered, DNN Marketplace and your own site.  Your goal should be to get people to buy directly from you.  It took us over 3 years, but now 90% of our sales are direct through our own site.  Snowcovered and the DNN Marketplace are great marketing tools and a great way to get started.

 

Couple other things...

1) Release schedule - How much time can you commit?  As soon as you release 1.0 customers will be ready for 1.1.  I would suggest releasing 1.0 and have a few features ready for 1.1 and 1.2 within 30-60 days.  Show your customers you are commited.

2) Price - Do you want to make money or be popular?  Free or cheap modules make you popular, not financially stable.  Decide how much money you want to make each month from your module business.  "Guestimate" the maximum and minimum number of licenses you think you can sell each month.  Now set your price to meet your financial goals.  You also need to consider the price points of your competition, but remember you don't have to be the cheapest.  If sales are better than you expected raise your price with your next release.

3) Don't compete with me :)


Will Morgenweck
VP, Product Management
DotNetNuke Corp.
 
New Post
7/25/2009 11:01 PM
 

Thanks for this detailled reply and sharing your thoughts. That's the kind of information I was hoping to get!

The possibly most important:

Will Morgenweck wrote

3) Don't compete with me :)

No, it does not seem so. ;-) Actually I have a very clear idea about a module already, as we were looking for that module when developing a new intranet site but could not find any (!) module which addresses our requirements. Anyways, a self-development was out of scope and budget, so we had to get along with something else. That was the point when I was starting to think about developing it my own.

As it would be a rather big module I have to think about selling it if developing it, to compensate my work. On the other hand developing a commercial module is different than programming some stuff for your own or publishing some freeware. In particular I agree that customers who paid for something deserve to get a good support. If one ever experienced a bad support he will understand it.

So I need this information from you and other professional developers to figure it if I will be able to manage a commercial module or if I better should not start it.

Will Morgenweck wrote

We use SVN for source control.

Yeh, SVN is what I was thinking about to use, too, as I am familiar with it. Is there any way to integrate SVN with VS like it is possible to do with Java and Eclipse?

Will Morgenweck wrote

Create a test plan which includes clean install, upgrade install and uninstall for your module.  Our test plans are very detailed.  We try and cover every possible interaction, document the intended behavior and account for multiple browsers.

Could you describe it a little bit more detailled? With "tes plan" do you mean test cases which define use cases and their expected behaviour?

Will Morgenweck wrote

Snowcovered, DNN Marketplace and your own site.  Your goal should be to get people to buy directly from you.  It took us over 3 years, but now 90% of our sales are direct through our own site.  Snowcovered and the DNN Marketplace are great marketing tools and a great way to get started.

That's interesting. Why do you think that the goal should be to get people to buy directly from you instead of using Snowcovered and DNN Marketplace? Using them I would not have to put a huge amount of effort in setting-up an own site with shop-functionality.

Regarding the trial-version/testing: Some sites let the interested visitor test the module as a demo live on their page. I like that because the developer does not have provide a trial-version and the visitor can test it right away without having to mess his DNN system and put time in installing a module somewhere. Do you know how to set-up such demo sites and e.g. how to roll-back some entered demo.data automatically and how to protect it against people trying to make bad configurations?

 
New Post
11/14/2009 10:24 AM
 

Jens Lemmer wrote

 Will Morgenweck wrote

 

We use SVN for source control.

 

Yeh, SVN is what I was thinking about to use, too, as I am familiar with it. Is there any way to integrate SVN with VS like it is possible to do with Java and Eclipse?

I realize this thread is nearly six months old, but I thought I would answer here in case you never found a solution -- or for the next person who comes along with the same question.

VisualSVN is what you want.  It integrates right in to Visual Studio and makes checking items in and out of SVN a breeze.  I've been using it for about 4 or 5 months now, and it's well worth the $49 cost.  They also make a free VisualSVN server that I run under Windows 2003 SBS for the backend.

Jens Lemmer wrote

Could you describe it a little bit more detailled? With "tes plan" do you mean test cases which define use cases and their expected behaviour?

I don't want to speak for Will, but that's what I suggest.  By actually writing out a test plan, you make sure you don't miss anything.  Programming is complicated stuff.  One seemingly innocuous change might break something elsewhere in your module.  Only by testing thoroughly can you be sure you don't miss something -- which won't make your customers happy and will make more work for you in the long run.

Jens Lemmer wrote

 

That's interesting. Why do you think that the goal should be to get people to buy directly from you instead of using Snowcovered and DNN Marketplace? Using them I would not have to put a huge amount of effort in setting-up an own site with shop-functionality.

Any 3rd party you use to sell your modules is going to take a cut of the sales.  Snowcovered, for example, takes 25% of the sale.  If you were to sell the module directly on your web site, you can cut your loss back to 3 or 5%, which are common discount rates for Credit Card Processors or PayPal.  In essence, you make an extra 20%. 

 
Previous
 
Next
HomeHomeArchived Discus...Archived Discus...Developing Under Previous Versions of .NETDeveloping Under Previous Versions of .NETASP.Net 2.0ASP.Net 2.0How to start professional DNN module development? Best practices neededHow to start professional DNN module development? Best practices needed


These Forums are dedicated to discussion of DNN Platform and Evoq Solutions.

For the benefit of the community and to protect the integrity of the ecosystem, please observe the following posting guidelines:

  1. No Advertising. This includes promotion of commercial and non-commercial products or services which are not directly related to DNN.
  2. No vendor trolling / poaching. If someone posts about a vendor issue, allow the vendor or other customers to respond. Any post that looks like trolling / poaching will be removed.
  3. Discussion or promotion of DNN Platform product releases under a different brand name are strictly prohibited.
  4. No Flaming or Trolling.
  5. No Profanity, Racism, or Prejudice.
  6. Site Moderators have the final word on approving / removing a thread or post or comment.
  7. English language posting only, please.
What is Liquid Content?
Find Out
What is Liquid Content?
Find Out
What is Liquid Content?
Find Out