Does Size Matter?
There was an interesting exchange on the recent Java Posse pod cast about the Java Kernel project, and how important size is to the JRE download. (Hmm, that's the second JP plug in as many months -- I wonder if I qualify for a Posse t-shirt or something? :) They referenced Robert Cooper's thought provoking blog which compares download sizes for various products, thus:
JRE 1.5.0 Windows offline installation: 16.00 MB Adobe Acrobat 7.0.8: 27.7 MB Real Player 10.5: 13.5 MB .NET 1.1: 23.1 MB
This got me thinking: is the problem more to do with Psychology than actual byte size?
In shops, products are regularly sold at a penny under the pound (dollar/whatever.) We get an awkward 19.99 rather than a nice round 20, because the discounted penny has some kind of strange mental trickery: we see only the 19 pounds and somehow subconsciously consider the product cheap(er).It's very hard to tap your subconscious mind, to snapshot your true first reaction to something: that instinctive judge-a-book-by-its-cover response which we know we should ignore, but often find hard to shake off. But I've been giving a lot of thought to how I personally view download sizes...
Strange as it might seem, for some reason if I see a program with a small download size I tend to be lulled into a false sense of security. "Oh, it's only 50k in size. Probably 'mostly harmless'." For some reason larger downloads take a wee bit more bravery to install. "Wow, 190Mb! That must be some heavy duty software. I wonder if the installation will screw up anything else on my PC?"
Irrational, I know!
I remember reading somewhere -- although I can't for the life of me recall where -- that many average users consider computers to be very fragile. They have no idea how to configure their Windows desktop, they don't understand what the icons in the Control Panel are for, so they live with a constant nagging fear that something might change or stop working and they won't know how to fix it. Seen in that light, it would be entirely understandable if new software was seen as a threat -- something which could potentially change something on their PC, or worse still stop it from working at all! And the larger the download, the more heavyweight the software, and therefore the more chance it will mess something up or change something important.
But if that was the whole picture, nothing would ever get installed! Surely the truth is more complex than that?
Perhaps we are dealing with something more akin to a 'bang-for-your-buck' principle? You know how it goes: your eye is drawn to an item in a shop, and by the time you flip the price ticket over you've already subconsciously made a decision as to what you consider the price should be. The trick from a sales point of view is to make you expect a high price, and be pleasantly surprised by the 'reasonable' one on the label.
The Flash plugin may not be small, but its glossy eye candy appeal makes the users think that the download size 'on the label' is going to be bigger than it actually is. In bang-for-your-buck terms (impact versus megabytes) Flash looks like a real bargain.
Java, on the other hand, is a far more general purpose tool. Any given applet will only show off a fraction of the capabilities of the entire Java platform. The 'wow factor' usually isn't as strong, and Joe User doesn't really comprehend what Java is 'about' (unlike with Flash, which benefits from being very focuses on specific types of functionality.) As such the perceived bang-for-your-buck looks less favourable than Flash. "I have to download and install how big a plug-in to make your wavy lake applet work?!?!? Hmm... I don't think I'll bother!"
Perhaps there's another factor involved here too, which I'm going to call the 'necessary-evil' principle. It accounts for why some bloated oversized applications seem to become must-have installations.
Adobe Acrobat's download size (27.7Mb) is huge for what it apparently offers. In my opinion Acrobat's bang-for-your-buck rating is very very poor. But(!) the PDF format is frequently used for crucial data which Joe User from time to time really wants to read. Specs, government/business reports, product data, sample letters/forms, etc, etc. None of this has a particular 'wow' factor, but it is stuff which the end user typically considers important -- unlike Flash eye candy. And given that PDF is Adobe's own file format, they have a reasonably strong lock-in with their software products.
The user may not like the huge Acrobat download size -- but they realise that they need a good PDF viewer, and this is the most feature-complete one there is.
So where does this leave the JRE?
Reducing the JRE size is a worthy cause, but as a community we must also work hard to get Java associated with the most jaw-dropping, mind-boggling, awe-inspiring, must-have software on the desktop and browser. We really need to push Java to its limits and exploit all its best selling points. So when 'Joe User' is confronted with the "Please install the Java plugin" dialogue on his brand new virgin laptop, he immediately thinks of all the outstanding ground breaking (and/or indispensable) Java stuff he's seen, takes one look at the download size and says out loud "Wow! Now THAT'S cheap!"