The Planetarium

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

No sooner than the latest iteration of the upcoming FileSystem API makes it into the latest JDK7 build than someone is trying it out. Today, Sharon illustrates the use of the API to walk a file tree to look for files (including following any symbolic links) that match a given search criterion.

And if the file you need isn't on your laptop, maybe its on your Java ME phone. Just last week, Vikram did a detailed walk-through of how to use the Java ME Bluetooth APIs (standard API in the current MSA Java ME platform), to hookup to your laptop and push over the file to where you need it.

The Planetarium is now available in Russian !

The Planetarium recently had a new delivery, so its time to announce the Planet Cast.

The Planet Cast is a new podcast series devoted slavishly to technical conversations with the expert engineers who help bring you Java SE, JavaFX, Java ME and JavaCard. (No marketing !)

What Planet Cast would you like to hear ?


It can be too easy as you reach out for the next thing, to forget what's already in your hand.

This excellent detailed article on the Scripting Framework for Java, which is already part of Java SE 6 is just such a reminder, of what we already have, even as work continues apace to turbo-charge other langauges on the JVM for JDK 7. The Scripting Framework allows engines for other languages (like the one for JavaScript in JDK 6) to plug into the platform, and provides APIs for developers to evaluate code written in other languages.

In fact, the recently released Groovy 1.6, which includes a number of new language features (like optional returns from if/then and try/catch blocks, multiple assignments) as well as some handy peformance improvements, includes this pluggability layer into the JDK built-in.

And Python 3.0 has been turning the handle on new features. It's one of the 3 official languages of Google (the language of the Google App Engine, for example), and even runs in your hand today, on certain mobile phones.

As can Ruby, via the JRuby (Ruby on Java) project. Ruby's latest feature release (1.9) in January is one of the big ticket items for the next JRuby release.

Those developers who like a more Java and Swing based approach to GUI development looking to reach more users in more place should know that the open source LWUIT is extending its reach beyond today's MIDP phones to the TV platform.

You can see LWUIT on TV in this short video. A little like the JavaFX runtime, which runs over an underlying Java SE runtime (suitably consumerized), or a Java ME CLDC runtime, LWUIT runs atop today's Java ME CLDC runtime (like, for example, on this touch-enabled Samsung F480), and now the CDC based TV platform.

For developing on TV, you can get the SDK and emulator here. All works with NetBeans 6.1 or later.

Also a little like the JavaFX studio showcase for JavaFX apps, if you make a LWUIT application, you can have it showcased here for all to see, alongside the apps for anything from weight watching, visual voicemail to picking lottery numbers already on show.

And stay tuned to Joe's blog; he's been creating a full end-to-end mobile app on the Glassfish server with LWUIT.

Ahh, San Francisco in June. It has much to recommend it, in particular the JavaOne conference (cheaper if you sign up now). If you've never been before, this gives you a taste (or maybe this: illicit yet effective ?).

With more than 4 submitted proposals for every talk slot, its taken a couple months for the review teams, made up of people inside (your own Janitor included) and outside Sun, to work through the abstracts. With odds like that, and most of the talks or BOFs submitted in the four categories of: Core Technologies, Mobility, Services, and RIA looking very much like the kind of thing you'd want to go to (and even fill out the comment form for), its grim work to have to say no to so many.

This week, most of the emails got sent to let submitters know if they got lucky. If you were one of them, now's the time to start getting those slides and demos done !

As you probably know, there's a growing number of regular podcasters on various aspects of the Java Platforms. A great way to stay on top of what's going on in the Java world, and hear a few stories you might not see written down.

Like the latest episode of the Java Mobility Podcast, where Terrence and Roger do a great in depth interview on the new Java ME SDK, in early access. You probably know that it's the single, unified successor to today's two SDKs, one for CLDC and one for CDC app development. So it brings together all the APIs, tools and emulators for development for apps on anything from a mass-market phone to a Blu-ray disc. Simpler is definitely better, and this new consolidated SDK also includes a new, optimised CLDC runtime, a new runtime profiling tool (based on the one used in VisualVM), on-device debugging, and LWUIT support.

On the JavaFX front, the JavaPosse interview of the JavaFX team at Devoxx (including the back story on how the launch-day glitches on javafx.com got fixed), and Josh's recent, detailed interview all about JavaFX 1.1 on the RIA weekly with Cote.

And just for fun, try the recent This Ain't your Dad's Java cast (here, or here) our highly caffienated uber-geeks-turned marketing-execs-gone-wild talk on a variety of topics, including Swing versus JavaFX, Java SE 6u12, and the inside story on the winding road to release for JavaFX Mobile.

As you know, the JCP is where Java APIs, including all those in Java ME and Java SE are developed. Engineers form groups called expert groups to work on projects known as JSRs, and each JSR produces a specification (including the API), a reference implementation (a working implementation of the API), and a test suite which tests that other implementations do what the specification says they need to.

The JSRs are overseen by the Executive Committees (ECs) - one for Java SE and Java EE, and one for Java ME - who vote at key stages of a JSR (like the public review vote on Java EE 6 which finished today) to make sure its on track.

And when an open slot comes up on one of the ECs, there's an election. Votes and everything.

There's a vote now, to fill a vacant seat on the Java ME EC. There are 4 candidates fighting for this seat. Aplix, who build Java implementations for mobile phones, Cox Communications, big in home entertainment (particularly TV), and two active Java ME developers Shawn Fitzgerald and Marlon Luz, standing as individuals.

The JCP sent out the voting instructions this morning: directly to JCP members who are individuals, or for corporate members, to the primary rep. You can ask questions of the candidates here. Voting closes March 9th !

Java ME: Burning a Blu-ray disc

Filed under: bluray javame on Thursday Feb 19, 2009

Despite the current economic climate, nearly 10 million Blu-ray disc players were sold in the US in 2008 (a third in the last quarter), and consumers bought 2.5 times as many Blu-ray discs as the year before. As this article points out, the price premium of Blu-ray discs (despite discounting) may be holding back further growth. Or perhaps its because many of the titles available to date do little to explore the potential of the platform over plain DVD.

The potential of the version of the Java programming platform, BD-J, on every player. BD-J is composed of the CDC Java ME profile (which is a subset of the Java SE APIs) plus the Personal Basis Profile, plus a subset of the MHP and the JavaTV API for the TV specifics. Or just get the BD-J API docs all in one go here. So if you already know the Java language and the core APIs, you're going to feel right at home (or sitting comfortably, at least).

This new video guide shows you how to take a Java application (get source), built for Blu-ray, emulate it running on your PC, and then burn a test disc so you can run the app on a real Blu-ray player (like the PS3). It's is an excellent guide as to how to get started with Blu-ray app development.

The Story on JavaFX Mobile

Filed under: javafx javame mobile on Friday Feb 13, 2009

Unlike JavaFX 1.0, there were no hints about when JavaFX 1.1 (which includes JavaFX Mobile) would be released. So its interesting to see which aspects the stories about the release are picking up.

Some stories are playing up the comparison with Adobe and Microsoft's RIA technologies, wondering what they will have to announce next week at MWC to compare with JavaFX Mobile. Some focus on the new JavaFX partners: handset, carrier and mobile software partners (Sony Ericsson, LG Electronics, Sprint, Orange, MobiTV and Beeweeb) who are the first to sign on to help deliver JavaFX Mobile this year to consumers, and what they have to say.

For others its all about the numbers: the huge number of JavaFX Mobile ready handsets, or the 100,000 downloads of the JavaFX SDK by Feb 1st.

Some are picking up on consistency of the programming model desktop to mobile. And in a week where the next version of the Java ME platform is about to pass a major milestone, some are stressing the ability to use the mobile specific capabilities of today's underlying Java ME APIs, like address book, Bluetooth, camera, messaging, location, payment and web services.

JavaFX goes Mobile !!

Filed under: java javafx javame on Wednesday Feb 11, 2009

JavaFX Mobile has just released !!

Just ahead of the Mobile World Congress where it'll be on show, a big update JavaFX has just been released: bringing beautiful 2D graphics, video and all the great development features of the same JavaFX Script environment and Common Profile you already know to the most widely deployed runtime (estimated 2.6 billion) in the mobile industry.

And together with this release, you'll see that some of the most influential companies in the mobile industry have already pledged their support. They've also started handset and carrier testing. You'll be able to get your hands on some of the JavaFX Mobile enabled handsets at JavaOne 2009, with consumer phones by the end of this year.

JavaFX Mobile is part of the JavaFX SDK 1.1 (you may recognize it from the beta included in the JavaFX 1.0 SDK for the desktop). See a deep dive here, and check out the new samples for mobile, like the accelerometer sample, the Yahoo! Shopping client, and a mobile video player.

Get it while its hot !

The Mobile Service Architecture 2 (MSA 2) (defined in JSR 249) is the next generation of the Java ME platform for feature phones, following-on from the current MSA 1 (JSR 248) platform (which you can play with here). Given that MSA 2 is about to finish its public review, its time to take a look at it and some of the new APIs that it will add to the platform, so broadly adopted on mobile phones today.

MSA 2 covers a wide range of phones, from basic to smartphone, encompassing a wide range of capabilities. So MSA 2 divides the world into Low, Medium and High Segments, with more APIs being added as you move up the segment ladder.

Being added to the Low Segment (i.e. all future feature phones with Java), are the Mobile Sensor APIs defined in JSR 256, for accessing sensors like accelerometers, battery level or reception sensors.

To the Medium Segment: SAX and DOM XML parsing in JSR 280; the ability to watch TV on your phone in the recently completed JSR 272, APIs to 'skin' Java ME apps that were completed in JSR 280,  APIs for applications that turn your phone into a credit card (or more creepy uses) with Contactless Communication APIs in JSR 257 and bindings to the native graphics accelerator to speed the 3D in your graphics in JSR 239.

And for High Segment phones, MSA 2 is adding the ability to use XML and scripting to make a GUI in the almost complete JSR 290, and access to VOIP services through JSR 281.

Finally, as MSA 2 progresses to its final stages, Sun's Java ME SDK will be tracking the new additions in its upcoming releases.

Mobile World Congress is coming up

Filed under: javafx javame on Thursday Feb 05, 2009

You may not be a mobile developer (yet !), but its good to stay on top of what's going on.

The world's operators and device manufacturers use the Mobile World Congress show to announce their latest and shiniest. Like Samsung, and are rumored to announce their own app store, perhaps to provision 8 new handsets. Or Skype's Java client. A Nokia Netbook ? An LG smartphone ?

The Planetarium will be bringing you Java news from the show, including what Sun announces, which starts in a little over a week.

In the meantime, do you follow Hinkmond's blog ? He always showcasing interesting Java ME apps.

Maybe Java ME ?

Filed under: javame on Monday Jan 26, 2009

Maybe one of the apps you want to write for billions of mobile phones needs to mix different sounds. Like a game with ambient background music with foregound noises (exploding tanks, bubbles popping, friends coming online...you get the picture). Maybe you need to write it with an award winning tool.

Maybe you want a framework to embed it as a widget on the phone, and an on device store where users get it. All based on a lightweight user-interface technology that runs on all those Java enabled phones, which is also touch capable.

Maybe !

Starting this morning and running the rest of this week, the second Mobile Media and eMbedded Developer Days are here !

There's a packed agenda focussing on Java ME for mobile, TV, BluRay, JavaFX Mobile, tools, testing and more. Some of the brightest minds in Java for devices smaller than a PC are here and speaking, either in depth or in lightening talks.

You can swing by yourself, anytime over the next three days: watch the live feed and join the online chat here.