Monday Dec 17, 2007

Design and the Installer

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

Anant Kartik Mithal, Ph.D. is the Director of xDesign (Software User Experience Design Group) at Sun Microsystems.

I recently spoke with Kartik Mithal, Director of xDesign about the reasons behind the success of the New Solaris Installer.

Nalini: The redesign of the Solaris installer has received wildly positive reviews, both from within Sun and, most important, from our customers. Can you tell me what made the redesign such a success?

Kartik: What was so important in this instance was looking at the complexity of the existing Solaris installation and:

1) Figuring out how to get the team to understand that the designers understand the complexity; and

2) Breaking up the design process into pieces that the engineering team could handle and get on board with.

In other words, you need to earn credibility with the team. The team needs to understand that you know where they’re coming from and the challenges in what they’re currently working with. And you need to figure out the path of least resistance. At the same time, you need to make it something that fits together. The user doesn’t and shouldn’t see the challenge in installation. There’s a lot of planning to make it that way for the user, to plan around the "gotchas."

Nalini: Can you say more about how designers, such as Frank, can get teams to believe that they understand the complexity?

Kartik: So if you sit down and design an installer, often the engineering team looks at the proposal and says "Yeah, we can’t do that. You’re so completely unfamiliar with what we’re grappling with that it’s not useful for us to talk to you." What designers like Frank do is go into the installation process and understand — it does this, it does that, you can do this at this point. You basically build a flowchart and say this is what’s happening now and this is what it’s doing. For example, suppose you want to have a GUI-based install, but you need to have a window manager running in order to get the GUI install to work. The designer needs to know as the installer is chugging along that this is the capacity of an installer at any given point. My understanding is that Frank put together a flowchart that helped him understand the process, and the installation team could look at it and say "He really understands what we’re doing." And that’s the really important part — gaining credibility with the team.

Nalini: You also mentioned the importance of creating a design that can be broken down into pieces that the engineering team can get behind.

Kartik: Yes, for me, the other big thing that Frank did is chunk the project in a meaningful way, working with the team to break it down for implementation and in meaningful chunks.

Nalini: You’ve talked about the importance of the designer’s credibility with the engineering team. What about the engineering team’s role in making this redesign such a success?

Kartik: The biggest thing the team needs is to want to make the usability improvement, and, in this case, the team really wanted to fix it. They could see similar installers – Linux, Windows, Mac – that were much smoother than ours. Frank did a lot of comparative analysis of what’s out there, and he presented it to the team. The team’s role was in accepting the design early on, giving Frank feedback and working with his prototype like bats out of hell and basically implementing in a really short amount of time.

Shortly after Frank had done the prototype, he could point and say this is running code. The team also split things up so that the GUI part was built separately from the infrastructure part. There was a point that Frank would run the GUI, it would say something like "install on this disk," and it would pretend to install. It freed up both pieces so that the people focusing on the GUI could move as fast as they needed and the people working on infrastructure could move as fast as they needed. And they came together when they needed to connect.

Nalini: So xDesign does redesigns quite often. What makes this instance exceptional?

Kartik: What's unique about this situation is the Solaris installer itself; getting Solaris to have a nice graphic bootable boot-up. There are systems that haven't been reviewed for a long time. You make some decisions about what the software can do, and then you layer on more decisions, and then you end up with this gnarly piece of code that is doing a whole bunch of things you want it to and some you don’t, but fixing it means fixing a whole bunch of code. And people don’t want to do that.

We put designers like Frank on this so that they can go and work with the team to pull the whole thing apart and redesign it in a way that solves both the code/architectural problems, as well as the user experience/design problem.

In this instance, the correct answer for the user is really obvious: should I install or not? But we ended up before with an installer that asked lots of questions. It’s easy to conceptualize the answer, but it’s hard to figure out how to get to the answer, figuring out how get from here to there.

That's the thing that I value most in this design. Not the actual design – it’s excellent, of course – but it's getting to the pieces that then fit together that is the rocket science.

Nalini: What would need to be in place to replicate this kind of design success?

Kartik: First, you need a problem with the original amount of gnarliness. We know we have the same problem in some of our software. We were in a situation that we had a bunch of gnarly code, and it would scare people. Everyone knew what the right answer was, but how do we get there? Everyone needs to agree that the problem needs to be solved.

When designers go into work with teams that are not familiar with them, they have to establish credibility at two levels. First, that the designers can design. Frank established this through his prototype. Second, that the designer can understand the problem. In this instance, understanding how the installer worked, documenting, doing competitive analysis and being able to say that other products handle something a different way. Designers go into teams that have been doing that job for many years, and designers need to establish, as quickly as possible, that you have the design chops and the credibility as people who can understand their problem space. Frank was able to do that.

Tuesday Nov 27, 2007

The New Solaris Installer team wins an award

In September we posted an interview with Frank Ludolph describing his work on the New Solaris Installer (NSI). Well, since its release, feedback on the NSI has been phenomenal both inside and outside of Sun. In the past, Solaris had been described as a headache to install. With the NSI, "Solaris can now be installed by mere mortals". In fact, the NSI team won a "People's Choice Award for Collaboration" -- a prestigious award given once a quarter to a deserving team in Sun Software.

Congratulations to the NSI team!

Monday Sep 24, 2007

The New Solaris Installer (NSI):
Installation Made Easy

Jen McGinn is an interaction designer in xDesign who enjoys creating new things, and then writing about them.

Frank Ludolph is an interaction designer in xDesign with more than 30 years of experience in user interface design and development.

At the end of August, I spoke with Frank Ludolph, the Senior Interaction Designer responsible for greatly simplifying the user experience of installing and upgrading the Solaris operating system.

Jen: Frank, what was the impetus behind the new Solaris installer (NSI)?

Frank: A lot of people find Solaris hard to install. The installer asks a lot of questions that many users don't know how to answer. The first time I tried to install Solaris on my laptop, it took me four tries to successfully install. And the installer had the old 1990's Motif look. The underlying architecture of the software showed through too much as well. For example, system configuration was separate from the installer, so before the installer ran, it asked the user a large number of configuration questions and then threw away the answers when the user was upgrading rather than installing. With the release of Solaris on x86, which broadened the target audience to developers in addition to system administrators, installation needed to be better and easier.

We decided to replace the old installer. The UI team reviewed a number of current operating system installers, both proprietary (Mac OS X and Windows) and open source (SUSE, Fedora, Ubuntu). We decided the goal of the installer should be to do minimal configuration during install; just enough to get you up and running following reboot. During installation, you'd only be asked to choose the installation target, set the clock, assign a root password, set up a user account (so you don't have to log in as root), and specify the language support to be installed. Any specialized configurations, which relatively few users needed, could be done by after the reboot. A new Solaris feature, Network Auto-Magic (NWAM), allowed us to drop network configuration questions because it automatically configures the wired and wireless network connections when the newly installed system is booted.

We then created an interactive UI mock-up that targeted both desktop and enterprise users. This mock-up was used during early engineering discussions when the functionality and architecture were being developed. But we estimated that it would take at least a year to fully implement the new installer. Too long.

Then Solaris Express Developer Edition (SXDE), a fast-moving project targeted at developers, appeared. This project had fewer functional requirements than on the full installer and allowed for a phased implementation of the installer.

In the first phase, guided by our earlier studies, we just cut a lot of questions and screens out of the old installer by choosing defaults appropriate for our target users. The SXDE installer would install developer tools, Sun Studio and NetBeans, and add them to the Launch menu. When the system started up, it automatically configured network connections and greeted users with a web page with developer-specific help. The installer wasn't pretty -- the flow wasn't as smooth as it might be and the visuals were dated, but it was much easier for developers, the target audience of the product, to get a developer desktop up and running.

The second phase of the new Solaris installer, Dwarf, has a modern, branded graphical appearance and a user experience that is the equal to any of today's installers. It still has plumbing from the old installer underneath, but the team worked very hard so that the graphical user interface masks the old architectural underpinnings. The architecture itself will be addressed in the third phase of implementation, named Slim. Future phases will add the support needed by enterprises. When that is complete the old installer can be retired.

Jen: So a little over a year ago, you were working on writing the branded interaction guidelines for system startup, and I was leading the team to write the branded guidelines for install -- I love how I'm seeing convergence between the Solaris installer and the OpenDS installer and the OpenInstaller, as a result.

Frank: Also with respect to consistency in the user experience, the GNOME desktop is themed, and because the Sun theme, Nimbus, is the default on Solaris, the installer picks it up. As a result, the look and feel are consistent from installation through to the desktop experience.

Jen: So what's the coolest thing about the new Solaris installer?

Frank: It has a modern look-and-feel, new users are successful, and the short, six-month SXDE release cycle gives us the opportunity to get feedback quickly from our target audience and make it even better.

Monday Jul 30, 2007

Blogging by Design

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.


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


« June 2016