NETBEANS PROTOTYPE
USABILITY STUDY
MAY 2002
Initial Questions
1. How
long have you been using Java for?
2. How
frequently do you use Java (e.g. daily, twice a week, weekly...)
3. What
sort of work do you do using Java?
4. What
IDE's do you currently use?
5. How
frequently do you use them? (e.g. Daily, twice a week, weekly...)
6. How
long have you used them for?
7. What
IDE's have you used in the past?
8. How
long did you use those IDE's for?
9. Have
you had any experience with Forte for Java / NetBeans?
Welcome
Congratulations! You've just landed a new
job at Ye Olde Digital Toy Shoppe, a firm that produces entertaining and
educational Java applications for kids. Along with your new computer you've
been given the company's IDE: NetBeans.
Task 1:
Feel free to spend a few moments looking
through the IDE. Please remember to think aloud while you browse.
Task 2:
Time to get going. Please create and run
a simple "Hello World" project. The end result should be a "Hello World"
message printed to the console.
Task 3:
You're seized with a sudden fit of sentimentality,
and decide to save your first Hello World compiled class in a Jar file
as a memento. Before doing so, of course, you have to find the compiled
class file. Please do so.
Questions
-
What did you find difficult about completing this last set
of tasks?
-
What did you find easy about completing this last set of
tasks?
Task 2: Hello World.
Rate your
experience with this task on a scale of 1 to 5 where 1 is Very Difficult
and 5 is Very Easy.
|
1
|
2
|
3
|
4
|
5
|
|
Very Difficult
|
Difficult
|
Neutral
|
Easy
|
Very Easy
|
Task 3: Finding the .class
file.
Rate your
experience with this task on a scale of 1 to 5 where 1 is Very Difficult
and 5 is Very Easy.
|
1
|
2
|
3
|
4
|
5
|
|
Very Difficult
|
Difficult
|
Neutral
|
Easy
|
Very Easy
|
Task
4:
Well, now it's time to do some real work.
You've just received an email saying that one of the Human Factors people
needs a JFrame that shows a list of checkboxes. Fortunately, another developer
has done most of the work; it's in the project, "Fancy ListBox" which is
in C:\Projects. Please open the project. You'll note that it contains two
Java files, one for the frame and one for the renderer.
Task 5:
The Human Factors person tells you that the
developer left a To Do list before going on vacation. Here it is:
-
Put the frame's Java file into package com.yodts.dialogs.
-
Put the renderer's Java file into package com.yodts.renderers.
-
Make the listbox use the renderer.
Please complete the To Do list and then
check to make sure you were successful. Hint: you can complete step 3 by
placing the following line of code in the frame's constructor:
fancyListBox.setCellRenderer(new com.yodts.renderers.CheckBoxCellRenderer());
When you are done, please close the project.
Questions
-
What did you find difficult about completing this last set
of tasks?
-
What did you find easy about completing this last set of
tasks?
Task 4: Opening the project.
Rate your
experience with this task on a scale of 1 to 5 where 1 is Very Difficult
and 5 is Very Easy.
|
1
|
2
|
3
|
4
|
5
|
|
Very Difficult
|
Difficult
|
Neutral
|
Easy
|
Very Easy
|
Task 5: Editing the project.
Rate your
experience with this task on a scale of 1 to 5 where 1 is Very Difficult
and 5 is Very Easy.
|
1
|
2
|
3
|
4
|
5
|
|
Very Difficult
|
Difficult
|
Neutral
|
Easy
|
Very Easy
|
Task
6:
Your manager drops by to chat. She mentions
that you will be working on Java projects as well as C++ projects. So,
all of your future Java projects must go under one project group and all
of your C++ projects must go under another project group. Please create
the project groups, and remember to use them from now on.
Task 7:
Your manager hands you a new assignment and
then runs off to a meeting. The assignment is to modify a Java Hangman
application. The source files are in c:\Hangman. Please create a Hangman
project, get to the sources and make sure the application works.
Task 8:
If you'll notice, the string array "wordlist"
is hard-coded in Hangman.java. You've been asked to change this, so that
"wordlist" is taken from a final class (HangmanDictionary), which is in
c:\jars\dictionary.jar. This class lets you select the difficulty of the
words used. Since this version of the application is meant for younger
children, please use a low setting for the parameter (say, 0). The precise
function you'll need to call is:
String wordlist[] = HangmanDictionary.words(0);
Please rerun your program to make sure it
works.
Questions
-
What did you find difficult about completing this last set
of tasks?
-
What did you find easy about completing this last set of
tasks?
Task 6: Creating the project
groups.
Rate your
experience with this task on a scale of 1 to 5 where 1 is Very Difficult
and 5 is Very Easy.
|
1
|
2
|
3
|
4
|
5
|
|
Very Difficult
|
Difficult
|
Neutral
|
Easy
|
Very Easy
|
Task 7: Opening the Hangman
sources.
Rate your
experience with this task on a scale of 1 to 5 where 1 is Very Difficult
and 5 is Very Easy.
|
1
|
2
|
3
|
4
|
5
|
|
Very Difficult
|
Difficult
|
Neutral
|
Easy
|
Very Easy
|
Task 8: Using dictionary.jar.
Rate your
experience with this task on a scale of 1 to 5 where 1 is Very Difficult
and 5 is Very Easy.
|
1
|
2
|
3
|
4
|
5
|
|
Very Difficult
|
Difficult
|
Neutral
|
Easy
|
Very Easy
|
Task
9:
After coming back from lunch you find an
email from your manager telling you that you'll also be responsible for
working on the project that produced dictionary.jar. You realize this has
an interesting implication for your Hangman project. Namely, every time
you build your Hangman project, you'll want your dictionary project to
be automatically built as well, so that your Hangman project has the most
up-to-date dictionary.jar.
Unfortunately, we can't show you this capability:
it hasn't been implemented yet. However, we would like to ask you a couple
questions about how you think it might work:
-
How do you think you would go about expressing this dependency? In other
words, what steps do you think you would take in the IDE to ensure that
the dictionary project gets built whenever the Hangman project is built?
-
Where in the IDE do you think this dependency would be displayed and edited?
Task 10:
Now that you're done working on your Hangman
project, please close it.
Uh oh! It seems you jumped the gun. Your
manager has just walked in and wants to see your work. Please reopen your
Hangman project.
Task 11:
Your manager looks over your work and then
asks you to switch your project into the Physical view. Please do so.
There's not much functionality implemented
in the physical view, but we'd like to ask you some questions about it.
-
What do you think the purpose of this view is? In other words, what is
it telling you?
-
Is there any functionality that you would expect to be in this view that
would not be in the Logical view (or vice versa)?
-
Do you think you would eventually end up working more with this view, or
with the Logical view that you worked with throughout these tasks?
Task 12:
As you're getting ready to go home for the
night, your manager tells you that you won't be working on Java projects
after all; you'll only be working on C++ projects. So, please close all
of your Java projects and your Java projects group. Good night!
Final Questions
-
How does the project system that you have used today, compare
with those of other IDE's that you have used?
-
Please make specific comparisions to other IDE's that you
have used in the past.
NB / FFJ Users Only:
-
Having used this prototype of the Projects system today,
how do you feel it compares to the current way of organizing your files
in NetBeans or Forte for Java?