Whoo Hoo! RC3 of IISLogs is done and out the door. After about 9 – 12 months of tinkering, debugging, adding features and general kicking the tires. Release candidate 3 is released and ready for testing. It can be downloaded from http://www.iislogs.com/. As always, we recommend perspective users test on a non-production system. I don’t promote this product very much, but after 3 years of development, version 2.0 is almost ready for prime time. On a personal note, doing development for a commercial product is time consuming, teadious, rewarding, and overall a fun time. It barely makes enough money to stay afloat, by no means do I get rich. What started out as a project to help me manage logs has turned into something special. Almost every feature that people have asked for has been integrated into the product.
Along the way, I’ve learned how to use Xenocode 2006 to obfuscate code. I was supposed to write a blog posting or summary of my experiences with their product. It is absolutely the best from my experience. I have pretty much automated my build process with a batch file. They accept command line arguments which makes it simple. I use Visual Studio 2005 w/sp1 to build version 2.0. And yes I even develop on Vista. 🙂 I ran into an issue trying to get Xenocode to work on Windows Server 2008 or I’d be developing on that platform. One note on obsfucation, make sure to use Peverify.exe to ensure your DLL, EXE’s are ok after running the process. Dave Wanta (Creator of ASPNetEmail and MANY other products) pointed me to this SDK tool when I first started.
For those wonder if it is worth architecting, planning, documenting, coding, selling, maintaining a product? Many times I wonder, but it is like a little side gig that was different than running a content site. I started and ran http://www.aspfree.com for 4+ years, it started out as hobby. :-> Maintaining a content site that grew to 10,000 to 15,000 daily visitors was HARD work. Writing articles and publishing was challenging. It is much different than writing a product, but the same effort is required. Both items are time consuming, but it’s great experience. A big thanks goes to Jose Fuentes Microsoft MVP with helping with IISLogsGUI. This is the GUI tool that maintains the configuration file. If you need a real developer, Joe is definitely worth hiring. Along the way, here is a few tips I wanted to share.
Make sure there is a need for your product
People are willing to pay for it
You or someone is willing to support it
Make sure to provide LOTS of documentation.
Consider giving away a free version that actually is worthwhile. The first ‘free’ version we provided wasn’t very good. IISLogsLite 2.0 was a pretty in-depth ‘free’ product.
Hire someone to code the parts you can’t. In my case, I handled the Service and EXE code, Winforms coding I leave to the experts.
Search the internet for similar products. There just might be something else out there already. When I did IISLogs, there was nothing else. As of right now, I don’t think there is anything that does what IISLogs does.
Either keep updating the product or discontinue it.
Make sure to take Security seriously. My first rule of thumb with this product, it didn’t require to run as Administrator. Unfortunately, to zip files in the default IISLogs folder, the account needed to be a local admin. With some configuration changes, it didn’t require these permissions.
Be patient and test the product. Yes, actually use your own product before turning over to the world.- Do not rush your upgrades out the door. In 3 years, I’ve only released 2 versions. This is the 3rd version. Mostly due to resources things have been delayed, but before we released to production, we were certain all known bugs were resolved.
- TEST, TEST, TEST
I think that is it for now, just an FYI. This is my hobby, call me crazy or just a plain geek. I have a lot of respect for companies and individuals that do this type of thing full-time! I’ve always meant to type up a blog about my IISLogs experience. Here it is. Hope you find it useful.
Take care,
Steve Schofield
Microsoft MVP – IIS