Wednesday Jun 03, 2009

Deploying Java and JavaFX Consumer Applications

Jeff Hoffman

Jeff Hoffman is the lead user experience designer for Java Standard Edition.

JavaOne 2009 is here...

Last night the entire user experience team on Java and JavaFX gathered to discuss what we do with some of the attendees at our Birds-of-a-Feather (BOF) session.

Tonight, we have a second BOF that is focused on deploying consumer applications through the web using Java and JavaFX.  For those interested, the slide presentation is available here.

Now it's back to the show...

Friday Dec 05, 2008

Friday Fun with JavaFX

One of the -very- interesting things about working with JavaFX is that it gives us the ability to build applets (or widgets, if you will) that live in the browser, but can be "torn out" of the browser and plopped into the desktop. Here is a picture of me draging one of the FX samples out of the browser and on to my desktop.

[Use IE7+ and FF3+ and visit the dragable MP3 player sample or  this sample]


Its a very interesting exercise to think of the apps that you are building, and see what this would do for you. Perhaps it lets you build a website and get a desktop version for free. If you were building twitter :), your users could come to, drag the client on to their desktops and now they  have a running instance of a  desktop client. Nice! One thing I would love to get is a little ink dropper like gadget that I could drag to any part of my screen to get a color value. 

As a potential end-user I also like that I can go to some page of my bookmarked widgets and tear away the ones I want for that day or that session.

 As a designer, its really something fun to play with and imagine. What are you building these days, and if it could live on the browser or on the desktop, what cool things would that do for you? What new apps do you think should get built leveraging this capability, to make our lives easier and our fun funner :)><br /></p> 
  <p> </p>

    <div class=

Permanent link to this entry | Comments [3]

Sunday Nov 16, 2008

Software Design and Entertainment Value

Jeff HoffmanJeff Hoffman is the lead user experience designer working on Java Standard Edition and JavaFX. He's been designing both consumer and developer oriented products since before the boom.

Last night I went to the movies with some friends.  We saw Changeling, a powerful piece set in late 1920's Los Angeles about a woman whose little boy disappears.  Afterwards I started thinking about the parallels between movie making and software design.  I feel that software applications can be designed so that the user enjoys the experience, even if they are performing work-related tasks. 

movie tixGoing to see a movie in a theater is an experience that you expect to enjoy.  Your choice of movie will definitely affect the result,  but in general, it's a time that you are socializing with friends, eating junk food and kicking back to watch a story unfold on the screen.  No matter what kind of story (suspense, horror, comedy, drama), you are going to the movie to gain entertainment value. Similarly, starting up computer software is an action that you perform to gain value. It could be starting up your browser to check online e-mail, or bringing up a spreadsheet program to analyze your financials.

Certainly there are detractors to seeing a movie in a theater (and hence the popularity of home theater systems, which have their own issues as well).  There are the expected issues such as finding the theater, securing a parking space and waiting in line to buy tickets.  Then there are the unexpected problems like denial of your credit card, the movie you wanted to see has sold out and the person in front of you with the annoyingly bright mobile device. On the software side, there are lots of things that interfere with the achievement of the your desired goal and enjoyment of it's use. Examples include poor performance, confusing instructions, unexpected errors and inaccurate results. How often do you select an action that you think will do what you want, only to find out that it doesn't, and it takes minutes (or longer) for you to return to productivity? 

clapperAfter we've gotten past all the expectations and disappointments, we consider how the movie is crafted.  Since it's telling a story, the movie needs a beginning, a middle and an end.  The beginning sets up the characters, time and location.  It gives you just enough context to understand what comes next (usually, though there are exceptions like Memento).  The middle of the movie is where all the really interesting stuff happens.  And the end of the movie is where everything is neatly tied together (though explicit loose ends are kept around for possible sequels).  This way you can go home with the whole story, and you feel complete.

You can think about software in a similar way.  When you start a piece of software, it should provide you with the appropriate context to begin performing tasks that will achieve your goal.  This can be an obvious "Start Here" action, or a workspace that contains items of interest.  For example, if you're creating a home movie to share with folks, you might want a timeline, a way to get at your video clips and a place to see your interim results.  Once the context is set, you can begin the real creative work, for example arranging clips, adding transitions and titles and adjusting the sound levels.  At the end of this process, you're ready to share your work, so you package it up neatly and post it on your website.  You now feel as though you've completed your goal, and you are happy.

Save the Date
As we're in the final throws toward releasing JavaFX, I have realized that the entertainment value of this platform is going to be a key to its success.  An effort that my team and I have been spending a lot of time on has been designing sample applications to show off the capabilities of JavaFX 1.0 (along with the unbelievably productive Josh Marinacci).   Each of these samples needs to tell a story and must have an easy to understand beginning, middle and end.  Developers rely on the samples to get started, and to help them reach their goal of creating a compelling application.

So keep on the lookout for the launch of JavaFX 1.0, and check out the gallery of sample applications.  We hope that they will educate, as well as provide some entertainment value!

Wednesday Aug 20, 2008

JavaFX Project Nile Screencast

Jeff HoffmanJeff Hoffman is a senior user experience designer working on JavaFX. He's been designing both consumer and developer oriented products since before the boom.

Check out my debut screencast!

I introduce Project Nile, which is a piece of the JavaFX story.  I then describe how it integrates a couple of well known designer tools (Photoshop and Illustrator) with the NetBeans JavaFX developer tools.  

Project Nile, like the rest of JavaFX, is currently in its Preview release, so I encourage you to try it out and post your feedback on the Project Nile forum.


You can see this and other screencasts on the NetBeans.TV site.


Wednesday Aug 06, 2008

JavaFX Preview Release

Jeff HoffmanJeff Hoffman is the lead user experience designer working on Java Standard Edition and JavaFX. He's been designing both consumer and developer oriented products since before the boom.

Sun has released the preview version of the JavaFX SDK. JavaFX is a client scripting technology for creating rich Internet applications (RIAs) with immersive media and content across the multiple screens of your life (that currently means the web and Windows/Mac OS X desktops, but will soon include mobile and TV as well).  You can create applications that look like these:

StockWatcher (JavaFX Sample App) 

JavaFX Clock Sample

The xDesign team has been involved in creating the developer network website that you can check out here. We have also worked with numerous writers and engineers on tutorials and samples to show off some of the great features of JavaFX.

Of course, you'll need to have the Java runtime on your system, and the beta of our upcoming Java 6 Update 10 release can be downloaded from here (click on the first orange button labelled JRE 6 Update 10 Beta). And we've already blogged about our involvement in this release.

If you're a blogaholic, then click on over to the JavaFX Blog for lots of interesting stuff.


xDesign is a software user experience design group at Sun.
Follow us on Twitter : Flickr : Blog (see feeds below)


« July 2016