Skip navigation

Geertjan Wielenga's recent post What is Happening vs. What is Interesting immediately caught my interest. The opening paragraph is:

Devoxx 2011 was yet another confirmation that all development everywhere is either on the web or on mobile phones. Whether you looked at the conference schedule or attended sessions or talked to speakers at any point at all, it was very clear that no development whatsoever is done anymore on the desktop.

As you read further into the post, you realize this is not Geertjan's actual opinion. Rather, it represents what you'd think was happening if Devoxx 2011 and informal conversations that occured there were all you had to go on. Yet, there are thousands of desktop applications that are completely ill-suited for porting to the web or mobile phones (Geertjan lists, for example, apps "that have processing requirements, security requirements, and the requirement that they'll be available even when the network is down or even completely unavailable").

Is what's happening with the desktop a matter of divergence of client platforms in multiple directions? With clients that can be lightweight moving away from desktop computers and onto mobile devices; clients that can be ported to the web moving there; and clients that are tightly bonded with highly reliable, secure back-end processing remaining on desktop systems? But, if these latter clients are on desktop systems, and consumers increasingly utilize mobile devices that increasingly look and feel less and less like desktop computers, don't traditional desktop applications become almost invisible to all except those who develop them or who use them in their daily jobs?

It seems to me that, in a sense, these types of critical desktop applications are today more akin to the back-end enterprise processing with which they're integrated than they are to the apps people download onto mobile devices. As though the traditional desktop application now resides almost exclusively in, or nearby, or in conjunction with the corporate data center.

Java EE gets plenty of attention. For this reason, it would seem that the rich desktop applications that enable corporate users to utilize their highly reliable and secure back-end processing should also get plenty of attention. But this doesn't seem to happen. One possibility is that this evolution of what a desktop application is, where it's located (in homes and businesses, or just in businesses), has lent desktop applications an unfair disadvantage, added confusion, etc. Are mobile apps desktop apps? Maybe? Not really?

The definition of highly reliable, secure, enterprise processing hasn't changed much in the past couple decades. But "the desktop" has changed immensely. So, the topic of conversation for Java EE hasn't really changed -- it's still the same type of problem that's being solved. Can you say the same for the desktop?

Figure 1. Powerful desktop application platform, circa 1996. The device featured 8 MB RAM, a 411 MB hard drive with compression, and an integrated modem; the software bundle included software that enabled using the device to send and receive faxes, and special added software that permitted the device to function as a telephone answering machine.

Fifteen years ago we were addressing enterprise data center problems, the typical consumer in richer countries owned one or more PCs, there wasn't much of a Web, email was new to many of us, and cellular phones were, basically, telephones. How different today's world is in these areas -- except for the enterprise side. How different everything is today on the client side! So, what indeed is "the desktop" today?

Our current poll is related to this discussion. It asksWhy does development for the desktop receive so little publicity today?. What's your opinion? Voting will be open until Friday, December 9. Weblogs

Since my last blog post, several people have posted new blogs:


Our latest article is Sanjay Dasgupta's SWELL - An English-Like DSL for Swing Testing.

Java News

Here are the stories we've recently featured in our Java news section:

I was pleased to be able to meet the JFrog team in the JavaOne 2011 Exhibition Hall. If you're not familiar with JFrog, and you're a member or leader of a Java development team, and you employ automated build tools, and regularly produce releases for your user community -- you probably should read on! JFrog won a Duke's Choice Award at last month's JavaOne for their Artifactory repository manager; and their Artifactory 2.4.0 release breaks new ground by expanding the boundaries of what the phrase "repository manager" can mean for development teams.

The image to the right is from a tshirt JFrog was giving away to interested parties at JavaOne. The reference is to the heroic, never defeated, always cool and controlled, British secret agent James Bond, of English language novel and movie fame (he famously introduced himself with: "The name is Bond, James Bond"). I like the shirt, and I think it well represents the JFrog approach to the problems engineering teams face. Do we want to be swallowed up by the software development/release death spiral, or do we want to fight our way out of it!?

James Bond is innovative, creative, he takes risks, yet the risks are always carefully measured, and no adventure is ever risked if the potential gain doesn't far outweigh the cost. This seems to me a very good way to run an innovative company! Perhaps this notion is part of the reason JFrog chose to create this particular tshirt to give away at JavaOne. As I see it, this does indeed well fit their mode of operation., I'm not alone in thinking something quite brilliant is going on at JFrog. They won their 2011 Duke's Choice Awardfor building:

the world's first binary repository manager. Built with the Content Repository API for Java (JCR) specification, it is helping change the way developers build and manage software modules by delivering high concurrency and unmatched data integrity.

Not long after JavaOne ended, JFrog announced the release of Artifactory 2.4. This release, to me, is pretty amazing. I've been around, developing software, leading engineering teams, etc., for a while (ummm, beyond 3 decades and still going)... So, I've worked with lots of technologies.

Sometimes, something comes along that makes eminent sense, yet who'd have ever thought of it (even among most experienced developers)? So, it comes as a complete, but welcome, surprise, when a time- and headache-saving convenience is presented. To me, this is what the new Artifactory 2.4 YUM Repositories and RPM Provisioning feature represents. I work as much as possible in Linux. This new feature makes it so easy for project teams to deliver releases for the major Linux distributions directly from Artifactory.

Other primary new features of Artifactory 2.4 include P2 Repositories (for Eclipse), major performance improvements, full security management via the REST API, regex-based tokens for repository layout definition, and API and plugin additions.

I like JFrog's "Core Values" statement"

JFrog's core values are based on non-compromising professionalism, superior quality code, first-class service, strong customer relationships, mutual trust and integrity.

You can't be a software development team's James Bond without those commitments, can you? Now, I won't call myself James Bond, or even Jevin Frog, but those principles have certainly been an important element of my own success in my 1/3 of a century long software development career.

By the way, the door is open for your participation in the Artifactory Open Source project. Did you know that Artifactory started out as an open source project, back in 2006? The objective was "trying to solve real problems with Maven integration within a variety of enterprise settings." The effort is ongoing!

You can follow JFrog - Artifactory on Twitter. And you can read the JFrog blog. Quite good stuff! Weblogs

Since my last blog post, several people have posted new blogs:


Our current poll asks What will be the effect of active participation by Java User Groups in JSRs?. Voting will be open until Friday, November 25.


Our latest article is Sanjay Dasgupta's SWELL - An English-Like DSL for Swing Testing.

Java News

Here are the stories we've recently featured in our Java news section:


Our latest Spotlight is Tori Wieldt's New Java Champion: Michael Levin:

Welcome Michael Levin to Java Champion community! Michael is a JUG leader involved with Orlando, FL OrlandoJUG, the Gainesville, FL GatorJUG, the West African JUG SeneJUG and the New Orleans, LA CajunJUG...

Subscriptions and Archives: You can subscribe to this blog using the Editor's Blog Feed. You can also subscribe to the Java Today RSS feedand the blogs feed. You can find historical archives of what has appeared the front page of in the home page archive.

-- Kevin Farnham
Twitter: @kevin_farnham indicator of the recent history of Java is the fact that four and a half years elapsed between the 7th edition of Herbert Schildt's "Java: The Complete Reference" and the 8th edition, which came out this past June. I've been browsing the new edition, which includes Java 7, and I'm finding doing so quite enjoyable!

Herbert Schildt has written comprehensive guides to C, C++, and C# in addition to his Java works. Since C++ was largely an expansion of C, and Java was partly a response to the problems (consider memory management) of C++, and C# was largely a response to Java, it's clear that Herbert has an in depth view of the history of all of these languages, their interrelationships, the echos from each of the earlier languages that exist in the later languages. That's a unique point of view!

The book's Technical Editor is Danny Coward, who's contributions to Java include Java EE, leadership of many JSRs, and establishing the original JavaFX team. It's hard to see how this duo could go wrong in producing a comprehensive Java reference -- and, indeed, they succeed!

Java is a big platform. Reflecting this fact, "Java: The Complete Reference, Eighth Edition" spans 1152 pages (128 more pages than the 7th edition).

No one can possibly know every detail of every aspect of Java. All of us must specialize in a few selected areas. We're "experts" in those areas. But even long-experienced Java developers are surely novices across wide spectrums of the Java platform. This, I think, is where "Java: The Complete Reference, Eighth Edition" shines for experienced Java developers. And, for less experienced Java developers, the book is an excellent compendium of everything in Java -- a "must-have" I'd say!


Our current poll asks What will be the effect of active participation by Java User Groups in JSRs?. Voting will be open until Friday, November 25.


Our latest article is Sanjay Dasgupta's SWELL - An English-Like DSL for Swing Testing.

Java News

Here are the stories we've recently featured in our Java news section:


Our latest Spotlight is Roger Brinkley'sJava Spotlight Episode 57: Live From #Devoxx:

Live from Devoxx 11, an interview with Ben Evans and Martijn Verburg from the London JUG along with Yara Senger from the SouJava JUG on the JCP Executive Committee Elections, JSR 248, and Adopt-a-JSR program...

Subscriptions and Archives: You can subscribe to this blog using the Editor's Blog Feed. You can also subscribe to the Java Today RSS feedand the blogs feed. You can find historical archives of what has appeared the front page of in the home page archive.

-- Kevin Farnham
Twitter: @kevin_farnham

Last night I browsed the just released November-December issue of Java Magazine from cover to cover. To say that I'm "impressed" would be a huge understatement. Now, it's true that I made some contributions (to the "Java Nation" section) -- but I still count myself an unbiased observor of the rest of the issue, which I was seeing for the first time. That's what really impresses me.

The organizing forces behind Java Magazine are Senior Managing Editor Caroline Kvitka and Oracle Technology Network leader Justin Kestelyn. For issue 2 (the first issue came out around the time of Java 7's release), they've put together a selection of news items and technical articles that covers the breadth of the Java realm (from mobile devices to the enterprise), and also speaks to the broad range of Java/JVM developers (from beginners to highly-experienced architects). The November-December 2011 Java Magazine is only 58 pages long (PDF), but it's chock full of substantive content.

A quick look at the roster of authors and the articles they contributed illustrates my point:

  • Philip J. Gill writes about the start-up dooApp, which is applying JavaFX technology to support the work of green building professionals;
  • David Baum writes about "Austria's E-Health System: Driven by Java";
  • Michael Kolling instructs beginners on how to use Greenfoot to create their first interactive computer game;
  • JUG-AFRICAfounder Max Bonbhel provides an "Introduction to RESTful Web Services (Part 2)";
  • Michael Huettermann illustrates "Agile ALM (Application Life Management) for Java Developers";
  • Winston Prakash and Susan Duncan present "Understanding the Hudson Plug-in Development Framework: Part I";
  • Michael Meloan interviews Nandini Ramani about the key features of JavaFX 2.0 in "Shock the Senses";
  • Simon Ritter investigates "JavaFX and Swing Integration";
  • James L. Weaver demonstrates "Using Transitions for Animation in JavaFX 2.0";
  • Adam Bien shares his knowledge and experience with "Stress Testing Java EE 6 Applications";
  • Vikram Goyal talks about "Getting Started with GameCanvas and the Mobile Sensor API";
  • London Java Community leaders Benjamin J. Evans and Martijn Verburg provide "Tips about how and why to choose a non-Java language for your project";
  • Java Language and JVM Spec Lead Alex Buckley talks with Michael Meloan about the 2011 JVM Language Summit and the evolution of the JVM and the Java platform.

Do you see what I mean? No matter what your area of fundamental interest in Java and the JVM is, there's some very interesting content in the Nov-Dec Java Magazine awaiting you. And, beyond your area of fundamental interest, the magazine provides an opportunity to keep up on other regions within the Java/JVM global realm.

I'm quite impressed! (Oh, did I say that already?)

I'm sure some developers had negative thoughts when they first heard about Java Magazine. "Oh, Oracle's making a Java magazine to try to make us like them, and manipulate us into ..." Sure, Java Magazine is a slick publication. But it's also one of the most professionally rendered content-dense developer-centric technology magazines I've ever seen -- and I've been around, subscribing to magazines aimed at software engineers, beyond 3 decades now (I remember the early issues of Byte).

If you're a Java/JVM developer, I don't think it makes sensenot to be a Java Magazine subscriber. As they say, the train has left the station, and in the case of Java Magazine, it's carrying successful Java start-ups, Java Champions, the Spec Leads who are leading Java's forward evolution... Make your own choice, but I'm glad I subscribe. Weblogs

Since my last blog post, several people have posted new blogs:

My previous "State of Java" posts highlighted JUG-AFRICA and the JCP's new openness. In this post, I talk about the new cooperation between JUGs and the JCP, which is exemplified by theAdopt-a-JSRinitiative.

Looking at Java's history, both the JCP and Java User Groups have been around for a very long time. Yet, active engagement between the two has only started to happen now. Why is this the case? Different people will have different opinions. My view is that the new engagement is the result of the perception that had grown over the years that the JCP had become remote from the broader Java developer community, and the desire by both the JCP itself and developers to rectify this situation, for the long-term benefit of the Java ecosystem (which includes the JVM and all languages that run on it).

Adopt A JSR is a project started by Martijn Verburgof the London Java Community:

This program is intended to encourage JUG members to get involved in a Java Specification Request (JSR) and to evangelise that JSR to their JUG and the wider Java community in order to increase grass roots participation.

What are the potential benefits from participation of JUGs in JSRs? The Adopt-a-JSR project cites these advantages:

  • Standards get earlier feedback, leading to more developer friendly APIs
  • Standards get 'end user/developer' expert input
  • Standards get developed faster as we can help with some of the heavy lifting of building Reference Implementations (RI) and Technical Compatibility Kits (TCK)
  • JUGs can help with the management of the open source project that springs up around a JSR (managing mailing lists, triaging issues etc)

In a comment posted to the current poll, which asks "What will be the effect of active participation by Java User Groups in JSRs?", Martijn elaborates on the varied contributions Java User Groups can make to JSRs:

It's not a case of simply throwing numbers of JUG users at a JSR. There are genuine domain experts in JUGs that can server as EG members, skilled developers that can help with RI and TCK implementations and enthusiastic hordes that can help test early versions, give feedback and help deal with project overheads such as mailing lists and issue trackers as well as promoting hte JSR in general.

This brings to my mind the thought that a Java User Group of considerable size is actually a microcosm of the overall Java community. Even a smaller JUG likely has domain experts who could provide valuable contributions to a specific JSR related to their area of expertise.

Martijn's "help deal with project overheads" comment is especially pertinent given the mandated new openness in the JCP, which in practice results in enormously increased comments posted to JSRs by the developer community. JSR tech leads cannot possibly simultaneously read and respond to the flood of comments and also advance the JSR toward its primary objectives.

It's a new world for Java, and that new world is well reflected in what's happening community-wise for Java today. The new cooperation and engagement between the JCP and Java User Groups is a very important development for the long term future of Java, in my opinion.

This post concludes my presention of "The State of Java" from the community perspective. The other posts in this part of the series were:

Next, I'll look at the current state of Java with respect to stewardship. Weblogs

Since my last blog post, many people have posted new blogs.


Our current poll asks "What will be the effect of active participation by Java User Groups in JSRs?". Voting will be open until Friday, November 25.


Our latest article is Sanjay Dasgupta's VisualLangLab - Grammar without Tears. Sanjay's next article will be live on shortly.

Java News

Here are the stories we've recently featured in our Java news section: next week's DEVOXX conference, Henrik St the Monday keynote at JavaOne 2011, I attended a panel session titled "JCP and the Developer Community." I noted a simple statistic at the time, and this still signifies for me how the relationship of the JCP to the broader Java community is changing. The stat? The first 19 minutes of the one-hour session consisted of a brief presentation by JCP Chair Patrick Curran and introductory statements by the rest of the panel. That was the end of the formal segment; the remaining 41 minutes of the session were open floor!

The panel consisted of:

Heather VanCura, JCP Program Manager, was originally scheduled to be on the panel, but she stayed in the audience, letting Bruno be part in the panel instead. Both Bruno and Martijn are leaders of Java User Groups that are now members of the JCP's Standard/Enterprise Edition Executive Committee, having won election this past May.

The description of the session in the JavaOne 2011 Content Catalog ends with:

Bring your questions, suggestions, and concerns. Your active participation in the advancement of the Java platform is encouraged. JCP executive committee members, Java Champions, and JUG leaders engage with the audience and the JCP chair during a panel discussion/community brainstorm on how to influence the development of Java technologies through JCP program participation.

The session definitely delivered on that promise.

JSR 348 ( is the organizing structure for the changes in the JCP that are currently taking place. Patrick Curran summed up the new direction by saying that, basically, going forward everything must be public (see his recent blog, No more smoke-filled rooms).

This is an excellent objective. But, there are problems. How do you unwind more than a decade of established procedures, complicated licenses, and habits when it comes to managing JSRs? What about different management styles of individuals and teams that lead JSRs? How do you get everyone on board with the newly required openness? And what about all the legal issues?

What's being attempted isn't necessarily easy to accomplish; but the effort is certainly laudable, and success would yield considerable long-term benefit of the Java community. Here are some specifics of the newly-mandated openness:

  • JCP Elections - "Meet the Candidates" sessions will be organized when possible;
  • Technology Compatibility Kits (TCKs) - it will be illegal for TCKs to have confidentiality clauses prohibiting public discussion of certain topics;
  • Significantly increased developer involvement in JSRs (see, for example,'s Adopt a JSR project);
  • All developers will be able to see what's happening within any JSR (complete visibility will not be limited to those who have been approved as an expert within the JSR);
  • The JCP's Java Specification Participation Agreement (JSPA), which currently inhibits people from joining the JCP, will be simplified, or perhaps refactored (Martijn), or perhaps a more basic agreement will be created for non-spec leads.

These changes are great for Java and Java developers overall; but they'll put more pressure on JSR spec leads. For example, opening the conversations to all developers can bring thousands of comments that spec leads in the most critical JSRs will have to address. This already happened in some major JSRs that have already adopted a more open approach (for example, JSR 334, Project COIN, led by Joe Darcy).

Despite the problems associated with these changes, the difficulties that accomplishing the objectives will entail, I haven't seen anyone within the JCP or within the developer community expressing opposition to the reform effort. Many developers may not yet know much about the effort, since they habitually ignore almost all JCP-related news. But, as more developers realize they have a voice they couldn't meaningfully exercise previously, some of them will choose to speak up. That's a very good thing for the future of Java and the JVM. The sooner new openness in the Java Community Process is enacted, the better! Weblogs

After my last blog post, Sahoo posted a new blog:


Our current poll asks Is Java losing popularity among developers?. Voting will be open until Friday, November 11.


Our latest article is Sanjay Dasgupta's VisualLangLab - Grammar without Tears.

Java News

Here are the stories we've recently featured in our Java news section:

Subscriptions and Archives: You can subscribe to this blog using the Editor's Blog Feed. You can also subscribe to the Java Today RSS feedand the blogs feed. You can find historical archives of what has appeared the front page of in the home page archive.

-- Kevin Farnham
Twitter: @kevin_farnham

I was fortunate to be able to attend JavaOne this year. There I perceived a new energy, focus, and momentum within the Java community that hasn't been evident in many years. So, at JavaOne, I decided to write a series of blog posts describing what I was seeing. There's a lot to write about, and I'd like to give each element the coverage it deserves, so you can expect this to be a rather long series of blogs. Also, as JavaOne 2011 is fading into the past, and new relevant stuff is happening with each passing week, I won't limit myself to what emerged specifically from JavaOne 2011 in these posts...

Community was a central focus at JavaOne 2011, which like all previous JavaOnes was held in San Francisco, California, US. The Sunday preceding the start of JavaOne proper (keynotes, etc.) was devoted to Java User Groups. The hotels where JavaOne sessions and keynotes were held were not yet open for events other than registration, so "JUG Sunday" took place at Moscone West, about a 20 minute walk from the hotels that hosted the rest of JavaOne. My wife Dale and I walked there to attend Max Bonbhel's session titled "Running a Successful Umbrella JUG or Regional JUG."

I find it amazing to see how technology is transforming Africa. Despite difficulties from transportation to reliable electric power to internet connectivity to voice communication to unstable governments, developers are seeking to organize their efforts, through JUG-AFRICA and similar entities.

In his presentation, Max talked about the difficulties this entails. JUG-AFRICA has been in existence only for a couple years. It now has 5000 members from Java User Groups across 15 countries. Max cited some very practical problems related to organizing an umbrella JUG that spans many different nations. There's the obvious one, language. But, beyond that, he cited different cultures and cultural sensibilities. What's considered an appropriate way to act in one nation may be considered rude or worse in another country. And in Africa, where the nations have historically been more isolated from one another as well as from the more technologically advanced global community, this problem is magnified.

Another major problem: transferring money and materials between countries. JUG-AFRICA has used everything from PayPal to Western Union to bank transfers to hand-carried currency to deliver funds between members. Reliable shipping is a related problem. It's difficult to schedule in advance major events (Java 7 release celebrations, for example), if the arrival of related materials is uncertain.

Java 7 Celebration, Dakar, Senegal

JUG-AFRICA is a service organization in many ways. The lack of reliable internet access in many places across the continent, and the lack of money, limit the possibilities for people who are interested in and would like to become professional developers. JUG-AFRICA addresses these problems by creating tech labs with modern computers and software and good internet connectivity, and hosting events that offer training to new developers, leading to certification. The biggest of these events is the JCertifconference, which this year was held in Brazzaville, Congo in early September.

The last thing Max did at JavaOne was spend a few minutes chatting with me in a videotaped interview:

JCertif 2011featured JCertif University:

JCertif is one of the first conferences in the Central Africa region to teach developers Java programming and the basics of developing on mobile platforms. JCertif offers two tracks featuring training sessions, interactive workshops and demonstrations for developers of all levels. These sessions cover Java EE6, GlassFish- HTML 5 and Android. Registration and participation are free.

Note that last sentence: all of this training is provided for free. JUG-AFRICA is a community of developers helping other developers grow -- which is helping lift an entire continent toward a better life for all of its citizens.

It turns out that Java's evolution has led it into being a platform capable of supporting the type of effort Max Bonbhel, Mamadou Lamine Ba, and other JUG-AFRICA members are leading. That's pretty remarkable! Yes, it's about software development. But it's also about making a better world for the developers, their families, their communities, nations, the entire continent. And, really, more than that: given the economic turmoil elsewhere, vibrant growth in African nations surely will benefit the entire world. Weblogs

Since my last blog post, many people have posted new interesting blogs:

Filter Blog

By date: