Monday Apr 28, 2008

Jiri Mzourek is a senior manager in xDesign, responsible for Sun Developer Products and SOA/BI. In his spare time, he evangelizes usability in the Czech Republic by organizing SIGCHI meetings, World Usability Day, and working closely with the Czech Technical University on usability and accessibility related projects.

Exciting news!!!

Have you ever dreamed of developing an accessible Swing GUI the easy way? Stop dreaming and checkout the new NetBeans a11y plugin!

Let's start from the beginning:

The xDesign team in Prague has a long history of cooperation with our local Czech Technical University in Prague, Department of Computer Science and Engineering. For example, together we built the first usability lab in our region, organized a local World Usability Day, and ran Czech SIGCHI. The last 12 months we also cooperated on the a11y plugin for NetBeans. The main goal for this plugin was to allow Java developers without any special knowledge of accessibility to develop accessible Swing GUIs in NetBeans.

After a year we are proud to announce the availability of version 1.0 (for NetBeans 6.0 and 6.1)!

How you can use it:

1) If you don't have it already, get NetBeans 6.0 or 6.1 from www.netbeans.org.

2) Download the a11y plugin from a11y.netbeans.org , or use the AutoUpdate (Beta) functionality built into NetBeans. If you downloaded it manually, once you're running NetBeans, from the pull-down menus go to Tools -> Plugins, select the "Downloaded" tab, and click on the "Add Plugins" button; then browse your disk for the downloaded plugin (nbm file) and select it.

3) Now, start the NetBeans GUI Builder (for example add a new JFrame file into an existing Java project.)

4) Go to the Window menu and select "A11Y Result Window". That's it!

plugin

Now, when you edit the GUI it will automatically be checked for accessibility. The findings will be sorted into 3 categories (Errors, Warnings and Infos), which will be described and also will have a suggestions on how to fix them. By double clicking on the findings, you accept the suggested fix (for example, double clicking a "Name" error would add an appropriate accessible name). More details (for example checking of tab-traversal) is described in the documentation.

Enjoy!

Many thanks from all of us to the Sun External Research Office for their financial support, Tomas Pavek (NetBeans engineering manager) for technical support, Max Sauer and Martin Novak - who wore two hats during the process (Sun QE and CTU students) and for their contributions and cooperation with all of the other CTU students.

Monday Apr 07, 2008

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

Springtime is in the air! The flowers are blooming and the trees are sprouting branches. Along with nature's beauty all around us, it's a sign that we're getting closer to a special time of year for Java developers...JavaOne!

I've been attending this show since 1999 and have always been amazed at the array of Java development related topics -- except for putting good user experience design practices to work for your applications. Sure, there are always wonderful discussions about adding fun visual effects like animations, reflections and transparency to help make your application stand out from the crowd. But developers have deeper questions -- like how to make an application work the way their users expect.

JavaOne SpeakerI'm very excited to report that the 2008 JavaOne show (May 6-9 at Moscone Center, San Francisco) will include at least four technical sessions focused on user experience. There are also a whole bunch of sessions on the latest fun stuff you can do with Java 2D and 3D Graphics, Swing, JavaFX Script and more. I'll be holding a session along with my xDesign colleague Jindra Dinga called Designing GUIs 101 (TS-4968) where we will use an end-to-end example to illustrate our straight forward, repeatable process for designing GUIs that meet the user's needs effectively and efficiently.

Our talk will cover the important phases of a good design process:

  1. Discovering the User's Goals and Tasks
  2. Gathering Requirements
  3. Defining the Task Flow
  4. Designing the GUI
  5. Gathering Feedback

And how we apply these practices when we are designing a specific feature (based on a current command line interface) within a GUI desktop tool. I'll be writing more about our technical session in the weeks right before JavaOne.

To round out this "mini-track" of User Experience sessions, I've discovered three talks from folks who (like me) are interested in enhancing the user's experience with software and are spreading the word about how to make sure it is properly considered during development. They are:

Looking forward to seeing you at the show!

Friday Nov 30, 2007

Really, I want to know, so I'm taking a page out of Mary Mary's play book and offering you something in return. I want to hear what your best user experience has ever been with a product, service, or technology. You get to choose, just keep it rated "G". I will select my favorite submission, and in return, happily give you some of my prized Sun tchatchki ... I have a lot of it, because I've been here for nearly 12 years :) The picture below just has what I could grab in 30 seconds in my office.



Here's how it will work. You write to me (jenm at sun dot com), and briefly describe your best user experience with a consumer product, purchase, health care visit, or anything that describes an experience where you felt like, "Wow ... all [things like this] ought to be this fun or easy." I'll choose my favorite response, and in return I'll mail you an item from the picture above -- just tell me what you'd like the most. Here are the cool things up for grabs:

  • A Jini champagne flute
  • A real Java ring
  • Lapel pins, featuring one of: Duke & Java, Jini & the lamp, 100% pure Java, Sun World Cup 1994, Happy 10th Birthday Java.
  • A watch: either a ladies' Sun watch or a mens' java.rmi watch featuring Duke
  • AnAmazing Adventures of Duke comic book from 1996, 16 pages
  • A Duke for President poster
  • A Duke for President magnet (that looks like a bumper sticker)
  • A set of 3 (yes, 3!) Sun stickers with the tag lines, "When in doubt, share." "On the path less traveled, there are a lot fewer ruts." and "The road to innovation isn't paved at all."
  • A 100% Pure Java keychain

So, send me mail. Let me know what your best user experience has been, and with your permission, I'll share it next week. With the holiday season upon us (choose whichever holiday suits you :), I'll keep asking questions, and offering up up new stuff.

Jen McGinn is an interaction designer in xDesign who is working to improve the user experience with software installation and registration. She has an MS in Human Factors in Information Design and works out of Sun's campus in Massachusetts.

Thursday Sep 27, 2007

Jeff Hoffman has been designing developer and consumer software at Sun since before the boom.

Pop Quiz: What is the application, delivered by Sun, that is most used by people around the globe?

Answer:

There are about 1 million successful installations of Java every day using the Java installer (the installer is just needed for the Windows platform, because Java is already included with Solaris and many Linux distributions, and Apple provides their own Java installer). With all those eyes on it, the installer design receives a lot of attention. The Java installation process may be the first experience that a customer has with Sun and we do our best to make this experience simple, fast, and aesthetically pleasing.

From the user's perspective, the installation process usually starts at a third-party website, which needs the latest Java version to run an applet. The applet could be a game (pogo.com), a map locator (map24.com), or the virtual view of a cruise ship cabin (princess.com). The Java installation experience presents a unique challenge for Sun -- we wanted to make this experience positive for the end user, while providing brand recognition for both Sun and the applet's provider.

Let's have a look at the old installation experience:

The user starts at a third-party website by clicking the "Get Java" graphic which leads to the download and enables them to install the latest version of the Java runtime environment. This download page is simple and straight forward, containing a single button to begin downloading the Java software. The default "automatic" installation process from Internet Explorer involves downloading a small application, which launches the Java installer UI and then continues to download the files that contain the Java runtime environment.

This installer design attempted to reduce the number of panels by putting more "decision points" on a panel -- for example, the initial panel had three purposes:

  1. confirm that Java was to be installed
  2. Display the license agreement and get the user to agree
  3. Provide typical and custom option radio buttons

The design placed too much information on a single installer panel making it appear complicated to the typical consumer. Other installer panels were not visually attractive due to spacing and alignment issues.

We had a couple goals for our redesign of the Java 5.0 installer. The first goal was to keep the number of steps to a minimum, making sure that each step had only one necessary decision point. While creating the current design, the challenge of incorporating the variability (when the user will see a third party offer, does the user have to restart their browser) meant that we had to spec out the various paths and ensure that they made sense. Also de-emphasizing the "custom" install options was necessary.

The second goal was to manage the changing nature of the steps. Our installer has the capability of offering third-party bundled software, such as the Google toolbar. This offer is only shown if the user does not currently have the offered software, or if they have an outdated version. The design of these optional panels needed to be modular so that they would not disrupt the flow of the installation process.

So now lets look at the new Java installer design:

The first panel of the Java installer UI confirms that the user is installing Java, and gives them pointers to important information like our privacy policy and license agreement.

It's still possible for a more advanced user to customize parameters of the install, but since this level of control is not necessary for most users, this feature is not checked by default and placed out of the main control flow. A single click on the first installer panel both accepts the license agreement and continues the installation of Java.

A second panel may appear, offering the user a bundled installation (for example, the Google toolbar).

The next panel (not shown here) shows the progress of the installation process and a message to reinforce the Java brand. When the installation completes, the user is shown the last panel of the installer, which confirms that the Java software was installed without incident. On this last panel, the user may see a checkbox to restart their web browser.

These improvements are already available in the latest release of Java 6. If you want to know about other improvements that have been made in the Java installation and deployment arena, keep a look out for a future blog entry.

Wednesday Aug 01, 2007

Jiri Mzourek is a senior manager in xDesign, responsible for Sun Developer Products and SOA/BI. In his spare time, he evangelizes usability in the Czech Republic by organizing SIGCHI meetings, World Usability Day, and working closely with the Czech Technical University on usability and accessibility related projects.

In May of 2006 Jan Rojcek began a redesign of the netbeans.org web site based on the results of some out-of-the-box usability tests that we'd conducted. You can find one example of the test on our opensource website ui.netbeans.org.

The main issues were:
  • The design didn't work well for a new visitor (potential user)
  • To see a NetBeans screenshot, a visitor had to select the correct link from the 42 available links on the home page, and 38 links on NetBeans product page
  • A visitor had the same problem (choosing the right link from 42 or 38) when trying to get to a comprehensive feature description
  • There were 4 pages describing what NetBeans was (First time here?, IDE, Switch, About)
  • Download took at least 3 well-aimed clicks
  • Usability study findings:
    • 3 participants (out of 8) couldn't find how much NetBeans cost!
    • 5 participants reported missing screen shots and too much text on the web site
    • 3 participants reported they had to browse too many pages to find basic information

With this (scary) list of issues, Jano got a "go" to go ahead with the redesign.

He worked with the stakeholders (NetBeans engineering, marketing and webteam) to agree on the main goals of the redesign:

  • New visitor (potential user – not currently using NetBeans) is our primary target
  • Make the basics clear
    • “What is it NetBeans?”
    • “How much does it cost?”
    • “What is so good about it?”
    • “Why should I start to use it?”
  • Make download straightforward
  • Make NetBeans.org more attractive
The redesign was focused on the homepage, product page, download page, docs and support page.

Jano created the first sketch of the new homepage:

He sent it to Leos Tronicek (a visual designer), who created two options:

Stakeholders picked the blue one. So Jano, Josef Holy (another interaction designer) and the NetBeans web team fine tuned that one and created a prototype, which was put on staging server.

So, what was next? Of course, Jano wanted to make sure the redesign met the design goals, so he created a script for a second usability study, which was then conducted in September 2006 by Jakub Franc (a user researcher) and Josef Holy. Sorry, that test report is not public, but here is a list of the main issues found with this design for the homepage:

  • The upper banner with the main download button seemed to be ignored by significant number of participants.
  • A majority of participants complained that information on the homepage did not inform them about NetBeans sufficiently. They expected "short", "summarized", "introductory", "high level" information about the product.

Based on those results, Jano polished the design:


The new website was launched on October 30, 2006, on schedule.

For NetBeans 6.0 there will be couple of new changes, driven mainly by simplified NetBeans packaging and download. We'll get rid of the whole "Add-on" section which will mean updating the layout of the whole front page. Details are still TBD.


Monday Jul 30, 2007

Nalini Kotamraju is a user researcher in xDesign, and a PhD in Sociology. She has a penchant for research methods and telling it exactly like it is.

Recently, I had a conversation with Anant Kartik Mithal, who is Director of xDesign (Software Experience Group) at Sun Microsystems, Inc. xDesign provides a wide range of design services for Sun's software products including visual and motion-graphic design, interaction design, usability reviews, user research, web development and assistance with accessibility compliance.

Nalini: Why launch Design@Sun, a blog by and about Sun's Software User Experience Group (xDesign)?

Kartik: xDesign does an incredible amount of absolutely fascinating design work. As I spend time talking to all kinds of people across Sun — designers, engineers, managers — I listen to the problems they're trying to solve, and the problems are simply fascinating. I think a lot of people inside and outside of Sun would be interested in them. It’s interesting to understand what problems people are solving and how everyone solves them differently. And it’s fascinating to see how people think through the solution process. Look at the design for Solaris’ start-up, for example. I would have done it differently. It’s wonderful to see an absolutely fantastic design that’s different than what I might have done. And the same goes for the work in the Tools space, in the Web Admin space.

Nalini: What kind of problems and solutions will Design@Sun cover?

Kartik: The designers in xDesign, for example, are looking at how we can turn Solaris into a modern operating system and what that means. How can we get the Solaris start-up experience to be fun? Something like start-up poses an interesting design issue. It’s something a user has to go through; it's not something the user necessarily wants to go through. This kind of design problem that’s a little different than those users encounter when executing tasks. If I’m using JavaFX to create an animation, I’m actually getting work done. But if I'm doing start-up and install, these are wasted steps. So how can you make them interesting for users? How can you give the user something back while they're happening? If you take our individual software products, they’re all very different. What we’re trying to do is be as similar as possible across our products. So if you learn to use one of them, you can learn to use all of them. That’s something we achieved in the productivity apps a long time ago, and we’re doing it in the admin apps now.

Nalini: What will people get from Design@Sun?

Kartik: We hope to share with our readers a bunch of interesting problems that Sun is trying to solve. A lot of our stuff is open source so people can follow along as it shows up and comment if interested. Sun is all about making our customers more successful and more productive. And design is all about supporting that.

Also, one of the things that some people have lost sight of is that Sun invests a great deal in its user experience. Whether it’s the hardware or the software. It’s very important to us. It’s very important to us that administrators are able to assemble and disassemble systems as easily as possible. That system administrators are productive with Solaris. That developers are productive with NetBeans. That everyone is productive with StarOffice. We want everyone to be productive.

We were at CHI this year, as we are most years. I was a little shocked when a few people came up to me and said that they didn’t know that Sun had HCI (human-computer interaction) professionals. Very prominent people in the field of HCI work at Sun. Sun has been very active in this field, and maybe this blog can provide people with a better idea of what Sun is doing in design and user experience.

This blog copyright 2008 by xDesign