Don’t Let Java/.NET Deployment Scare You

Ali commented, in regards to my last post, that I should really program my next project in C++ or similar, as requiring a Java/.NET library download scares off lots of dialup customers.  This would have been a valid consideration… in 1998.
In 2006, not so much.

1)  I don’t have dialup customers.  I am targetting a group of very non-technical customers.  The biggest two ISPs in my logs are Comcast and AOL, very mass-market ISPs.  Do you know how many of my visitors stroll on by with dialup?  10%.  60% are on cable/DSL and 30% are on a corporate internet (mostly teachers on their work computer, I’m guessing).  Additionally, of the 10% of customers who are on dial-up fully half of them hail from countries where I do not expect to ever sell a single copy of my software.

2)  Java/.NET deployment is very high.  97% of my visitors have some flavor of Java installed and enabled.  97%.  (Similarly, Flash stats: 98% total, 85% v8 or v9.) That doesn’t help me if they have the ancient MS1.1 JRE installed, which is one of the only widely-deployed JREs Bingo Card Creator won’t run on.  I don’t have any convinient way to check for that other than getting them to visit a certain page on my site, which most people don’t.  Of the highly unrepresentative sample that do, 80% of them at last count have Sun 1.3 or higher.  Don’t believe the statistics from 2000 that you read on the Internet about 50% deployment rates — Java, like Flash or .NET or anything, is a very viral bit of software.  You’ll eventually stumble across content which you want to access that needs it, and after you do this you’re set until your next computer upgrade.  The average person upgrades computers once every 4-6 years, which means as time goes on the number of machines which will have any given runtime approaches 100%.

3)  Know your market.  Lots of educational software, including the stuff distributed on CDs, requires Java to run.  I am able to happily piggyback on the inroads made by metric truckloads loads of eduware.  Its like how you can assume DirectX is installed on the machine of anyone who has bought a AAA computer game in the past, oh, ten years or so.

4)  Java comes pre-installed on most new consumer PCs.  it can’t be bundled with Windows anymore, but it comes bundled with your Dell, Gateway, Mac, etc etc.

From where I sit, its not worth the vastly higher development time and impact on the user experience to cut Java out of the equation, unless its  in favor of .NET, which I may very well try out for my next project but which has exactly the same wrinkle.  At current traffic rates, assuming every one of my dialup customers had no JRE and refused to install, that would cost me a total of 5 successful trial installations a month.  I get more installations originating from AdSense spam sites every week.

I’m not totally sanguine about requiring the JRE to run my application, but I think its a good tradeoff of market size versus development complexity.  I guarantee you that if I had to do my interface in MFC I’d still be months away from launch.  I suppose I could be convinced to change my mind by hard statistics showing that vast numbers of my potential customers can’t run Bingo Card Creator, but the best statistics I have available indicate this is not the case.

Advertisements
Explore posts in the same categories: Uncategorized

11 Comments on “Don’t Let Java/.NET Deployment Scare You”

  1. Phil Says:

    A third option is to program it in VB6, those apps will run without any framework, and the development is still pretty quick.

    But I agree 100%, the framework issue isn’t that big of a deal these days, people regularly forward huge YouTube videos and such without thinking twice.

    Even most of the Chimney Sweeps we deal with have a high speed connection these days. The only downside is you can’t use bleeding edge. As nice as .NET 2.0 is, I wouldn’t dream of using that for any apps until Vista comes out at least.

  2. Ali Says:

    Good points Patrick. I was also going to suggest that you use Vb 6. Its exactly for small programs like yours, very easy to code/learn and doesn’t require any framework downloads by the end user.

    I know where you’re coming from about not many people who don’t have the Java framework installed, still if its only 1 in 5 people who don’t install your software, that number could get to 10 out of 50, 100 out of 500, and 1000 out of 5000 as well. And who knows if many of these customers were actually easiest to convert.

    Its your choice, feel free to use Java if you want to. I’m just very obsessive over making sure the users have to do the absolute minimum amount of work in order to use/buy my thing:
    http://www.phplazy.com/blog/whats-with-lengthy-signup-forms.html

  3. cja Says:

    If I was making a program like yours then I’d use Delphi.

  4. James Says:

    This reads like you are trying to justify to yourself why you used Java.

    You know, I know, everyone knows, that using Java or .NET will REDUCE YOUR PROFIT. All you can do is justify why that is not a big deal to yourself.

    Fact: when starting a new project, choose a development environment that will maximize your profits.

    Hint: If you think that is Java or .NET then you need to take off your dev hat and put on your biz hat.

  5. Patrick Says:

    >>
    You know, I know, everyone knows, that using Java or .NET will REDUCE YOUR PROFIT.
    >>

    “1500 years ago, everybody knew the earth was the center of the universe. 500 years ago, everybody knew the earth was flat and 10 minutes ago, you knew the human species was alone on this planet. Imagine what you’ll know tomorrow.” — that great work of modern Western philosophy, Men In Black.

    Joking aside, I remain open to the possibility of being convinced of my error , but it would require evidence. c.f. my reevaluation of Yahoo Search Marketing: bloody annoying piece-of-junk software that it is, its cost performance *is* currently better than Google. I pay probably a 20% software-doesn’t-suck premium when I use AdWords.

    Minimally, to be convinced I was leaving money on the table due to Java, I’d have to be convinced of two things: #1, that there is a sizable fraction of my market which does not have a sufficient JRE installed. #2, that the added cost of development time for not using Java would be outweighed by the additional sales I would get from exploiting the Java-challenged market.

  6. James Says:

    Indeed, and I do hope your app is successful. You are providing useful information on using Java in shareware – currently there is zero data on this.

  7. jz Says:

    Me, I would include the JRE with the download without a second thought. 18 MB? I download more data than that playing with Google Maps on my cell.

    No hassles for the user, and no hassle for you detecting and coding for different JRE versions.


  8. I agree with jz. My company LandordMax (http://www.LandlordMax.com) offers a real estate property management software that is Java based. Install Anywhere (now owned by Install Shield) offers the ability to install the specific JRE locally that you want to run your software on. It doesn’t touch the other Java installations and it sets it up for your users locally. The extra size in the download is negliable in today’s day and age (I was at Best Buys today and they only had 1 dial-up modem in stock, it was right beside the USB hubs I was looking at).

  9. ChrisC Says:

    Also agree with jz. I’ve had good results with using an installer and the Launch4j project (http://launch4j.sourceforge.net/ ). JSmooth (http://jsmooth.sourceforge.net/ ) is another free option.

    For the most part nobody thinks about 18MB as large anymore. I’d be *thrilled* if some of the apps I used were 18MB. 🙂

  10. John Says:

    >>You know, I know, everyone knows, that using Java or .NET will REDUCE YOUR PROFIT. All you can do is justify why that is not a big deal to yourself.

    Did you not read any of the posts? It would take him much longer to write it in another language. Time is money so he loses profit right there.

    Someone mentioned VB6. Doesn’t that have a big runtime component too? Or is that included with Windows? Either way, common VB6? Talk about tied to the past.

    Patrick, does your software run on non-Windows PCs? Specicially Macs?

  11. Patrick Says:

    Yeah, about 10% of my sales are for Macs.


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s


%d bloggers like this: