Virtual machines and fire discipline

In a recent post, Cringly describes the Flash VM is a perfect trojan horse, a platform for getting the software that Adobe/Macromedia needs distributed out to the internet at large.
Let’s say Adobe/Macromedia had some little bit of code – a VoIP client, for example — they wanted to bring to market. Just make it part of the next version of Flash. Over the course of a few months and practically without effort, that little program would be installed and ready to go in hundreds of millions of computers. Then all Adobe would have to do is to announce it and the service could be up and running practically overnight.


It is true that much of Macromedia’s value comes from the fact that they can push their new player out to the vast majority of browsers in less than a year, every year. But the article misses the mark a bit. One of the main reasons that the player is so ubiquitous is that Macromedia has been ruthless in keeping the player down to a manageable size (under a meg, every time). Compare that to the Java VM, which eventually ballooned to over 20 megs!
The temptation to use the player’s fantastic distribution rate to get into new businesses must be powerful. But that game is a dangerous one: making the player any bigger risks reducing the market penetration (consumers don’t like big downloads), which is what gives the company leverage in the first place.
Macromedia has shown tremendous Fire Discipline in this regard. Fire discipline is a military term for the art of using ammunition (always a scarce commodity on the battlefield) where it counts. In the excitement of business, it is easy to overreach, to spend your resources poorly and run out before you reach your objective. Macromedia obviously considers each byte in the player download a precious resource, and uses each one to maximum effectiveness.
Maintaining the player as a super-lightweight virtual machine sacrifices short-term profits in order to maintain the long-term value of the franchise. If Macromedia ever tries to use the player to get into new businesses, they will need to make each byte count: making the player too big would be a recipe for disaster.