One aspect of my job as the founder of a software company that I find surprisingly interesting is marketing. I have no marketing budget, but I informally committed to using viral marketing to generate traffic to my website. I knew I couldn't afford magazine ads and I wasn't ready to pay for Google Adwords or banner ads on industry websites.
At first, I just used an online forum in my industry that reaches my target audience. I looked for posts where I felt that I could contribute something to the discussion, but I never mentioned my company or my products. I didn't want to be spammy. I put my name and a link to my website in my signature, though, and I started getting traffic to my website from the forum. In the beginning, about 40% of my traffic came through that website.
Then, a guy on that forum with a website and blog dedicated to the product I develop for noticed my freebie and e-mailed me, letting me know he wanted to post something about my product and my company. He put a link to my website on a page where he has other links to products related to the product I develop for and he posted an announcement on his blog. I got a handful of links from his site every day for a few days and even though it has been months since his blog posting, I still get a few referrals from him per week.
Better still, some other bloggers who just re-broadcast other people's blogs in the same industry made mention of my website. I was surprised by how quickly news spread about my product and company. I had heard of viral marketing, but didn't realize how successful it could be, with very little effort on my part. Back in December, 35% of my web traffic came from the online forum I mentioned, and another 25% came from blogs. I had 234 visits from 166 unique visitors
But recently, I've gotten the product managers for the product I develop on to announce my product releases on their blog and when they do, I get flooded not only with web traffic, but I'll have a dozen people register per day on the site after their post and download the freebies (vs 10-20/week on average). And since they have the most popular blog for my client base, other bloggers and forum users from around the globe then re-broadcast their announcements and now I'm getting referrals from all over the web.
Looking at my stats for the last month (ending yesterday), during which I had two product releases (one was just an update for the new version of the product I develop on), I had 726 visits from 459 unique visitors. More than 50% of my traffic was direct (in part because I sent out e-mail notices to my list of users). 23% of visitors came from the product managers' blog. The rest of the traffic is split up over many sources - 37 more to be exact. Various blogs, online forums, and a few things I cannot decipher.
24 visits, or over 3% of total visits, originated from google searches (not counting google searches from foreign google websites like google.co.uk). I never implemented a Google Adwords campaign because people googling the terms I would use are already finding my site for free.
Viral marketing is my new best friend. Some days I wonder if I might like my next career to be in marketing. Until I started this company, I never would have guessed how interested I would be in marketing. Especially viral marketing where I can watch the message spread over the Internet. It's fascinating!
Thursday, May 15, 2008
Friday, May 2, 2008
Are internet sales taxable?
This is the question I was trying to figure out. My business is located in California and I expected I would at least have to collect sales tax from customers in CA (once I have a product to sell, that is). But when I went online to confirm this and to find out what the sales tax rate is exactly, I found a document on the California State Board of Equalization website that surprised me.
If you sell electronic goods, such as software or a database, that are distributed to customers over the internet (as I am planning to do), the sale is not subject to sales tax. If, however, your clients download the software, but you also send them a copy on CD, then the entire transaction is taxable (I take this to mean that you cannot just charge some nominal fee for the CD and tax that).
Here's the source document: http://www.boe.ca.gov/pdf/pub109.pdf
If you sell electronic goods, such as software or a database, that are distributed to customers over the internet (as I am planning to do), the sale is not subject to sales tax. If, however, your clients download the software, but you also send them a copy on CD, then the entire transaction is taxable (I take this to mean that you cannot just charge some nominal fee for the CD and tax that).
Here's the source document: http://www.boe.ca.gov/pdf/pub109.pdf
Friday, April 25, 2008
Finally!
I finallly released the first version of my second product. It is a limited version and is available free to anyone who registers on the website. I'm only a couple of months late..
The next step is to create a paid version. That will be the real test. It will be the first time I am attempting to sell my software to users. Although I've gotten funding for this project, I need to be able to sell it to develop a viable business. I figure I'm a couple of months from that release, assuming no more child care snafus.
The next step is to create a paid version. That will be the real test. It will be the first time I am attempting to sell my software to users. Although I've gotten funding for this project, I need to be able to sell it to develop a viable business. I figure I'm a couple of months from that release, assuming no more child care snafus.
Monday, April 21, 2008
Error code 2869
I was about to release my second free product last week when a new version of the 3rd party application my product runs on came out. So I am in the process of creating a new install for the new version of that application. I am planning to release two versions of my product, one compatible with the older version of the 3rd party application, and one compatible withe the brand new version.
So I'm testing the installer today and I keep getting this error message:
The installer has encountered an unexpected error installing the package. This may indicated a problem with this package. The error code is 2869.
It sounds vaguely familiar like I ran into this when I did the original install. I do a google search and see that it is related to running installers on Windows Vista. That figures. When I got my new laptop, choices for new laptops running Windows XP were limited, so I got a Windows 64-bit Vista operating system. Maybe someday when the software programs I use take advantage of the 64-bit-ness, I will appreciate it, but mostly it just seems to cause me problems like this. The install ran fine the first time I ran it on my old Windows XP machine.
Misha Shneerson's article makes me think the problem has to do with the custom action I'm calling during the installation to edit an INI file. But I don't know what to do about that. Then I found Paulo Reichert's blog where a user's comment suggests calling msiexec /a "path-to-package.msi", which runs the setup program as an Administrator, and that solves the problem. But I hate for my users to have to go to that trouble. Hopefully they have Windows XP.
So I'm testing the installer today and I keep getting this error message:
The installer has encountered an unexpected error installing the package. This may indicated a problem with this package. The error code is 2869.
It sounds vaguely familiar like I ran into this when I did the original install. I do a google search and see that it is related to running installers on Windows Vista. That figures. When I got my new laptop, choices for new laptops running Windows XP were limited, so I got a Windows 64-bit Vista operating system. Maybe someday when the software programs I use take advantage of the 64-bit-ness, I will appreciate it, but mostly it just seems to cause me problems like this. The install ran fine the first time I ran it on my old Windows XP machine.
Misha Shneerson's article makes me think the problem has to do with the custom action I'm calling during the installation to edit an INI file. But I don't know what to do about that. Then I found Paulo Reichert's blog where a user's comment suggests calling msiexec /a "path-to-package.msi", which runs the setup program as an Administrator, and that solves the problem. But I hate for my users to have to go to that trouble. Hopefully they have Windows XP.
Thursday, April 10, 2008
Corporate Use
I had a woman at a large firm yesterday contact me about using the free tool I have for download on my website in a corporate setting. My click-wrap license agreement only allows for individuals to install the program on one computer, and for a large company, it would certainly be a hassle for each user to register on my site and download it separately.
I was so excited that they wanted to use it on so many computers in their office. When I went to their website today, I realized they actually have over 150 locations in 41 states and a few international locations!
But as excited as I was, I also feel totally clueless! At first she asked for documentation on our corporate use policy, which I don't have. I didn't exactly want to say this was the first request I've had for corporate use, so I just wrote back and said she had my permission to distribute the software within the company, but that the x months of free support I (actually I think I said "we" since that sounds more like a real company) offer would be counted from when she downloaded the product. I also offered to give them a more specific site license software agreement if she wanted.
So she wrote back to confirm that after the x months were up, they would have to compensate my company for further support, which I confirmed. And was even more excited that they might actually purchase a maintenance agreement at some point.
At that point, I thought we were good, being as clueless as I am. But then she wrote back and indicated that so-and-so would contact me about corporate use. And when so-and-so did contact me, he explained that as a large company, they like to keep copious records on their software license agreements, so he asked me to please send them a site license.
And that was when I opened my book on software contracts (the current version is called Legal Guide to Web & Software Development but I have an older copy) to find a sample site license. I saw a sample that gave license to a business at a specific address, so I went to the company's website and saw how many offices they had, and realized I would have to do something else.
I just told my husband how big this firm is and he said it isn't a site license, it is an enterprise license and thinks I could charge them for it. But I've already indicated that I wouldn't charge them. He commented that support could get out of control, but I pointed out that they had told me that they would funnel all support through their in-house software support team.
This is when it would really help to have a partner who knows business. I may have just lost an opportunity to make some recurring revenue from this company. Live and learn, I guess.
I was so excited that they wanted to use it on so many computers in their office. When I went to their website today, I realized they actually have over 150 locations in 41 states and a few international locations!
But as excited as I was, I also feel totally clueless! At first she asked for documentation on our corporate use policy, which I don't have. I didn't exactly want to say this was the first request I've had for corporate use, so I just wrote back and said she had my permission to distribute the software within the company, but that the x months of free support I (actually I think I said "we" since that sounds more like a real company) offer would be counted from when she downloaded the product. I also offered to give them a more specific site license software agreement if she wanted.
So she wrote back to confirm that after the x months were up, they would have to compensate my company for further support, which I confirmed. And was even more excited that they might actually purchase a maintenance agreement at some point.
At that point, I thought we were good, being as clueless as I am. But then she wrote back and indicated that so-and-so would contact me about corporate use. And when so-and-so did contact me, he explained that as a large company, they like to keep copious records on their software license agreements, so he asked me to please send them a site license.
And that was when I opened my book on software contracts (the current version is called Legal Guide to Web & Software Development but I have an older copy) to find a sample site license. I saw a sample that gave license to a business at a specific address, so I went to the company's website and saw how many offices they had, and realized I would have to do something else.
I just told my husband how big this firm is and he said it isn't a site license, it is an enterprise license and thinks I could charge them for it. But I've already indicated that I wouldn't charge them. He commented that support could get out of control, but I pointed out that they had told me that they would funnel all support through their in-house software support team.
This is when it would really help to have a partner who knows business. I may have just lost an opportunity to make some recurring revenue from this company. Live and learn, I guess.
Saturday, March 29, 2008
Help files
One of the tasks I need to finish up for my public release is to complete my help file. I put together a rudimentary help file for the beta version with just enough topics for each dialog in my application, but I need to better document the program and its functionality.
For my help documentation, I'm using a compiled help file (CHM) which is a common standard for help files. It basically takes a bunch of html files and compiles them into one help document which has a table of contents, index and search feature in a left-hand pane and the content in the right-hand pane.
At my old job, we used RoboHelp to create our chm files. I like RoboHelp. It has a great WYSIWYG ("what you see is what you get") editor and makes creating help files as easy as using Microsoft Word. But... it costs $999. I don't like it that much. I was even considering just creating HTML files for my help topics and opening them in the user's browser so I could avoid paying for a Help authoring tool.
But then I discovered Microsoft's HTML Help Workshop. It's this bare bones utility that does not have a WYSIWYG editor and is not as intuitive to use asRoboHelp, but it is free. And it does everything I need to create a CHM file that I can call from my code to pull up specific topics, as well as create an index and table of contents the way I want.
Since it wasn't intuitive to use, I relied on this great tutorial someone wrote on how to set up a help file for a sample C# application. It gives you the code for the sample application and talks about not only using HTML Help Workshop to create a CHM file that you can call from your application, but also covers other types of help, such as status bar messages and tool tips.
Guess I should get back to actually writing my help documentation rather than writing about it.
For my help documentation, I'm using a compiled help file (CHM) which is a common standard for help files. It basically takes a bunch of html files and compiles them into one help document which has a table of contents, index and search feature in a left-hand pane and the content in the right-hand pane.
At my old job, we used RoboHelp to create our chm files. I like RoboHelp. It has a great WYSIWYG ("what you see is what you get") editor and makes creating help files as easy as using Microsoft Word. But... it costs $999. I don't like it that much. I was even considering just creating HTML files for my help topics and opening them in the user's browser so I could avoid paying for a Help authoring tool.
But then I discovered Microsoft's HTML Help Workshop. It's this bare bones utility that does not have a WYSIWYG editor and is not as intuitive to use asRoboHelp, but it is free. And it does everything I need to create a CHM file that I can call from my code to pull up specific topics, as well as create an index and table of contents the way I want.
Since it wasn't intuitive to use, I relied on this great tutorial someone wrote on how to set up a help file for a sample C# application. It gives you the code for the sample application and talks about not only using HTML Help Workshop to create a CHM file that you can call from your application, but also covers other types of help, such as status bar messages and tool tips.
Guess I should get back to actually writing my help documentation rather than writing about it.
Sunday, March 23, 2008
Installation
I've been working on my installer recently, a task I'm not fond of. In addition to installing files, I need to register a 3rd party type library (don't get me started) and edit a different 3rd party INI file. At my old company, I used Wise Installer to create installations which I found pretty easy to use. But the version I used didn't create MSI files, and for that, we had started to use InstallShield which I hated. It seemed clunky and hard to figure out.
So in keeping with my bootstrapping plan of keeping my costs as low as possible, I decided to try out a Micorosft Visual Studio's setup project since I already own Visual Studio. You can create a setup project similar to the way you create any new Visual Studio project. I can't say it was super easy to use, but with the help of some online resources, I managed to create a pretty good installation, and I think I even understand the whole "Product Code" thing now (which I had a hard time with in InstallShield).
For my purposes, I created separate dll's for editing the INI file and for registering the type library. By using Installer classes in those projects, I'm able to call the code in my dll's from my installation using custom actions. It works great.
Here are some resources I found useful when I was putting my installer together:
A Code Project step-by-step tutorial on creating a setup project
An article on simple-talk using custom actions
FAQ on Windows Installer
So in keeping with my bootstrapping plan of keeping my costs as low as possible, I decided to try out a Micorosft Visual Studio's setup project since I already own Visual Studio. You can create a setup project similar to the way you create any new Visual Studio project. I can't say it was super easy to use, but with the help of some online resources, I managed to create a pretty good installation, and I think I even understand the whole "Product Code" thing now (which I had a hard time with in InstallShield).
For my purposes, I created separate dll's for editing the INI file and for registering the type library. By using Installer classes in those projects, I'm able to call the code in my dll's from my installation using custom actions. It works great.
Here are some resources I found useful when I was putting my installer together:
A Code Project step-by-step tutorial on creating a setup project
An article on simple-talk using custom actions
FAQ on Windows Installer
Subscribe to:
Posts (Atom)