Monday, January 31, 2005
Thursday, January 27, 2005
Google will be central to both my endeavors. Soon as I get the Stealth Player website done, I'm going to start marketing it using google Ad Words. I can budget the ad campaign to $100 bucks a month. I don't want to be done with development and THEN spend a month figuring out how to use Ad Words. Since I should be done in a month or less, I think that's money well spent.
The major purpose of this exercise is to figure out who's interested in the product (if anyone). Visitors can sign up to be notified when Stealth Player is ready. If I don't get $100 worth of traffic, then I'll be learning ahead of time to adjust my campagn. If I do get $100 dollars worth of traffic and not one person signs up, I'll know ahead of time that I have issues, business model issues. Knowing this ahead of time will allow me to adjust my business model...ahh...ahead of time.
This leads me to my second thought. I need to know more about the industry I'm venturing into. I originally thought I was in the software industry and just happened to make software for porn. Now, I'm starting to wonder if I'm actually in the porn industry using software as a competitive advantage. The difference between the two realities is the business model. Am I selling software or porn? I'd rather think software.
I'm not a sleazy guy. Really I'm not...I'm out going, I surf (I'm not talking about the web), I love to hang out with my wife and friends...
There's a certain shame in pornography, it makes me uncomfortable. However, I think that aspect makes this market attractive. The barrier to entry is shame.
I wrestle with this because, after doing some research, it seems I have two potential business models. The first, which I prefer, is to sell access to the data my system aggregates through a value added interface. Doesn't that sound nice and sterile?
The second model is to give away the software for free with access to my data as a draw, then sell premium content to the users through the same application. After looking into it, purchasing distribution licenses from adult content providers is easy; easier and less expensive than I ever thought. This is inline with the Bootstrapper's Bible, which uses a Nike sneaker as an example. The manufacture in China gets $1 a shoe, Nike gets $10 a shoe, the distributor gets $25 a shoe, and the retailer gets $80 a shoe. Anyway -- If you don't know what I'm talking about GO READ IT! The point is I'm surprised at the margins that can be achieved.
To sum it up, here are my options:
Model 1: MicroISV - (Preferred)
Model 2: Porno Peddler - (I wouldn't go telling everyone about this one)
My first attempt at marketing will determine which direction this heads...I sure hope I can make Model 1 work.
Not to drag this on, but I just thought of something terrible. I've mentioned the work "Bible" in the post a couple times, I hope no one comes here from a search engine looking for religion...Oh, the nasty emails I'll be getting
Wednesday, January 26, 2005
Tuesday, January 25, 2005
I was planning on offering premium content thought this software, but it would take some integration with content providers. I don't thing that should be very difficult technically.
If I give the software away free, I could get a larger user base faster. However I would then have to wait to get content providers on-line before any revenue came my way.
On the flip side, if I charge people for up-level service, then I could have the best of both worlds.
I guess I'm drawn to the free model because some of the competitors out there are free and work off of commisions. However their products don't seem that well thought out and kinda gimmicky. I'll keep mulling this over.
I’ve successfully put half of the equation into place. I currently have my “media finder” application running and posting the results through a web service to my site. However, getting the client (Stealth Player) to work in with my hosted account is creating the biggest headache.
The problem has to do with dynamically downloaded assemblies. I thought I had figured out all the intricacies, but it just won’t work, and I’ve wasted enough time on it. So, because I get a FileNotFound (IT SHOULD BE F*CKING FOUND!!!) error when loading the assembly from my hosted web account, I’ve decided to move on. I’m going to spend tonight integrating the Updater Application Block from MSDN. I’m concerned this might raise the OS requirements for the client app. At first I really wanted Stealth Player to work down to Win95, but at this point I don’t want to deal with the hassle of supporting older OS’s. Besides, StatCounter.com has shown that 80% of my site visitors are using WinXP.
Because I’m starting a MicroISV, I have a LOT to do. I think it’s important that I move on. I can’t try to conquer the world, I can’t serve every OS, and I can’t spend 10 hours solving a technical problem when I could just use a less elegant work around in 4 hours.. I have to keep telling myself – “End users don’t care how it works, they just care that it works”. Got to keep on moving forward.
Monday, January 24, 2005
When creating a web installtion, there are two different configuration files needed. The first configuration file is used to describe all the dependencies and contains the bulk of the installation information. The second configuration file basically is used to specify how to download the first configuration file.
I kept getting xml parser errors, however the sample that came with the source code worked fine. To get things working I pulled out xml elements that were NOT in the working sample provided. The elements I pulled were:
In the first config
<schema version="1" />
<?xml version="1.0" encoding="utf-8"?>
In the second config
<?xml version="1.0" encoding="utf-8"?>
For some reason the first config would freak if <schema version="1" /> was included, but the second config would freak if the same element wasn't included. Go figure.
I'll make sure to pass this along to the author, perhps I did something wrong though. Is anyone else using dotNetInstaller to make a web installation that hasn't had these problems? I'd like to hear from you.
I’ll look into the code base and the XML configuration file; get a little more familiar and post my findings back here.
Sunday, January 23, 2005
Well today is a different day. My application has two major prerequisites, the .NET Framework and Media Player. These two pieces of software have there own prerequisites too, but both can work on windows versions down to Windows 95. The big deal here is I can’t put all the prerequisites into one MSI because it would be HUGH. I don’t want potential customers to be scared away by a long download time. This is especially true if the user already has all the prerequisites! What to do?
The solution I found was on Code Project. Davide Icardi is the man behind dotNetInstaller and he must be a crazy man, because his solution to my problem is worth money! If his prerequisite installer works and I make money using it, I’ll definitely send this guy a generous donation. In any case, Davide – THANKS. If you’re in my boat take a look, or if you have another solution to this problem, please let me know.
Saturday, January 22, 2005
I’m developing software that aims to increase safety, privacy, and visual experience while viewing adult content (OK...PORN) on the internet.
Stealth Player has two major components. The first component spiders the Internet looking for freely available galleries and catalogs the galleries and content into a database hosted on my site. My system has been cataloging unique galleries at a rate of ~40,000 every 24 hours (I expect this to slow over time). Each gallery is categorized and its contents are checked for broken links and file sizes.
The second part of the software is basically a custom gallery browser and media player. The browser “talks” to the database of galleries over the internet (using Web Services) and displays a thumbnail selection of galleries to the user. When a user clicks a gallery of images, the browser opens a window that automatically slideshows the images. When the user clicks a gallery of videos, the browser opens a new window that slide shows the videos in which it plays the first video while downloading the second. When the first clip completes the second is played, etc… and it does it seamlessly. It effectively joins all the video clips in a gallery into one video, without waiting. It can also slide show galleries of mixed content interlacing video with still images.
A couple other basic features worth mentioning:
Users can -
+ Add and remove content to and from slideshows.
+ Rate galleries – an overall community rating for each gallery is tracked by the database.
+ Report Illegal content which every complaint is internally reviewed and if deemed illegal reported to the appropriate authority.
+ Sort, group, delete, and search galleries almost like email.
+ Archive slideshows and content which is encrypted and stored as otherwise unidentifiable files that can only be opened with Stealth Player.
Other Features -
+ Application is hidden from other users of the computer and can only be opened with correct username and password. It leaves no discernable trace of adult content viewing on the computer protecting children, non-understanding spouses, and guest computer users.
+ Because this is a closed system, there are no aggressive advertisements that can take control of your browser or attempt to install malware (spyware, adware, dialers, etc...).
+ Tabbed browsing like in FireFox.
+ System automatically detects and removes broken links.
+ Escape key works as “Panic Button” which closes all windows incase of unexpected interruption.
If I this goes well and there’s a sufficient user base I would like to partner with content providers to distribute their premium content through this closed system with unified billing to the consumer, taking a cut along the way. As a side benefit to content providers, the content cannot be shared outside of stealth player thus protecting there material from piracy. Again, the idea is to create a positive relationship with users in which they feel safe and their privacy is protected while providing the best visual experience.
Well that's it. The software is already usable and in the process of refinement. Testing has shown the application to be highly valuable. The benefits of using it are immediately clear and I have received significant interest from willing beta testers. The only things left to do it are polish and sell it.
I'm unofficially going to give pricing details. Users will be able to use the software for 10 sessions a month for free. This will ensure there is an active user base and encourage use of the product. Users who would like to use the system more will have two other options, 50 sessions for $9.95 or 150 sessions for $13.96.
Pricing seems to be one of the most difficult aspects of selling software. I'd love to get your thoughts on selling software as a service.
Friday, January 21, 2005
I've learned html about 8 years ago. At the time WYSIWYG html editors were starting to come into their own, but I still preferred notepad. Today, I use PhotoImpact to mock up the general site and then to clip the needed images. I like this product because it can work with tons of file types including .psd files from adobe. It's got it's share of issues, but for the money I'm not complaining. I'd love to hear from any readers on how and what they use for site design.
Once I've the basic site layout, I use the HTML view in VS.NET to create the general layout. With the layout complete for one page, I'll use the page to create a "master page" template. No, I'm not using ASP.NET 2.0, but I created a hack that does basically the same thing. I should try Xheo skinner, but I know my own code and don't have anything to figure out.
I'll publish the default page, to get things started. As you'll see, the fonts haven't been figured out yet, I'll leave it like that for now and apply a style sheet layer.
Tuesday, January 18, 2005
Today I had to shift gears out of software development and into business administration. It occurred to me that I’ve been so focused on the software that I’ve neglected a couple steps which can take some time to complete. So I thought I’d share with all of you MicroISV wannabe’s (term of endearment) what you have to look forward to:
Signing Licensing Agreements – These are about as one sided as agreements get, but I’m not complaining because the end result is I get something for nothing. Yes, Microsoft Media Player will be part of StealthPlayer. I was planning on using DirectX, but there were technical issues that couldn’t be overcome with the time I had. That’s OK; Media Player gave me the same functionality I was looking for. People bad mouth Microsoft all the time, but I love them…and here’s why…total all the jobs and profits that have been made outside of Microsoft that would never had existed without Microsoft. That is one big number and I’m having a hard time finding other companies that can say the same. Anyway, I don’t want to start that old debate.
Purchase an SSL certificate – I’m buying a SSL certificate for the stealthplayer.com domain from InstantSSL.com. They seem to have the right service level at the right price. I especially like the certificate logo, I want to do everything I can to make potential customers feel safe. I know many small software vendors use PayPal or other third party billing agents, but I need full control of billing for reasons that are beyond the scope of this post. I’m getting the CSR from my ASP.NET hosting provider now, did I mention that the hosting company I use rocks. Self service through their control panel isn’t the best, but the personal service rocks! I would rather send an email to have someone do something, than have to do it myself anyway. UPDATE – Got the CSR and fast, again Aquest Hosting rocks! OK, make sure to have proof of identification to send to the SSL issuer. I emailed them my articles of incorporation.
Find, fill out, and send a DBA (Doing Business As) – So I really don’t want to sell pornography related software under the same company name I provide software consulting services to fortune 100 companies. I think that could be bad for business. Plus, it’s not like my company has a sexy name. I was thinking of getting a DBA as “Rock Solid Software”. The double meaning may be over the top though. In the end the name isn’t as important, so long as it’s different.
Merchant Account – I’m going to use an Authorize.net reseller. They seem to vary greatly in fees, so I need to be careful here. Make take an extra day to decide. In any event I’ll let you know how it turns out.
Saturday, January 15, 2005
I am loading user controls into a panel as a "Page", when the user closes the page, I was removing the user control from it's host panel's Controls collection and then calling Dispose on the User Control...
After profiling the application I noticed that the Remove method on the ControlCollection calls Dispose on the control being removed. I don't know why calling dispose twice caused the finializer to never get called, but that was the problem. I removed my call to Dispose and it works like a charm.
Now I know UI elements need to be updated using the same thread that created them…I understand how to use Invoke and BeginInvoke on the control. But there seems to be a problem with the handle for the control hasn’t been created. The Invoke function will cause an exception, and for some reason a reference will be held to the control/object that I want garbage collected later.
I'll post a sample and a fix when I figure it out.
Friday, January 14, 2005
What does Stealth Player do? Seems like it’s a simple enough question, and I have a very good short answer for it…but I feel I need to preface the answer with an explanation of how I got here.
First, I’m an entrepreneur at heart. I’m an independent consultant because I enjoy the challenge and freedom of being self employed. That being said there is an inherent problem with consulting that can be summed up in a simple equation…
Hours Worked * Hourly Rate = Total Earnings
Let’s say I was getting a killer rate of $100/hr and I didn’t eat, sleep, or crap – so I worked 24 hours a day. Oh, AND my client has no budget and I work weekends! Then my total yearly earning potential for one year is $868,800. That’s a lot of money, BUT (not only is that scenario impossible) I can’t earn more unless I bill at a higher rate…Let’s look at a better equation…
Units Sold * Unit Price = Total Earnings
OK, I know what you’re thinking…you see my point…if I can sell 300 units a month at $10 a unit I make $3,000 a month. I’m now not limited by my time spent working. HOWEVER, the most important point is what you don’t see in the second equation…"Work". That’s not to say there’s no work involved, but this leads to the following thinking as outlined in the “Rich Dad, Poor Dad” series of books...
A business owner can be defined as someone who owns a business system; that is, the owner can leave the business for a year, come back and still have a business earning revenue. In my case, if I were to leave my consulting business for a year, my Total Earnings would be 0! So I don’t own a business – I am the business.
OK, I know I still haven’t answered the original question, but I will – and I’m glad you’re still with me. To summarize where we're at...Geting payed lots of money for an hour of work - bad, Selling a unit of software on the internet while surfing in Costa Rica - good.
Referring to the equation above, I wanted to maximize the first part of the equation, Units Sold. In order to do so, I need a large market. So I did some critical thinking…which reminds me...I would like to thank Eric Sink for his excellent string of articles on MSDN and his great blog. His writings are a must read for anyone considering the ISV business.
Critical thinking...deciding what to build is difficult... I know general business...but this space is filled with stiff competition... and I don't have any specific advantage...
Also, I need a large market of people who use computers and spend money online, perferably a market with little competition…Hmmm...What is the biggest market on the internet for that? Well, in case you didn’t know, it’s pornography.
I believe this is a large market that’s under served by the software industry, it makes sense though; I was hesitant to even consider it. After thinking about it, I decided that I could make software products to solve problems people experience surfing the internet for porn.
Stealth Player is the culmination of my extensive “research” in this area…Yah, like you don’t know what I mean! StealthPlayer will be the first application of its kind…that’s not to say it doesn’t have competition, it does indirectly, but I believe StealthPlayer is the start of the next generation “Killer App”. There I said it.
Internet Aggregation and Dissemination – You heard it hear first…there is nothing in Google about it. SEE no result as of 1/14/2005.
There is an inherent problem with search engines…They generically spider the internet, indexing pages, media, and other files. They lack focus and context. To prove my point google “Free Porn”…Did you find free porn? I found a bunch of links that say free porn, but are really advertisement filled web sites. If you actually find a site with links to free galleries you’ll find these sites redirect you to other advertisement fill sites…some times these sites can even take control of you’re browser using java script and start launching windows everywhere. So you see, that's just the start of the problems found in surfing the web for porn, and this is just one of the problems my software solves – no nonsense browsing of free pornography.
There is another inherent problem with search engines...let's say the "free porn" search returned lots of great links that weren't absolute garbage. Now let’s say that search returned 123,198 web pages… you only looked through the first 34 results…the next time you want to look at porn you search google again. Now the search yields 145, 743 web pages. How do you know what you’ve already seen? How do you know which entries are new? Imaging if your email worked that way… if the order of your email was random and ever changing, and you couldn’t delete it, you couldn’t sort it, and you couldn’t tell old from new. It would drive you nuts.
Internet Aggregation and Dissemination is mining the internet with focus and context then delivering the results in a way that complements the specific scope of information mined. I can think of many uses for this paradigm, but porn seems to have the largest market... so here we are.
I’ll be writing more about Internet Aggregation and Dissemination and how Stealth Player fits into that model in the near future…Stay tuned.