Monday Jun 30, 2008

I have been working on Java deployment for more than 2 years, and it always happens that the java.com web site is updated just in time for the JavaOne conference. Last year, we improved the download user experience and slightly rebranded the web site; this time was similar.

Actually, I would be lying if I said that this time was not so different. It was -- we were requested to do more changes in a shorter timeframe than last time. However, we succeeded! The big thanks should go to a lot of people who contributed to this effort, especially to Mary Kawahira, who really made the difference. She was working through nights and days to make this project a great success. 

This time, we rebranded the whole web site and further simplified the download user experience. In addition, we removed distracting things from the user's flow and made some other small tweaks. For those who have never visited java.com or who do not remember the previous design, I enclose screenshots (before & after) of the java.com home page. 

previous design of java.com page Current design of java.com page

There is still a continuous effort to further simplify the download user experience and make the web site more simple and useful.

For those, who have the Deployment Toolkit (part of Java 6 Update 10 release which should be available around September; Beta is already out) installed, the user experience will be further simplified. This simplification is for those who run Windows and is not related just to the download flow, but also to the java.com help pages where we will ensure users get the most appropriate information without any effort. We are going to have a user study for this project this week, so we will know more after that. Meantime, I can share some screenshots of the help pages that users are going to evaluate.

The first image shows the suggested appearance of a new help landing page (current design can be found here),

suggested help landing page

another one shows the suggested appearance of a help page when a category is selected (current design can be found here).

 suggested help page 2

If you have any comments or questions on the design of java.com, please comment on this entry. 

Jindra Dinga improves the deployment experience of Java for both developers and end users.

Tuesday Jun 24, 2008

After more than a year of being in stealth mode, Zembly was launched earlier this month. As the interaction designer on the project, it was fun being part of a talented and driven team to deliver a platform for easily creating and hosting social applications. Using just your browser and your creativity, and working collaboratively with others, Zembly let's you create and publish Facebook apps, Meebo apps, OpenSocial apps, iPhone apps, Google Gadgets, embeddable widgets, and other social applications.

zembly_pic

Zembly provides several features that allow you to get started quickly building social applications. Applications in Zembly consist of widgets, which are reusable pieces of user interface, and services, which are reusable server-side logic that ties everything together. Using just these two concepts, you can create social applications that run in many of the major social networking platforms. You also have access to what other users create on Zembly and the large number of APIs and data from anywhere on the web. These are available contextually from a find & use pallette while you build your application. Results from leading web API providers like Amazon, Flickr, Google, Twitter, and Yahoo appear alongside remixable pieces and parts from other zembly users. Just click to add the line of code that lets you call that provider from your application.

Zembly is in private beta mode and there are still invitations available. Go over to Zembly to know more about the product and to request an invitation. There is also the Zembly blog where you have access to documentation to get you started building widgets and applications. The Zembly team is always looking to improve the product, so your feedback is always welcome. Let us know of your experiences with the product at the Zembly forum or at GetSatisfaction. If you are on twitter and would like to follow Zembly, head over to the Zembly twitter page.

zembly_pic     Prasant Sivadasan is the user experience designer for Zembly

Tuesday Jun 17, 2008

Recently I've been going through some of the tutorials at lynda.com. If you haven't heard of lynda, or haven't checked it out lately, you should take some time and look around the site. There are tutorials for all levels of expertise, and just about any tool you've heard of has been covered.

So far, I've gone through some of the content for Flash and Dreamweaver. Both of these tools have some excellent tutorials, and the presentation is very good. I've found though, that in the attempt to cover these tools comprehensively, I end up skipping around looking for the bits I don't know while trying to skip the bits that I do.

One of the nice things about the site is the way they've organized their content. Each tool has several tutorials aimed at users with different experience levels. For instance, the Flash tutorials focus on Actionscript, Mobile, Illustrator, and Flash in general. In each case, selecting a tutorial gives you a very nice table of contents for that "class". The "chapters" are organized well and generally fit my expectations.

In my case, as I knew very little about flash I chose to start with Flash fundamentals. As I began the tutorial, I quickly figured out I couldn't do these "start-to-finish" like I might normally take a class. What I learned (outside of new bits of Flash goodness) is that the sections for beginners generally cover all of the functionality in the tool, so users who've done work with other similar tools (like MDI based windows) will find these bits are called out and explained in painful detail.

The flip-side to this is that in order to learn something quickly, you need to skip some of the individual sections like "Understanding file types", "Exploring the toolbar" or "Working with ...". For me this was quite frustrating as I typically like to master the basic disciplines (with anything I do) before moving on to the more advanced bits. I'm usually just a little paranoid that I'll miss some tiny, innocuous step that then enables some of the more advanced functions.

What's worked for me here is using a different approach to absorbing the tutorial content. I'll find a section I'm unfamiliar with and start after the bits about "Understanding...", "Exploring...", etc. Usually the "Using..." type sections are just about right. In some cases I've found there's that innocuous bit that I don't know and can't infer from context, and so I'll stop the tutorial I'm running and go back to the section that covers what I missed.

Overall this is a new way of learning for me, somewhat uncomfortable, but none-the-less effective. It seems to take less time to get something new, but it's definitely not a linear learning process. I expect as we become more accustomed to using computer-based training, we'll also start changing the way we learn new things. "Change" still seems to be the only thing that doesn't.

Loren Mack is a design architect in xDesign who creates strategic and tactical designs for the Service Oriented Architecture/Business Integration group at Sun.


Monday Jun 09, 2008

JavaOne 2008 is done...and there are lots of good memories. Jindra and I spent the week learning and practicing our talk, as well as wandering the pavillion and attending sessions. Our slides can be accessed here on the JavaOne Online site (note that you will need to log in as an Sun Developer Network member to view the slides -- registration is free and you won't be spammed so go for it). Also check out the slides for the other User Experience related sessions (TS-6929 Creating a Compelling User Experience, TS-6470 The Layperson’s Guide to Building a Better User Experience, and TS-5500 The Desktop Java Technology Lovers Survival Guide)

Speaking at JavaOne is totally exhilirating. Our session took place in a large room and was well attended. This year's JavaOne enabled folks to "pre-register" for each talk for guaranteed admittance, so we watched the number of prospective attendees grow during the week. In the end, about 600 folks signed up and 500 actually showed up. Neither of us has presented to this large of an audience before (we were really excited last year when our BOF had around 150 people). Since we were both new to delivering a technical session, we went through the material much more quickly than during our rehearsals. Next time we will be better prepared by making sure we have some extra material in case we finish too early -- it's easier to keep talking about stuff than to make things up.

Jeff and Jindra during Q&A

Here is a photo of us during the question and answer period of the talk. We definitely have a bit of that "deer in the headlights" look. One disadvantage of having your talk scheduled on Friday of JavaOne week is that you are nervous with anticipation for pretty much the entire conference. There are certainly benefits to presenting early and getting it "out of the way".

JavaOne attendees have high expectations, and since this year's conference featured a set of good user experience sessions, we were in very good company. Our audience was very supportive and we didn't lose many people after we started talking... If anything, I believe the folks wanted more details than our 101 level talk provided. Once we've reviewed the feedback on our audience response cards, we'll start planning for next year's session and take their comments in to account.

If you have some ideas for user experience topics that would be of interest to the wide range of Java developers who attend JavaOne, we invite you to leave your comments on this blog.

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

Jindra Dinga devotes his time to improving the deployment experience of Java for both developers and end users.

Monday Jun 02, 2008

One of my biggest interests outside work (yes, I do have interests other than cars), is in three-dimensional art. This includes functional pieces like furniture, bowls for serving food, lighting, etc. and also pieces which are just beautiful to gaze at. In fact, the primary thing I do when on trips is to seek out galleries which have such artwork (usually called Crafts) to look at and possibly buy.

It is much harder to find such stores, though, than the multitude of galleries which have only paintings and photographs (two-dimensional art). I also look for museums that have such work, but they can be similarly hard to find. My favorite is the Museum of Modern Art (MOMA) in Manhattan, which has one floor of such work, usually even including at least one particularly inspired automobile.

One trip which my wife Laurie and I took specifically to see such art was the SOFA show in New York City a couple of years ago. SOFA stands for Sculptural Objects and Functional Art, which is just the sort of thing I enjoy. Most of the pieces shown were for sale, but at prices out of my reach. So I settled for taking photos (with permission) which I have now as screen savers and wallpaper on my PC, so I can still at least enjoy them that way. I hope you enjoy them as well.


(These are strips of multicolored metal woven together)

My wife and I enjoyed the show so much that we will be going to the Chicago version of it this November. Yes, November is not the nicest time of year to go to Chicago, but I am told this is an even bigger version of the show we saw in New York City, and is in fact the main show, so we have to go check it out. I'll try to take pictures at it and post them when I get back. If there is interest, I can also post photos of the 3D artwork which my wife and I own and love.

While it is hard to directly apply a lot of the beauty and design in these forms to software design, they are certainly highly inspirational, and at least the creativity and overall beauty can stimulate one to do better virtual-world design as well.

For those of you who find the photos in this blog intriguing, but don't want to travel to Chicago in the winter to see it, I would also strongly recommend the Palo Alto Clay and Glass show July 12 and 13 at the Palo Alto Art Center, 1313 Newell Rd. off Embarcadero.

Chip

Monday May 19, 2008

Designing the main and other primary pages for a site can be quite a challenge. Goals, priorities, and constraints all have to come together to develop a visual design concept for a project. Although you often hear designers complain when there isn't enough input from the sponsors to do their work, it can be just as bad when there's too much input from potentially the wrong stakeholders.

The content and visual design of the site's main page is critical. Within a few seconds of arriving at your site, users will develop a perception and mental model of what they can do and what they can't.

The interaction and visual designer's role in all cases is to gather, assimilate, and put forth a design that meets the desired goals and conveys the desired emotion to the user. Seems straightforward? In a perfect world, stakeholders from marketing, business, and management contribute into the goals and constraints that become the basis for site design. However, what if someone in a role of authority, but the wrong role to provide the information, overrides the information you have already received? This type of situation can be a reset for the designer, and can produce unsatisfactory results. A typical symptom is what I call "design thrashing", where the designer produces wireframe after wireframe, but nothing seems to click.

So how do you fix this situation? The first decision to make is do you continue to engage with the project? Is the situation fixable? If not, it may be best to move on, if possible. If so, it is critical for the designer to get back to basics and provide the leadership needed to nudge the team in the right direction. This is when the designer must open their trusty tool chest.

The first step is to get back to basics. Basics include a complete set of prioritized project and business goals, a profile of typical users (including their goals for coming to your site), and personnas for key user profiles that help bring the user to life. I've also found it useful to not only define what the project "is", but what it "isn't". Where are the boundaries? This should be a group exercise, not the designer going off on his/her own. Be sure that the most appropriate stakeholder(s) lead this effort. The designer's role is to facilitate and produce the artifacts. This shifts ownership of the artifacts to the responsible stakeholder, and makes it more difficult for another stakeholder to redirect the results. Everyone provides input, but at the end of the day, the appropriate stakeholder makes the decision and the team moves on.

Next, it can be useful to identify objects, color palettes, and examples of other sites that help express the "mood" or "emotion" that the site is to portray. Some designers use "mood boards" to narrow down what the team wants. You should obtain the same team buy-in, involvement, and acceptance as in the previous step.

Once you have these artifacts in place, get all the key stakeholders to buy off. This should be a formality. If not, the designer either really didn't have buy-in for the previous steps, or one of the cooks is trying the change the recipe. At this point, you must stop and work this out. If you attempt to proceed, "design thrashing" is in your future. Go back to the appropriate stakeholders. This may be marketing, business unit management, etc., but be sure that the best stakeholder leads the resolution, not you.

Once you have buy-in to the basics, the designer can get back to producing wireframes, visual concepts, etc., and the stakeholders can provide the necessary content. Although it doesn't end here, you are back on your way to a successful engagement.

Monday May 12, 2008

Jakub is a User Researcher in xDesign and works mainly on Java tools. He is pursuing a Ph.D. in Cognitive Psychology.

As a part of my doctoral studies I am teaching a class on Environmental Psychology at Charles University in Prague. This subject fascinates me with its focus on application in the real world. It is not very theoretical and has lots of applications in our everyday life.

Knowledge about humans from another psychological disciplines like cognitive or social psychology as well as from this discipline's own applied research is directly used in architecture, urbanism and environmental design for making environments more friendly to its inhabitants.* Great attention is paid to studying interactions between people and their environment in the real conditions which takes into account the whole complexity of real settings.

Environmental Psychology provides answers to questions such as: How should we plan cities so that people find them as a desired place to live? How should buildings be designed so that people are not getting lost in them? What recreational areas help people to recover from daily stress? What kinds of front gardens discourage burglars from invading the place? How should the lack of privacy in hospitals be compensated without major changes to their current operation? What kinds of maps are really helpful in wayfinding? What office arrangements facilitate productivity best? What classroom arrangement keeps pupils' attention focused on the topic? What personalities finds certain landscapes unforgettable?

Focusing on peoples' needs and using knowledge about them in designing for them rather than taking in account just aesthetics, architectural expertise and superficial economical aspects gradually becomes common practice in urban planning and architecture. This approach does not effect "only" peoples' satisfaction but proves to be highly cost effective. Focusing on design and analysis of people's needs slightly elevates costs in the initial phase, but increased productivity and many other benefits save money in the long run.

Does this sound familiar to you? Yes, there are many many similarities in designing living environments and designing user interfaces for software products.

Hungry for more information? Sign up for my class:) Charles University, Faculty of Arts, room n. 338, every other Thursday at 5pm.

*My class does not focus on ecological preservation as the name could suggest, but on interactions between human and their environment.

Thursday May 08, 2008

Untitled Document

Today I was wandering around the JavaOne pavilion and took pictures of booths that showed stuff xDesign team has been working on. So enjoy! BTW: the pictures are randomly ordered ;-)

Because Sun is not the only one exhibitor in the pavilion, I also took some pictures of booths of other companies.

   

 

by Jindra

Wednesday May 07, 2008

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

It's the second day of JavaOne, and I attended a talk by Ben Galbraith titled Creating a Compelling User Experience. The talk was very well attended and almost filled the 826 person room (and it happens to be the same room that Jindra and I will be presenting in on Friday).

Ben is an entertaining speaker and put together a very slick presentation and demo. He conveyed key items that a developer needs to consider when designing a compelling user experience for their app. The presentation was peppered with quotes from the greats of usability and user experience design, including Alan Cooper, Jef Raskin, Donald Norman and Jakob Nielsen. A few of the points he made stick in my memory, so I'll share them with you:

  • Understand your user, and their expectations
  • Don't let your end user literally design your UI -- base your design on the goals they are trying to achieve
  • Get a visual designer to work with you -- UI design can be likened to fashion design, and you want your app to be "in"
  • Make sure your app is responsive, if the user has to wait more than a second for a response, their mind starts to wander
  • Respect the user's data, that is, don't lose anything the user enters in to the app

He also made some very positive comments about the new Java browser plugin that is included with Java 6 Update 10, and JSR-296 -- the Swing Application Framework. These features enable Java developers to create more responsive applications both in the browser and on the desktop.

Stay tuned... More photos from the show will be posted soon!

Untitled Document

As usual, JavaOne conference starts the second day in the week. The pictures below show a decoration you can see on streets, inside Moscone Center, as well as our friendly staff working at the registration desk.

This day started with James Gosling's talk. Right after him Rich Green came on the stage with his Java + You talk in which he mentioned how important is community and collaboration. During his talk he also showed us a demo of a application written in JavaFX. In addition to this day, the pavilion was open for the first time. On our pod, we showed some cool stuff our team is working as well as gave away some gifts.

 

 

 

by Jindra

Tuesday May 06, 2008

Untitled Document

Today, it was CommunityOne day here at JavaOne. CommunityOne day started with a keynote given by Ian Murdock, who was talking about how Sun participates in open and diverse technology ecosystem; he also invited Jonathan Schwartz on the stage.

Later on, there was a panel talking about pros and cons of various approaches to community building. At the end of the session, Rich Green announced the first release of a new binary distribution of the OpenSolaris, which is now available for free at www.opensolaris.com.

 

 

by Jindra

Thursday May 01, 2008

Rich Burridge is a member of the Accessibility Program Office at Sun Microsystems. In his 21+ years with the company he has had a variety of jobs and is currently helping to develop Orca, a free, open source scriptable screen reader for people who are blind or have low vision. He also has one of the most popular blogs at blogs.sun.com.

As you may know, the Accessibility Program Office at Sun is part of the xDesign group who have the blog you are reading now.

Two of my colleagues in the APO, Peter Korn and Will Walker have accessibility related blogs. I too occasionally post on accessibility related issues in my personal blog, specifically in the accessibility category.

All Sun products should be accessible to people with disabilities. The APO is here to help make sure that happens. It has it's own little spot on the web where you can find lots of useful accessibility related information.

Some suggested links to get you started are:

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.

Wednesday Apr 23, 2008

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

Jindra Dinga devotes his time to improving the deployment experience of Java for both developers and end users.

Jeff and Duke at JavaOne 2007In a couple of weeks, my colleague Jindra and I will be presenting our process for creating a graphical user interface to the developers at JavaOne. In my last entry, I mentioned a set of user experience talks happening at this year's conference. Now I'd like to describe a bit more about how we developed our session and what's in it.

At last year's JavaOne, our merry little band of Java UE designers presented a very basic overview of user experience design best practices at a 9pm BOF. We dutifully put together a presentation with slides covering a variety of things, and cheerfully presented them to the much larger than we expected crowd. We were terribly nervous, but overall the experience was great and the questions were great too. Some months later the survey results came in and they weren't bad, but not great... Most of the comments were asking for more detail and more examples, so we started discussion about this year's presentation with that idea.

Based on the feedback, this year we are going to take a real example and walk through our process with it. Since we only have 50 minutes (and some of that time needs to be available for questions), we will try our best to reach the level of detail our audience desires. JavaOne Speaker

At the beginning of our presentation we will talk about why it is hard to create good GUIs and how important it is to understand the user's tasks and goals. Later on we take the existing command line process for configuring a network interface connection in Solaris (see Project Brussels) and make it over in to a GUI.

Jindra and I have spent years in the user experience field and we know that it's hard to follow an exact process for every project. We also know that making sure our designs work for our customers requires that we adhere to the principles of design, and we want to make sure that the developers out there understand how these principles apply to a real design problem.

If you're planning to be at JavaOne, sign up to come to our session (TS-4968). Also, if you'd like to say hello to some of the contributors to this blog, stop by the User Experience pod near the Spin-the-Wheel Game in Sun Booth at the JavaOne Pavilion.

Monday Apr 21, 2008

Untitled Document

A former colleague pointed me to using Wink freeware, to do capture screenshots and create screencasts. Click the picture to check out a quick demo I created using Wink. Here's the exported PDF of the same session.

Since you can read all the features on their site, here's what's valuable from a UI designer's point of view. I've used Wink as a quick way to capture existing interaction behavior and mock up new interaction behavior to show engineers. It also enables me to take many screenshots as I walk through an interface without interruption! I no longer have to pause after taking each screenshot to save and name it in another application such as Photoshop.

Pros

  • Lightweight and fairly easy to use
  • Captures the context menus and cursor (In My-Old-Screenshotting-Method on Windows, using the " Alt-Print Screen" dismisses the context menu before the screenshot is taken. You can only capture context menus if you capture the entire display with "Print Screen". And either mode does not capture the cursor)
  • Many different types of output - Flash movie, PDF, HTML with a choice of saving images as pngs, bmps, jpg, and more
  • FREE! (vs products like Camtasia)

Cons

  • By default the graphics for callouts and buttons aren't the prettiest. You can create your own custom callouts, but afaik, cannot create custom buttons.
  • Once you define the screenshot area, it's a fixed width and height. So anything that falls outside of that area is chopped off, e.g. dialogs or menus that extend past the area are cut off
  • Doesn't remember user choices well and has some annoying defaults for where it saves files. I've accidentally overwritten files :(

Give it a try! Alas, it's only for Windows and some Linux platforms.

You are browsing the main weblog

Main | Next page »




This blog copyright 2008 by xDesign