From: Arved Sandstrom on
Peter Duniho wrote:
> Arved Sandstrom wrote:
>> Roedy Green wrote:
>>>
>>> I develop for JDK 1.5 using JDK 1.6 with the target option.
>>
>> Any particular reason why you would target 1.5?
>
> I can't speak for Roedy, but as a general rule, there is sometimes value
> in targeting lower versions of an API, to ensure that specific customers
> who can't upgrade can still remain customers.
>
> As an example: on the Mac OS, the only way to get Java 1.6 is to upgrade
> to Leopard or higher (OS X 10.5). But not everyone wants to upgrade to
> the newer OS version, nor even actually can.
>
> As time goes on, the number of people subject to these restrictions does
> go down dramatically, and eventually it makes sense to go ahead and move
> up in the API version. But even when that happens, for someone
> following that strategy, they will typically still be behind the "latest
> and greatest". If the customers of concern are using Macs, then there's
> no way to move to the most recent Java version, because Apple is always
> at least a version behind.
>
>> [...] Note I said _technical_ reasons: the
>> inability or more often the lack of desire of some small percentage of
>> the user population to properly upgrade just doesn't cut it.
>
> What about some large percentage of the user population? What about if
> some customers are more important than others, even if in the minority?
> And frankly, if we are talking about someone else's sales, who are you
> to tell them how many customers they can afford to cut off, regardless
> of reason?
>
> Pete

I know about the situations where you have to cater to a customer's
unwillingness or inability to upgrade an end-user program or server or
database. I bump into them all the time. Usually it's cost - cost to buy
upgraded software or cost to hire developers to upgrade an
application. But rarely have I run across a situation where it was an
issue to upgrade Java, for either cost or technical reasons, which is
why I was asking.

I'll concede that Mac OS X is a legitimate case. I also note that not
many people, percentage-wise, use Mac OS X, and I suspect it's also a
demographic that won't be mired in ancient versions.

As for me telling, I'm not telling Roedy anything. But I do feel that
every developer who unnecessarily provides support for obsolete software
versions is doing everyone else - other developers and consumers - a
disfavour. Which is why I was asking. If he actually has a niche target
market that truly for some arcane reason cannot upgrade to 1.6, then
he's got a good reason.

Final note: you mentioned certification reasons. Sure, I'll buy that.
But it strikes me that customers who are concerned about certification
should also be concerned about running on obsolete software. Sometimes
it's a hard sell, because God love them, customers fear change, but
eventually they can be convinced.

AHS
From: Arved Sandstrom on
Roedy Green wrote:
> On Sat, 06 Feb 2010 09:33:21 GMT, Arved Sandstrom
> <dcest61(a)hotmail.com> wrote, quoted or indirectly quoted someone who
> said :
>
>> Any particular reason why you would target 1.5?
>
> If I don't need 1.6 features, I code to 1.5 or even 1.1. I intend for
> my code to be inserted in other people's code. The lower that number,
> the wider the audience for my work.
>
> When you get many different packages interacting, management can
> freeze on a JDK (even 1.4!) because they don't want to spend the money
> retesting or tweaking.
>
> The CurrCon applet is written to Java 1.1. I don't want to exclude
> anyone from seeing the nationalised prices on my website no matter how
> ancient their browser's Java.
>
> The less technical my audience, the lower I aim for.

Fair enough, I guess. We're talking different audiences, clearly. I
still don't entirely agree with you - personally I'd be influencing
those people with ancient Java to upgrade or go without - but that's
just me.

I get a bit hot under the collar when the issue of coding to obsolete
software comes up. It's a hindrance, sometimes a serious hindrance, in
development of good enterprise software. I still have to support J2EE
1.4 and JDK 1.4 apps when the clients to a man have no good reason not
to upgrade. The vendors, despite public utterances, do not want to
support the old stuff, and quite frankly neither do most enterprise
developers.

And I don't understand your last sentence at all. Why does the technical
ability of your audience dictate software versions? Seems to me that the
least technical would actually appreciate modern versions, not obsolete
ones. Just because you're not using *language features* from later
versions is no good reason to use old versions that lack a whole bunch
of improvements in all areas. Would you deliberately write web pages
that are optimized for IE6 and thereby connive at keeping that disaster
alive? No, you wouldn't...so why adopt a similar approach with Java?

Personally if I run into non-technical clients that are using old J2SE
and old J2EE, I educate them as to why they should move with the times.
That's part of my job description - I'm not helping them out by letting
them use obsolete stuff. Just my opinion.

AHS
From: Roedy Green on
On Sat, 06 Feb 2010 22:11:35 GMT, Arved Sandstrom
<dcest61(a)hotmail.com> wrote, quoted or indirectly quoted someone who
said :

> Why does the technical
>ability of your audience dictate software versions?

Imagine trying to explain to your mother that she needed to upgrade
her Java. Even if you gave keystroke by keystroke instructions, it
would be like asking her to skydive. It would just terrify her.

There are a big class of people who never upgrade software. They just
buy a new computer every decade or so and start over from scratch.

This is one reason I am a big fan of self-upgrading software. Yes is
has potential to screw up, but that balances the problems of never
upgrading.

I think how often I have to use my technical abilities to patch the
registry, delete files etc to clean up after failed installs. For
that class of person, if the install failed they would have to live
with the effects until they bought a new computer. No wonder they are
so loathe to change anything.

Some people live in rural areas where there is no help, even for
inflated prices.

I have yet to experiment with remote control software for such
problems. The catch is, the computer has to remain bootable and
capable at least of running the remote control software or you are
hosed.
--
Roedy Green Canadian Mind Products
http://mindprod.com

Every compilable program in a sense works. The problem is with your unrealistic expections on what it will do.
From: Roedy Green on
On Sat, 06 Feb 2010 20:38:27 GMT, Arved Sandstrom
<dcest61(a)hotmail.com> wrote, quoted or indirectly quoted someone who
said :

> I bump into them all the time. Usually it's cost - cost to buy
> upgraded software or cost to hire developers to upgrade an
>application.

I am a bit compulsive about upgrading the very day any new version
comes out. I even wrote a program to probe the websites of all the
software I use to keep tabs on updates. see
http://mindprod.com/jgloss/products1.html#VERCHECK

However, I noticed that often a simple upgrade can trigger almost a
day of fiddling about adjusting to the new version. Its "better" in
the end, but from a business person's perspective, the minor
improvements can't really be justified. "If it ain't broke, don't fix
it".

I do it anyway motivated by curiosity, and because I write so many
emails to authors telling them how to improve their programs and to
report bugs. I can't very well do that if I am not using their latest
version and keep all related software up to date.
--
Roedy Green Canadian Mind Products
http://mindprod.com

Every compilable program in a sense works. The problem is with your unrealistic expections on what it will do.
From: Arved Sandstrom on
Roedy Green wrote:
> On Sat, 06 Feb 2010 22:11:35 GMT, Arved Sandstrom
> <dcest61(a)hotmail.com> wrote, quoted or indirectly quoted someone who
> said :
>
>> Why does the technical
>> ability of your audience dictate software versions?
>
> Imagine trying to explain to your mother that she needed to upgrade
> her Java. Even if you gave keystroke by keystroke instructions, it
> would be like asking her to skydive. It would just terrify her.

It's not a pretty picture, and that's contemplating that vision for both
my parents. :-)

> There are a big class of people who never upgrade software. They just
> buy a new computer every decade or so and start over from scratch.
>
> This is one reason I am a big fan of self-upgrading software. Yes is
> has potential to screw up, but that balances the problems of never
> upgrading.
>
> I think how often I have to use my technical abilities to patch the
> registry, delete files etc to clean up after failed installs. For
> that class of person, if the install failed they would have to live
> with the effects until they bought a new computer. No wonder they are
> so loathe to change anything.
>
> Some people live in rural areas where there is no help, even for
> inflated prices.

Very true - almost all of my better half's extended family lives in the
Annapolis Valley, and none of them are about to dial up a Geek
Squad-like outfit from Halifax.

> I have yet to experiment with remote control software for such
> problems. The catch is, the computer has to remain bootable and
> capable at least of running the remote control software or you are
> hosed.

I must admit, you make good points. I sort of operate as a technical
resource for friends and family, and I'm sure a lot of us technical
types are in the same boat. Having said that, I can't remember the last
time I personally had a problem with a JDK or JRE install or upgrade,
and I do it routinely on Linux (a number of distros), Windows (XP and 7
right now), Mac OS X (10.5 and 10.6 recently), and occasionally on
Solaris. I've had to sweat considerably more over some game
installations on Windows, or re-fixing GPG for Mail every time Mac OS X
upgrades, but not Java.

So my question is a very specific one concerning Java only, not programs
in general.

On a related note, the irony is that for all of the folks we are
describing here, life would be so much easier for them if they actually
upgraded religiously, applied patches, ran their diagnostics and acted
on the results, etc etc. I don't think that there is necessarily an
issue if people only buy a new computer every 10 years - I've stretched
out secondary boxes that long with no significant problems. Rather, it's
all about OS and applications software maintenance.

And no argument from me that all of us on the technical front could make
life easier for consumers.

AHS