Monthly Archive for March, 2012

Java desktop links of the week, March 26

Welcome folks to another weekly roundup. Keep up the great work everyone! :-)

JavaFX

Swing

Miscellaneous

  • Josh Marinacci has split out his AppBundler project out into its own Github repository. AppBundler is an Ant task for packaging up desktop Java apps as native executables. He mentioned to me that he is on the lookout for contributors who could help with JavaFX, OpenJDK embedding,  and Linux support.

For the next two weeks I’ll be in Japan, but these posts will be continuing thanks to a guest poster I’ll introduce next week.

Hugues Johnson

Java desktop links of the week, March 19

Welcome to yet another week of Java desktop links. I hope you’re all doing well, and that you find something of interest in this weeks roundup.

Miscellaneous

  • Ok, normally miscellaneous goes at the bottom, but I didn’t want you to miss this one. The JavaOne call for papers has opened up, and closes mid-April. It is time to get your sessions submitted! Hopefully I’ll get to go along again and will see you all there again (and continue the tradition of the Java Desktop lunch).

JavaFX

  • It’s not until late April, but you’re not going to want to miss the introduction to the JavaFX Scene Builder tool, being given by Nicolas Lorain (PM for JavaFX) and Jasper Potts (Developer Experience Architect for JavaFX). This is at the Silicon Valley JavaFX User Group, but as always you can attend virtually and join in the live webcast.
  • Michael Heinrichs, a developer in the JavaFX team at Oracle, has explored the JavaFX CSS functionality, something he admits he was not involved in developing, and comes away pleasantly surprised by how well it works. Considering this is something my team ‘owns’, I’m very pleased he is happy (but all praise should be directed at David Grieve, the long-standing owner of all CSS functionality in JavaFX).
  • Kumanivasar Srin has posted a JEP over at the OpenJDK to add support into Java to make it support loading JavaFX applications without any special compilation needed. This would be a great thing to get into Java in my humble opinion.
  • Willy Raharjo has posted two blog posts about JavaFX and Slackware. The first post is a tutorial on running JavaFX apps on top of Slackware. The second post discusses integrating JavaFX into Netbeans on top of Slackware.
  • PFGrid has released a first version of their (commercial) PFGrid FX toolkit, which at this stage contains just one control: a ‘rotator’ control.
  • I did a blog post over at FX Experience introducing the new ComboBox control in JavaFX 2.1. In general it should be a very useful control in your toolbox.

That’s that for this week. Catch you again next week.

 

 

Java desktop links of the week, March 12

<warm-welcome />

JavaFX

Swing

  • Gerrit Grunwald has released an updated version of his SteelSeries Swing library, taking the version number up to 3.9.23. This release includes improvements to the LCD component.
  • Christoph Aschwanden let me know about his Java-based game ‘Operation Stormfront‘. He said the following: “Tropical Stormfront is a real-time strategy game for PC, Mac & Linux. The game is played on tropical archipelagos. Tropical Stormfront is written in Java (JRE 6) and runs in a JFrame. The interface/graphics are rendered in OpenGL, so I am not sure if it qualifies for your desktop links as it doesn’t really contain any Swing/JavaFX components besides the JFrame it is running :-) ” It’s Java, and it is on the desktop – so that is good enough for me Christoph! :-)

<best-wishes />

Java desktop links of the week, March 5

Hey everyone, I hope you’re all doing fine. Here’s another bunch of links. Enjoy! :-)

JavaFX

Swing

  • Danno Ferrin has announced the release of Insubstantial 7.1, his fork of the abandoned Substance (and related) releases once developed by Kirill Grouchnikov. The major user facing change in this release is the support of rounded corners in the window frames.

Griffon

  • Griffon 0.9.5-rc1 has been released. This release improves the build and plugin systems, adds support for SWT applications, and includes a number of breaking changes, among other changes.

That’s that. Catch you next week!

UI Oddities #3 – Google Calendar

It’s been a very long time since I did a UI oddity post. I actually do spot them fairly regularly, but I’m usually pressed for time and never get around to it. Fortunately, right now I have an annoying UI feature in front of me and I have time to post about it. Observe the screenshot below (and ignore the fact my Google+ life appears fairly well dead).

The top-right corner of my Google Calendar window

I don’t want to give Google a hard time as they have highly skilled developers and designers, and with the volume of data they get this is probably on purpose. However, try answering the following questions:

  1. Which button do you click if you want to print the page?
  2. Which button do you click if you want to go to the calendar settings dialog?
  3. Which button do you click if you want to change the display density of the calendar?
  4. Which button do you click if you want help with using the calendar?
  5. Which button do you click to refresh the calendar?

Here’s the answers:

  • Print and Refresh are both in the More menu.
  • The display density setting is in the bottom cog menu.
  • The calendar settings dialog and calendar help system can be found in the top cog menu.

Maybe it is just me, but because I don’t use the Google Calendar app overly frequently, I always find myself going between all three buttons until I eventually find the one I want. Intuitively, for me anyway, I would prefer a different layout that would make much more sense to me. I would offer the user the ability to learn that the top cog is only ever related to ‘me as a cross-property Google user’, and is never related to a specific Google application. I would then have a separate, ‘in-app’ cog that the user can learn only ever relates to the application they are currently in. The cog as a symbol for configuration works very well, and should be used in all applications consistently.

More concretely, I would put the calendar settings in the bottom cog, and possibly even the calendar help, although I’m not convinced help is in the right place in either cog (and should probably be in its own button to help total newbies to get started). I would then consider the most important links that should be consistently displayed to the user regardless of their domain, and put it in the top cog. However, given a little bit of mouse clicking, you can actually already find a perfect rendition of this menu by clicking on either the email address or the small user image. This suggests that there may actually be no use case for the top cog at all, and perhaps a tiny amount of screen real estate can be freed up. You can see this menu in the screenshot below (and behold the wonder that is me pretending to be a photographer).

The global Google action menu

The only question is if the links in the popup menu are the most important ones, and to me it would seem that they are. So, perhaps there is no need for the top cog at all.

With respect to the ‘More’ button in the first image, I find it confusing, and would rename it to ‘Actions’. This is because it isn’t clear to me at all what ‘more’ is in the button. Based on its placement, I could very easily conclude that it is more calendar layouts (following on from day, week, month, and ‘4 Days’), despite the small space between the two buttons. To me, ‘Actions’ makes far more sense – this is the place to go for various actions I can perform upon the calendar, such as printing and refreshing.

Anyway, these are all just my thoughts based on the frustration of the top image button layout. The suggested changes are the result of no real consideration, and I will wait patiently as Google ignore me (due to their massive volumes of design and data arguing against my point). But who knows, maybe one day I’ll visit my barely used calendar to find everything I want on the first click. That would make me happy :-)

About

Jonathan Giles is a 29 year old software engineer living in Palmerston North, New Zealand. He holds a Bachelor of Engineering Honours in Software Engineering, a Masters of Science in Computer Science, and is a Sun certified Java programmer. Jonathan specialises in Java, Swing, JavaFX and Client-Server development.

He is currently the tech lead at Oracle in the JavaFX UI controls team, and a Java evangelist. He also blogs over at the FX Experience blog. Obviously, the opinions expressed here are his own.

Contact

Email:   Here
NZ:   +64 22 1985 001
Twitter:   JonathanGiles
LinkedIn:   My Profile
Google+:   +JonathanGiles
Skype:   Skype Me