changes to PPath, add PShape and PArea

0 views
Skip to first unread message

Michael Heuer

unread,
Jul 19, 2010, 5:43:48 PM7/19/10
to piccol...@googlegroups.com
Thought I would ping the dev list -- I'm still looking for comments to
the changes for issues

Refactor PPath to use Path2D on JDK 1.6+
http://code.google.com/p/piccolo2d/issues/detail?id=152

PArea, a wrapper for java.awt.geom.Area to allow Constructive Area
Geometry (CAG) operations
http://code.google.com/p/piccolo2d/issues/detail?id=153

A few things to consider: the changes are not binary compatible with
1.3, so they need to go in 2.0; the minimum JDK version for 2.0 would
be bumped to JDK 1.6; and the current version of PPath is a widely
used class.

If there are no objections in a week or so, I'll add the static
factory methods, complete the javadoc and unit tests, and commit to
trunk.

michael

cma...@pixelzoom.com

unread,
Jul 21, 2010, 1:23:01 AM7/21/10
to Piccolo2D Developers
PhET's customers are the educational market, which typically lags
behind the technology curve. We only recently changed our minimum
system requirement to include Java 1.5. So I suspect that it will be
a long time (possibly years) before we change that requirement to Java
1.6, and only once we're confident that <5% of our users are using
something earlier than Java 1.6. So requiring Java 1.6 for Piccolo
2.0 would mean that we would be unlikely to upgrade any time soon.

I also understand that Piccolo 2.0 will contain breaking changes.
Since we have many products that use Piccolo, breaking changes will
also slow our upgrade.

That said... If you think it's the right thing to do, then I think you
should go for it, and require Java 1.6 for Piccolo 2.0. But we aware
that PhET is unlikely to be an early adopter of Piccolo 2.0. And
convincing PhET management that we should be involved in 2.0
development or testing may be a tough sell.


On Jul 19, 3:43 pm, Michael Heuer <heue...@gmail.com> wrote:
> Thought I would ping the dev list -- I'm still looking for comments to
> the changes for issues
>
> Refactor PPath to use Path2D on JDK 1.6+http://code.google.com/p/piccolo2d/issues/detail?id=152
>
> PArea, a wrapper for java.awt.geom.Area to allow Constructive Area
> Geometry (CAG) operationshttp://code.google.com/p/piccolo2d/issues/detail?id=153

Michael Heuer

unread,
Jul 21, 2010, 11:23:59 AM7/21/10
to piccol...@googlegroups.com
cma...@pixelzoom.com <cma...@pixelzoom.com> wrote:

> PhET's customers are the educational market, which typically lags
> behind the technology curve.  We only recently changed our minimum
> system requirement to include Java 1.5.  So I suspect that it will be
> a long time (possibly years) before we change that requirement to Java
> 1.6, and only once we're confident that <5% of our users are using
> something earlier than Java 1.6.   So requiring Java 1.6 for Piccolo
> 2.0 would mean that we would be unlikely to upgrade any time soon.

Do you have those numbers for your current users? As far as I know
Mac OSX on PowerPC is the only platform that doesn't have a 1.6 JDK
available. That probably is a large percentage of the educational
market though.


> I also understand that Piccolo 2.0 will contain breaking changes.
> Since we have many products that use Piccolo, breaking changes will
> also slow our upgrade.
>
> That said... If you think it's the right thing to do, then I think you
> should go for it, and require Java 1.6 for Piccolo 2.0.  But we aware
> that PhET is unlikely to be an early adopter of Piccolo 2.0.  And
> convincing PhET management that we should be involved in 2.0
> development or testing may be a tough sell.

I forsee the 1.3 branch having a long lifetime, since in addition to
the package name change, there will be several breaking changes in
2.0. We just need to make sure that non-breaking changes on 2.0/trunk
are also merged back into the 1.3 branch.

michael

cma...@pixelzoom.com

unread,
Jul 21, 2010, 2:32:08 PM7/21/10
to Piccolo2D Developers
Mac users are only 14% of PhET users; 83% are Windows. 80% of PhET's
Mac users are on Intel, but most are running Mac OS 10.5. Mac OS
10.6 is the first version to install Java 1.6 as the default (and
only) Java version. Mac OS 10.5 has both Java 1.5 and 1.6 installed,
but Java 1.5 is the default. And we can't expect our users to change
their Java configuration, they're not that savvy, and it would create
a big support problem. So Java version is not really a PPC issue, and
we're going to be supporting Java 1.5 on Mac for awhile.

Windows is a little different, since Java isn't tightly integrated
with the OS, like it is with Mac OS. But we've seen that our Windows
users are slow to upgrade their Java. I don't have Java version
numbers handy, but last time I looked I recall that Java 1.5 was still
the majority. I think this may be typical of the educational market,
since schools typically have policies about who can update software
and when, so no one bothers until things break. And some of our
international users only have access to older technology.

Btw... PhET's user community is quite large. PhET had over 10 million
simulations (Java and Flash) run from its website last year, with 34%
of those users outside the USA, in 51 languages. And that's been
growing ~35-50% per year since 2004. So Piccolo is helping to
providing valuable educational tools to many users.

On Jul 21, 9:23 am, Michael Heuer <heue...@gmail.com> wrote:
Reply all
Reply to author
Forward
0 new messages