I had a large company that wanted to buy a copy of PainlessSVN. They have a very convoluted buying process. I was down to the last step, which was to send an invoice. Here's where things broke down...
I had initiated a purchase order process through FastSpring. Unfortunately, this customers pays using SWIFT transfers, which FastSpring doesn't handle at this time. This meant that the purchase order and invoices that I had sent would not work for this customer. They needed an invoice that was initiated from SystemWidgets, instead of FastSpring.
Enter Zoho Apps. I had created an account with them early this year, but had totally forgotten about it. I signed up for their free account. I went and looked, and lo and behold, they now have an invoicing app. I setup the info in about 2 minutes. Then took me about another 2 minutes to setup the invoice. That was mostly because I had to hunt down the billing address for the customer, and also enter information on PainlessSVN itself.
So total time from login to sent invoice: 4 minutes. I'm impressed!
Zoho Apps has a bunch other web applications that I didn't notice before. Time to explore!
I had somebody ask me for specs on Twitter about the modules that I would like to see. I call this list the Micro Independent Software Vendor (mISV) pack.
I don't have the time to create something like this, but I do know that there is serious interest in having an integrated solution like I outline below.
Customer Licensing Center
- Gives the ability for customers to see what licenses they currently own
- Allows admins to import sales/licensing information from external license tracker systems.
- Allows admins to match imported customers to existing accounts, or create new ones.
License Dispenser for DNN Portal
- Allows admins to setup a license dispensing system, either custom or 3rd party liscening schemes.
- Allows admins to do online activation of their software.
- Integrates with gateways like FastSpring, Plimus, eBay, and Google Checkout.
- Integrates with customer licensing center.
Opt-In Email Marketing
- Allows admins to send reminders to customers for any expiring license subscriptions.
I think this can be already be done with DataSprings Opt In Email module.
- Allows admins to integrate with their DotNetNuke portal
- Allows integration with their current version control system
There are many good stand-alone web products in this category, but I find it infuriating having to send customers to a separate web app. Heck, even a module that has the basic functions in DNN would be welcome. I created a prototype that would read tickets from JIRA. Unfortunately, I don't have the code anymore.
- Allows admins to integrate with their DotNetNuke portal
- Allows integration with the ticket/case system, and the licensing center.
Again, there are many good web and desktop solutions, but I want to see this in my DotNetNuke portal. I REALLY hate sending customers to a separate web app for this.
Robust KB App
I have found that I like InstantKB.NET a whole lot. I would love to have this integrated with DotNetNuke as well. My dream scenario would be integrate with a forum, where there would be a button for "Create KB Article" which would copy the contents of the thread and start a new article.
I have been working with Ken White over at FastSpring to setup a payment gateway and online store. I'm happy to say that this is finally done. I just finished the last bit on their side and hooked it up with my site today.
I'm hoping to have the part on my website done by Monday. The store link is already wired up, but I will not show it to the public until I get PainlessSVN working with the new license settings. The only thing left on my site is to wire up the buy buttons to the new URLs.
My current eCommerce system has been a total failure. I've been watching it with Clicky, and noticed that a lot of people were trying to buy, but couldn't. This is no good, so I decided to take it down today.
This was basically a half-assed system. I took a DNN module and integrated the licensing system with custom code. The main issues that I had were that I could not change the fields that were requested to something more reasonable. Also a lot of people were confused by its navigation. I'm yanking it today, rather than allow it to create even more frustration for me and potential customer.
I'm going to try my hand with FastSpring. Hopefully, this will allow me to outsource this part of my business. This will allow me to concentrate on making my products better, and not having to fiddle with stuff that I'm not familiar with. One feature that I'm looking forward to, is the ability to allow potential customers to pay in their own currency.
I'm going to be resetting the 30 day trial for PainlessSVN 1.1, so everybody will get another 30 days to play with it.
Frustrating, but good learning experience.
I've been a little bit peeved at the so called discounts that retailers have been hawking. They have been complaining about bad sales, but have not really done much to get the shoppers' attention. Their Black Friday sales are pathetic, at least to me.
In order to let out some of my frustration, I thought I give everybody a 50% off deal for the rest of the month. Enter "black_friday_2008", without quotes, at checkout to get half-off on PainlessSVN Professional. That's right, it will be $24.98 until November 30.
I'm currently working on 1.1, which will be a free update to anybody who purchases PainlessSVN now.
This offer has been extended until December 6. Enjoy!
The integration that I had with my ecommerce DNN module (ActivePurchase) broke when I moved the site to PowerDNN. I have been fighting with this for a couple weeks now.
Here's what happened:
The part that sends the serial number did not work anymore, because the SMTP server was not on the same network. Changing the settings did not work at first. I went googling for sending emails from DNN. I got some good hits for sending email from inside DNN modules.
The API for this is fairly simple (relatively). You first make a reference to DotNetNuke.Services.Mail. Then you make a call to the Mail.SendMail() method, with the appropriate parameters. There are 5 overloads. The call from a module would look like this:
DotNetNuke.Services.Mail.Mail.SendMail(FromAddress, SendTo, "", Subject, Body, "", "", "", "", "", "")
Well, that didn't work. So now I was scratching my head.
I am using a special type of integration called a custom step, which is just an assembly in the bin directory for the DotNetNuke install. I had to go and dig into the event log that DNN keeps. There were several exceptions there. The message was that the SMTP connection needed to be authenticated. WTF??
Custom DNN modules use the SMTP settings that the administrator has setup. However, the custom step does not get treated as a module. So I had to do this:
DotNetNuke.Services.Mail.Mail.SendMail(FromAddress, SendTo, "", Subject, Body, "", "", "", "", UserName, Password)
Once I did that, the custom step started sending emails like before. YES!
Now that this is fixed, I can get my undivided attention back to PainlessSVN and SVN Backup Widget stuff.
I got the integration between ActivePurchase and the Infralution license generating system working now. It took most of the weekend, but that was because this was my first time doing something like this. It will probably take no more than an hour for the next product I need to integrate.
I'm writing a big HOWTO article, that will take people through the steps to make this work. This will have both screenshots and code. I started writing it, but it will take a little while to get it done. I have 2 loose ends with PainlessSVN itself, then I'm turning my attention to fixing up some pages in this site.
I already put up the download trial and buy buttons, but you'll only see them if you are logged in. I will be putting in a couple discount codes. So if you want to buy PainlessSVN at a discounted price, you'll need to watch this blog. Create an account, and you may see some other goodies.
I've been coding quite a bit in the last few days. I finally got the licensing bit from Infralution working correctly. I had to create a custom license generator for Infralution that would work for both the application and as part of ActivePurchase.
It took me a while to figure out that I couldn't just use the source code classes from the licensing system. It was expecting a specific signature from an assembly. Once I added a reference to this assembly, then the custom Infralution key generator started working perfectly. All in all, I spent less time than what I had scheduled in my FogBugz (free version) case. What can I say? I'm a horrible estimator!
I decided to use a new PayPal account for the payment processor. I was previously using my personal PayPal account, but decided to make my life easier and got me a PayPal Business account. I just verified all the bits, so this is ready to go.
My last bit of work now, is to create a custom step in ActivePurchase that will generate the key, then email it to the customer. Thankfully, I have experience writing modules for DotNetNuke, and I had already translated a VB.NET custom step sample provided by Will to C#. So, I'm not going in totally blind.
It looks like I'm going to make my early September release after all. Maybe even September 6.
After much thought and research, I've decided on how to price PainlessSVN. The price will be 49.95 USD. I will have a special introductory price of 29.95 USD for the first month after PainlessSVN is released.
I decided to avoid taking money before the 1.0 release. This will be my first product, and I want customers to have a good experience. This will also lower my stress levels. I don't have a set release date, other than sometime in September, barring any unforseen problems.
I will turn my attention to setting up the eCommerce stuff, once I get Beta 1 out the door. I have decided to use e-Junkie to handle payments and licensing. I will start with PayPal, then 2CheckOut, as I already have accounts for these already. I still haven't decided if I want to use Google Checkout as well.
I'm doing some house cleaning on my different payment accounts that I have laying around. I had setup a 2CheckOut account a while back for another venture, and I hadn't used for a while. I went through it last night and got it cleaned up, so that has SystemWidgets as the vendor. This should simplify my life considerably.
I'm looking at e-junkie, as I really like their light-weight shopping cart. They support both 2CheckOut and Paypal, so this is ideal for me.