The Planetarium

           Java for all clients: Java SE, Java ME, JavaFX and JavaCard

The Java Store team here at Sun is in the final stage of readying things to fling open the doors to shoppers in the next week or so !

This means one more tweak of the store front: just like in a physical store, polishing signage, perfecting the display areas and checkouts: in this case making the final UI changes to the all-JavaFX desktop app that showcases all the Java and JavaFX applications in stock and allows purchase and installation.

And it means final verification of the apps that will be on the shelves of the store on the day it opens - approaching 50 already, as participants in the beta program will already know - with more applications, ranging from free to paid, to come. All coming in at the back of the store, the Java Warehouse, which has been pretty busy of late.

So if you have a Java or JavaFX app that's looking for an audience (like, perhaps the 60-70m that download the JRE each month...), you should stay tuned to the Planetarium. Much more in the coming weeks !

JDK Watch: Back to school

Filed under: javase jdk7 on Tuesday Sep 15, 2009

What with zipping all over the place to talk to folks about using JavaFX, and the quarterly JCP EC meeting, the Janitor has so much news saved up !

Things are never dull around the JDK, and in the back to school rush, there's been plenty going on. Sadly, the Swing Application Framework hasn't reached a point where its ready to be included in JDK 7, but most all of the other features are on track since milestone 4 was released. As you can see in the latest builds, the team continues to tweak the new garbage collector and Project Coin announced its additions to the Java language.

Tomorrow, its the start of the annual JVM language summit, with a great looking schedule lined up. It seems that there's another language other than Ruby and Python: Duby (ok, its a hybrid) that's now using invokedynamic to speed its execution.

There's also more signs of developers trying out JDK 7. The new Filesystem API designed in JSR 203 seems to be a major attraction, indeed, for some, enough in itself to justify an upgrade. And there are more signs that its going to be fast, especially when Jigsaw is included.

New API for Constraint Programming

Filed under: java javase on Wednesday Aug 19, 2009

Constraint programming is a kind of declarative programming. Specifically, where you say what conditions constitute the solution of problem, rather than the laying out steps or algorithms by which you get to it. Deng Xiaoping had a saying for it. A bit like assessing weather conditions for sailing, or evaluating economic indicators when deciding central bank policy, these conditions come in the form of restrictions on the interrelationships of a carefully selected set of variables which model the computing problem.

There are various Java libraries to help write applications that use this idiom, like Choco, or Constrainer, to name but two, and there's growing interest in this style of computing.

So it was good to see yesterday the JCP give the go ahead to develop a standard Java API for constraint programming.

Garbage First 'quite zippy'

Filed under: java javase jdk7 on Wednesday Jul 01, 2009

You've probably been told over the years how great JVMs are. How well they've scaled, perform under a variety of different loads. How its doing its part to take advantage of the processing power of multi-core systems now that cranking the clock rate is almost wrung dry.

The automatic memory management provided by the JVM's garbage collector is one of the most important aspects of scaling the JVM. There are many different kinds - as this great primer shows.

The new (free) Hotspot Garbage First collector in beta form for evaluation in Java SE 6u14, and which will ship production quality in JDK 7 is summarized succinctly here, and you can find a more detail here about this generational, compacting, mostly parallel collector that offers a much smoother ride that the CMS collector will replace.

And some early signs of use are encouraging !

JDK 7: Collecting Honey

Filed under: java javase jdk7 on Wednesday Jun 17, 2009

There's also been a flurry of blogging and articles around the JDK 7 Preview, released at JavaOne, too.

Like about Project Jigsaw, which will modularize the JDK. Most of the audience got it when Mark announced that Classpath is Dead, but for a deeper dive, check out this JavaPosse episode, where both Mark and Alex got a grilling.

Or about the multi-language VM work, which John presented. And Charlie has used already in an experimental version of JRuby. And bytecode manipulation framework ASM has already picked up. Who's next ?

Project Coin, which is gathering a small set of additions to the Java language for JDK 7 is narrowing down the many options, as you can see from Joe's slides.

Take a look at this detailed article about NIO2, also in the JDK 7 Preview, and which Alan presented on.

And thankfully the is-the-G1-collector-free-or-not storm in a teacup blew itself out.

Is it hump day already ? Day two: all about smaller devices !

More App Stores

The day started out with a keynote by Sony-Ericsson, who, guess what, are opening an app store for Java ME apps ! Together with the previous day's announcement from Verizon opening up their application developer model to Java ME, and of course Sun's new Java Store, the Planetarium's prediction that this is the year of the app store, really is coming true !

JavaFX Mobile 1.2

JavaFX Mobile developers are getting that performance boost as part of the JavaFX 1.2 release (20% in runtime perf, about 1/3 reduction in compiler output). And of course all the other goodies like the cross device UI controls.

Eric showed great new JavaFX apps at the Sun Mobility keynote: ReallyMe for social proximity, and PayPal (pictured) for mobile payments.

JavaFX Mobile Phones

Sony-Ericsson wrote a Twitter client (perhaps not as good as this one) live in their keynote and deployed it to three of their JavaFX phones, including those running WindowsMobile and SymbianOS). Best of all, JavaFX Mobile 1.2 phones are on sale at JavaOne, some even got hurled at the Mobility Keynote.

Java ME

The testing framework Java Verified goes into open source, and plays a central role in the new anti-fragmentation initiative JATAF (behind which Orange and Vodafone threw their support today), Java ME 3.0 SDK running on a MAC is on show at Java Utopia, and the recent PhoneMe milestone 4 release.

And in preview for the end of the year....

JavaFX (running on embedded Java SE on Linux) seen running on a new Qualcomm smartbook, the JavaFX TV platform running on the LG TV.

Halfway through the first day of JavaOne 2009, so much has already happened !

There'll be more about JavaFX and Java ME tomorrow, but here's the announcements about Java SE and JavaFX so far.

The Java Store
What's the thing that will allow Java and JavaFX developers to get their apps out to a massive audience ? You knew it was coming ! The Java Store doing a restricted preview of its late summer grand opening, which means you need to sign up to try it out. The front end is a JavaFX application, the backend, which also includes the Java Warehouse, where developers will submit applications that show up in the store, is a Java EE application running on Glassfish. The first iteration is for desktop applications, with mobile apps coming later.

JavaFX 1.2
Surprise ! There's a new mobile emulator, there's a long list of new cross device GUI components, layouts, support for RSS and ATOM feeds, the startup on the desktop is about 40% quicker. Try out the new samples. And there's preview versions of JavaFX on Solaris, Linux.

JavaFX.next
JavaFX on TV, as seen on an LG TV set-top box ! A new JavaFX Authoring tool ! Totally new super fast graphics stack for JavaFX. All three by the end of this year.

Java SE
Java SE 6u14 is out with the new 64bit browser plugin, and an evaluation version of the new G1 collector. The preview of JDK 7 is released (based on Milestone 3), and a first sighting of Project Jigsaw, showing the JDK partitioned into a set of small modules: jdk-base, jdk-awt, jdk-swing, jdk-tool etc that can be loaded (quickly!) with minimal dependencies.

Deja vu moment
Rewriting StarOffice in JavaFX ?

Inside the walls of the Planetarium you can gauge people's stress levels quite easily: Are they counting off the days until JavaOne begins, or the number of days until it ends ?

Of course all the sessions are online now, and you should be signing up because some of them are already full. And of course, students get a free pass. And of course who will the special guests will be, in this, the year of the app store ?

Alex Miller posted a nice list of JDK 7 / Java SE 7 talks, and Terrence posted a comprehensive preview of mobility related activities. There's a bunch of JavaFX stuff going on (so much more to say this year), like Jim's panel session, and many, many others.

Hope to see you there !

JDK 7 Watch: UI week

Filed under: java javase jdk7 jdkwatch on Wednesday May 06, 2009

It seems the Janitor is not the only one on JDK 7 watch these days.

Last week's JDK 7 build was a GUI flavored one, with a couple of the most visible features added to Java SE 6u10 making it into the JDK 7 codebase. Alex blogged about the addition of Nimbus Look and Feel (did you know which L&F most people like best ?), and translucent and shaped windows are now in. There's also a rumor that JXLayer is nearly ready - this is the handy utility that helps you add effects to composite Swing GUIs, like this, or this.

And you knew that NIO2 is already in the JDK 7 builds, but you might not have known that there are a bunch of samples for it too.

What's interesting about this picture of the JavaFX Flickr photo app ? Ya, its been dragged out of the web page. No big deal, but previously only possible on Windows.

What's interesting about it is was dragged it out of Safari 4 beta on the Planetarium's resident Mac ! No dual boot/virtualization tricks, honest.

If you want to check out the new browser Java plugin running on MAC its a 3 step program: get Safari 4 beta if you don't already have it, then get the latest Java update from Apple. The latter is a developer release (so far !), so you'll need to login to get it. Then make sure you set your Java Preferences to 1.6, and have applets use their own process.

And speaking of exciting beta software, you might want to check out NetBeans 6.7. (Hello, I'm a NetBean !) This release, amongst other things, hooks developers up directly within the IDE to project hosting/collaboration site Kenai, and Bugzilla.

Marking a mask-free return from Mexico, the Janitor returns to a pile of acivity in the Java and JavaFX world.

As Remi noted, invokedynamic, the bytecode centerpiece of JSR 292 has been committed to JDK 7, as have method handles, good job since its on the list for M3, which is the release for JavaOne. And speaking of M3 features, SCTP is now in the latest weekly build. Things are shaping up !

In JavaFX-land, some of the early developer sketpicism seems to be modulating towards something altogether more positive, as well as some unprompted feedback to rival RIA technologies. Of course the latter comparison is with the Swing of 5+ years ago: today it looks much different. And the mysterious paranormal JavaFX goings on continue. Weird.

And perhaps prompted by the release of another milestone of the PhoneME project (open source Java ME for phones implementation...), and the all-in-one Java ME SDK 3.0, the Java ME SDK team now has a group blog.

JDK 7 watch: Milestone 3

Filed under: javase jdk7 jdkwatch on Tuesday Apr 21, 2009

Even as The Planetarium was hearing all about its new landlord, it was good to see JDK 7 showing steady progress towards its milestones. The next one, M3, is going to be the JDK7 Preview release for JavaOne. With the inclusion of SDP, and early sightings of SCTP, and ongoing work forward-porting Java SE 6u10 features into the JDK7 codebase, the next big thing to look out for this milestone will be the integration of JSR 292.

In related news, there's a new combined JDK/JavaFX SDK download bundle for those of you who like it all in one. You might want to keep tabs on this blog, which is fairly consistently blogging code showing how to use the new features going into JDK 7, like how to use Paths instead of Files with NIO2, and a nice deployment toolkit 101 for those of you deploying applets of some flavor. And Dr Dobbs pulse appeared to race about the seductive qualities of the new concurrency work for jdk7, with hopes that it will help prolong the success of Java in the technology jungle.

Racing to learn

Filed under: javafx javaone javase jdk on Friday Apr 17, 2009

Is it because of Madonna and Justin Timberlake ? Our life experiences being compressed to bursts of 160 characters ? Pecha Kucha ? Our long, satisfying URLs being reduced to a bite-sized snack ? What is it that's fuelling a proliferation of articles and blogs proclaiming a time bound learning experience for developers. Even the normally fad-resistent Planetarium has been know to fall victim !

Got 5 minutes ? Catch up on 10 years of Netbeans, create a JavaFX drawing app, learn the technology for representing Java objects as XML and vice-versa, deploy a JNLP application, write a test for Java Persistence (or go the whole hog: write a Java EE app), or create a JavaFX media player ?

How about 10 minutes ? Devx appears to be trying to corner this market, or you can buy the book, but otherwise you can take your pick from: deploying an applet with the deployment toolkit, use log4j in Eclipse, learn ant, Python, or JavaFX from saying hello, to triggers and databinding to invoking RESTful web services.


With the luxury of 15 minutes to spare on something like JavaFX, you could learn the language, or see what you can do with the graphics.

Just think what you could learn in a whole week !

A cute little newish project you may not have seen is the ImageUploader project over at java.net. Its a cross-platform Swing application (screenshot) for selecting images to upload, as the name hints at, complete with drag and drop from native file explorers, roll-over effects, image preview. When the time comes up upload multiple files, it POSTs them over to a URL, complete with reassuring progress indicators. Its under BSD, and even the Janitor could easily check the repo, compile it in NetBeans and have it running within minutes.

Nice, especially as an applet, if you need image upload on your website.

Of course it has a customized version of JTree. Something not commonly available on mobile phones, unless of course, you include LWUIT in your application, in which case, its relatively easy to build down off the LWUIT composite Container model and build your own, as you can see explained in detail here.

It's a good thing that the work to turbo-charge the JVM for multiple languages will make it into the JDK 7 builds in time for JavaOne, because as Roberto blogs, there's another scripting showdown planned. Last year they duked it out over a Twitter client (JRuby took the prize), what should it be this year ?

There are also great sessions planned each of the contestants in the Script Bowl 2009: representing Clojure, Jython, Groovy, JRuby, Scala.

And, to better understand how these all run, and can run better on the JVM, in a dual play on 'rebirth' and a period in european history starting in 15th century Italy, where scholars were noted for their pursuit of multiple skills, as typified by Lenonardo DaVinci, John and Brian are lining up an interesting talk on the Renaissance JVM.

(Check out the JavaOne session catalog yourself here)